2013-08-19 49 views
0

使用下面的代碼,試圖轉換輸入到HTML輸入字段,它似乎並沒有工作:如何使用谷歌翻譯的HTML輸入元素

<body> 
<div id="google_translate_element"></div> 
<script type="text/javascript"> 
    function googleTranslateElementInit() { 
     new google.translate.TranslateElement({ 
      pageLanguage: 'en', 
      includedLanguages: 'en,ja', 
      autoDisplay: false, 
      layout: google.translate.TranslateElement.InlineLayout.SIMPLE 
     }, 'google_translate_element'); 
    } 
</script> 
<script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script> 
<form> 
    First Name: <input type="text" id="firstName" /> 
    Last Name: <input type="text" id="lastName" /> 
</form> 
</body> 
</html> 

頁面的內容被翻譯OK,但不輸入字段中的值。看了this解決方案建議,但我無法使其工作。如何將值放入要翻譯的輸入字段中?

回答

1

通讀谷歌翻譯API here,但我也會嘗試和解釋一下。

首先,Google API需要每個查詢都有一個註冊密鑰。查看API頁面,瞭解如何對關鍵字進行aqcuire。

接下來,如果你看看API頁面,它會給你一個默認的網址來查詢是這樣的:從英語

https://www.googleapis.com/language/translate/v2?{paramaters} 

一個例子來翻譯「你好」,以西班牙語爲:

https://www.googleapis.com/language/translate/v2?key={INSERT-YOUR-KEY}&source=en&target=es&q=hello 

要傳遞來自表單的輸入,您需要使用PHP將您的信息插入到您的Google翻譯查詢字符串中。

希望這會有所幫助!

+0

@Cameronn,不幸的是,這將不適合我,因爲我的工作無法支付服務費用。謝謝你的提示。 – Mark

0

我做了這樣的事情。它適用於我。我沒有使用任何API。

創建輸入這樣的方案:

<value for="1" style="display:none">Asia,Southern Asia</value> 
<input contenteditable="true" name="1" type="text" placeholder="Asia,Southern Asia" value="Asia,Southern Asia"> 

翻譯與谷歌的網頁翻譯插件。然後,調用這個函數

function translateInput(){ 
    for(i=0; i<$('input').length; i++){ 
      $('input').eq(i).val($('value').eq(i).text()); 
    } 
} 
0

讓我給你一個更簡單的解決方案

HTML

$(document).ready(function(){ 
 
    
 
    
 
function googleTranslateElementInit() { 
 
    new google.translate.TranslateElement({pageLanguage: 'ar', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element'); 
 
} 
 

 

 

 

 
$('#confirmTraslate').click(function(){ 
 

 
    $('.translated-element').each(function(){ 
 
     id=$(this).data('label-for'); 
 
     $('#'+id).val($(this).text()); 
 
    }); 
 

 
}); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script> 
 
       <div id="google_translate_element"></div> 
 

 
<div class="form-group"> 
 
           <label>Address</label> 
 
           <input class="form-control" id="consignee_address_line1" name="consignee_address_line1" value="القطيف - حي الشاطي 
 
شارع ابي ذر الغفاريالقطيفSaudi Arabia" type="text"> 
 
           <label class="translated-element" data-label-for="consignee_address_line1">القطيف - حي الشاطي 
 
شارع ابي ذر الغفاريالقطيفSaudi Arabia</label> 
 
          </div>