2017-09-22 129 views
4

我試圖在我的網站實施谷歌音譯。它正在支持所有支持的印度語言。但是,當我選擇英語時,它會顯示一些錯誤,如'targetLangCode array'中的不支持的語言。請幫我解決這個問題。 這是我的代碼:谷歌翻譯默認語言

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
<script type="text/javascript" src="https://www.google.com/jsapi"></script> 
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-alpha1/jquery.js"></script> 
<script type="text/javascript" src="jquery-2.2.3.min.js"></script> 
<script> 
    google.load("elements", "1", { 
     packages: "transliteration" 
    }); 
</script> 
</head> 
<body> 
<select id="languageOptions"> 
<option value="English">English</option> 
<option value="Unicode">Unicode</option> 
</select> 

<select name="langpair" style="height:32px; padding:0; display:none" id="langpair" size="1"> 

    <option value="HINDI" selected>Hindi</option> 
    <option value="BENGALI">BENGALI</option> 
    <option value="TELUGU">Telugu</option> 
    <option value="MARATHI">Marathi</option> 
    <option value="TAMIL">Tamil</option> 
    <option value="URDU">Urdu</option> 
    <option value="KANNADA">Kannada</option> 
    <option value="GUJARATI">Gujarati</option> 
    <option value="MALAYALAM">Malayalam</option> 
    <option value="PUNJABI">PUNJABI</option> 
    <option value="SANSKRIT">SANSKRIT</option> 
    <option value="NEPALI">Nepali</option> 
    <option value="ARABIC">Arabic</option> 
    <option value="SINDHI">Sindhi</option> 
</select> 
<br/> 

<textarea class="form-control" maxlength="160" id="message" name="message" rows="3" placeholder="Message"></textarea> 
<hr> 

<br/> 
<script> 
$('#languageOptions).change(function() { 
if($(this).val() == 'Unicode') { 
$('#langpair').css('display', 'inline-block'); 
} 
else { 
$('#langpair').css('display', 'none'); 
} 
)}; 
    var options = { 
     shortcutKey: 'ctrl+g', 
     transliterationEnabled: true, 
     sourceLanguage: 'en', 
     destinationLanguage: ['hi'], 
     }; 
     var control = new google.elements.transliteration.TransliterationControl(options); 
     control.makeTransliteratable(['message']); 

     $("#langpair").change(function() { 

     var data = this.value; 

     var destinationLanguage = google.elements.transliteration.LanguageCode[data]; 
     control.setLanguagePair('en', destinationLanguage); 
     }); 

</script> 
</body> 
</html> 

我怎麼可以設置默認語言設置爲「英語」。我試圖將sourceLanguage和destinationLanguage更改爲其他語言及其工作。但是如果destinationLanguage設置爲'en',那麼它顯示錯誤。

+0

什麼預計'在傳遞給'新google.elements.transliteration.TransliterationControl()''options'對象'destinationLanguage'屬性設置爲值'[ '或']的結果? – guest271314

+0

這只是一個例子(將英語轉換爲Oriya)並需要更改。所以我把它改爲'en'英文。但它不起作用 – geeth

+0

你在本地嘗試代碼嗎? jQuery是否定義? – guest271314

回答

1

您的代碼失敗,因爲您無法使源語言和目標語言相同。將英文音譯爲英文是沒有意義的。它不是一個有效的對

確切的錯誤是

不支持sourceLanguage & TARGETLANGUAGE對:sourceLanguage:EN TARGETLANGUAGE:恩

默認的源語言是英語,你不必設置它。來自官方文檔

sourceLanguage是一個必填字符串,它使用LanguageCode枚舉指定源語言(如google.elements.transliteration.ENGLISH中所述)。目前,英語是唯一支持的源語言。

而你設置目標語言默認only.So你必須選擇一個印第安語爲默認的HTML您可以通過添加選擇屬性選項標籤做到這一點。

​​
+0

謝謝Shyam。它的工作現在。要在英文和其他語言之間切換,shortcutKey選項就在那裏。 – geeth

+0

但我需要英語作爲默認語言。有沒有可能 – geeth

+0

我對代碼做了一些修改。按照您的建議,默認語言設置爲印地語。但現在我有一個選擇英文或Unicode選項的下拉菜單。如果我選擇Unicode,則會出現帶區域語言的下拉菜單。在這種情況下,我需要將英語設置爲我的默認選項。可能嗎 ? – geeth