2

私はアマチュアのコーダーで、小さな問題があります。

私の目標は、2 つのボタンで 1 つのテキスト入力を行うことです。

  • 最初のボタンは、SundayMorning という Javascript を使用して、テキストを (中国語に) 翻訳します。
  • 2 番目のボタンは、テキストを URL に送信します。URl では、中国語のテキストを GBK2312 文字セットでエンコードする必要があります。

見つかったさまざまなコードをダクトテープでまとめて、現在の結果にしました。SundayMorning Javascript の扱いが難しいため、私の解決策は 2 つの入力ボックスを用意することで、2 つ目は非表示にします。

現在、これは機能しません:

  • 何を試しても、GBK2312 で中国語をエンコードできません。
  • おまけの難問: 2 番目のボックスでは、入力した文字を 1 文字ずつコピーしますが、Javascript が返す中国語の翻訳はコピーしません。

ジャンキーなアマチュア コードで申し訳ありません。親切な提案があれば、より賢い人たちに任せます。

<head>   
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" /> 
<script type='text/javascript' Src='https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js'> 
</script> 

///THIS JS TRANSLATES THE TEXT INLINE  
<script
     type="text/javascript"
     src="jquery.sundaymorning.js"> 
</script> 
<script type="text/javascript"> 
    $(function() {
            $('#example3').sundayMorningReset();
        $('#example3 input[type=image]').click(function(evt) {
            $.sundayMorning(
                $('#example3 input[type=text]').val(),{source:'en', destination:'ZH', menuLeft:evt.pageX, menuTop:evt.pageY},function(response) {$('#example3 input[type=text]').val(response.translation);});});});
        </script> 
///

///THIS PUTS THE CONTENT OF THE TRANSLATION BOX INTO THE SUBMISSION BOX 
<script type="text/javascript"> 
$(document).ready(function(){
var $url = $("#url");
$("#track").keyup(function() {
    $url.val(this.value);});
$("#track").blur(function() {
    $url.val(this.value);});});
</script> 

///THIS PUTS THE CONTENT OF THE SUBMISSION INSIDE A URL 
<SCRIPT type="text/javascript"> 
function goToPage(url)
{
var initial = "http://example.com/";
var extension = ".html";  
document.something.action=initial+url+extension;
}
</SCRIPT> 

</head> 
<body> 

<div id="featured"> 
<div id="example3"> 
        <input type="text" name="track" id="track" value="" class="box"onkeydown="javascript:if (event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {document.getElementById('mama').click();}};"/> 
        <input type="image" src="http://taobaofieldguide.com/images/orange-translate-button.png" id="searchsubmit" value="Translate" class="btn" /> 
</div> 

<FORM name="something" method="post" onsubmit="goToPage(this.url.value);"> 
<input type="text" id="url";> 
<INPUT type="submit" id="mama" value="GO"  > 
</FORM>    
</div> 

</body> 
4

1 に答える 1

0

jQuery プラグインは、古いバージョンの Google Translate API を使用しているようです。

SundayMorning Web サイト ( http://sundaymorning.jaysalvat.com/ ) で、次のエラー メッセージが表示されます。

翻訳エラー: 翻訳 v2 を使用してください。http://code.google.com/apis/language/translate/overview.htmlをご覧 ください

v1 の代わりに Google 翻訳 v2 を使用するには、おそらく Translate API キーにサインアップしてコードを更新するか、「すぐに使える」新しいライブラリを見つける必要があります。

于 2012-01-18T07:05:53.250 に答える