web-dev-qa-db-ja.com

Google翻訳-テキストの一部の翻訳を無効にする

私はブログの投稿を作成するための管理ページに取り組んでいます。フランス語のテキストエリアと英語のテキストエリアがあります。そこで、自分で翻訳できない人のために、「グーグルで翻訳」ボタンを作成しました。

<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?"

15
pmrotule

文字列の一部を翻訳から保護するには、特定のクラス値を持つ<span>タグでそれらをラップします(説明されているように ここ ):

<span class="notranslate">[bold]</span>

例: http://goo.gl/9JkhA

また、Google Translate APIは、少額の料金(100万文字あたり$ 20)を支払ってもかまわない場合に、より柔軟性を提供します。

17
Shervin

Notranslateクラスを追加するだけですclass="notranslate"必要な場所で、Google翻訳者はそれに触れないでください.. https://cloud.google.com/translate/v2/faq#technical

5
Makarand Mane