私はブログの投稿を作成するための管理ページに取り組んでいます。フランス語のテキストエリアと英語のテキストエリアがあります。そこで、自分で翻訳できない人のために、「グーグルで翻訳」ボタンを作成しました。
<a id="tr_textefr" href="http://translate.google.fr/#fr/en/" target="_blank">
Traduire avec Google</a>
そして私のフランス語のtextareaにはonkeyupと呼ばれるjavascript関数があります:
function translate(what){
var button = "tr_" + what;
var textarea = document.getElementById(what);
var google = "http://translate.google.fr/#fr/en/" + textarea.value;
document.getElementById(button).setAttribute('href', google);
}
たとえば、「Voulez-vous coucher avec moi ce soir?」と書くと、「 http://translate.google.fr/#fr/en/Voulez-vous 」のhref属性が変更されます。 = coucher avec moi ce soir? "。リンクは私のテキストの翻訳版にリダイレクトされます(グーグル翻訳による)。
ちなみに、このコードは正常に機能します。問題は、テキスト内に「Voulez-vous [b] coucher [/ b] avec moi ce soir?」というbbcodeが含まれている可能性があるということです。
それで、グーグル翻訳でいくつかの単語や文の翻訳を無効にする方法はありますか?たとえば、2つの@の間の単語を翻訳したくありません: "Voulez-vous @ [b] @ coucher @ [/ b] @ avec moi ce soir?"
文字列の一部を翻訳から保護するには、特定のクラス値を持つ<span>
タグでそれらをラップします(説明されているように ここ ):
<span class="notranslate">[bold]</span>
また、Google Translate APIは、少額の料金(100万文字あたり$ 20)を支払ってもかまわない場合に、より柔軟性を提供します。
Notranslateクラスを追加するだけですclass="notranslate"
必要な場所で、Google翻訳者はそれに触れないでください.. https://cloud.google.com/translate/v2/faq#technical