2

進行中の Web サイト開発プロジェクトでは、次のように、html スパン タグと css を使用して、特定の表示テキスト領域のすべての「o」文字を赤色にスタイル設定します。

Questi<span class="redcharacter">o</span>n.
.redcharacter { color: red; }

問題は、ウェブサイトに追加した Google ウェブサイト トランスレータを使用すると、span タグが単語を分割し、Google が単語全体ではなく個別の部分を翻訳することです (「Questi」を 1 つの単語として、「o」を 1 つの単語として) 、および「n」を 1 語として)。

私の質問は次のとおり です。「Google Web サイト翻訳者」に単語全体を翻訳させ、個々の文字のスタイルを設定させる方法はありますか?

私はこれまでに(運がなければ)試しました:

  1. 個々のキャラクターをスタイリングする他の方法を探しています。
  2. 翻訳の前にスパンタグを削除できるように、Google翻訳のJavaScript関数に「フック」する方法を探しています。テキスト自体の翻訳が機能する限り、翻訳されたページで個々の文字のスタイルを設定しなくてもかまいません。

事前に感謝します。この素晴らしいウェブサイトに感謝します。最近、非常に役に立ちました。

編集: これは、ページに「Google ウェブサイト翻訳者」を含めるために使用するコードです。

<script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
<script>function googleTranslateElementInit() {
new google.translate.TranslateElement({pageLanguage: 'en', autoDisplay: false}, 'google_translate_element');}</script>
<div id="google_translate_element"></div>
4

2 に答える 2

1

まだ利用できないので:nth-letter()(しかし、来ると聞きました)、クライアント側のスクリプトを使用してすべてのoを赤に着色し、翻訳が完了した後に必ず起動します。

ちらつくかもしれませんが、余分なマークアップ(トランスレータを壊す)なしで(まだ)cssで個々のキャラクターをターゲットにする方法はありません。

これは参考のために超大ざっぱな噂のサイトです:)

于 2012-06-29T15:06:30.133 に答える
1

JavaScript の innerHTML プロパティを使用してテキストエリア内のテキストを取得し、出現するすべて<span class="redcharacter">o</span>の文字を o だけに置き換えることができます。次に、そのテキストを送信して翻訳してもらいます。

function translate(){
    text = document.getElementById('myTxtArea').innerHTML;
    parsedText = text.replace("<span class="redcharacter">o</span>","o");
    // send parsedText to Google Translate...
    // do something with what is returned
}

そんな感じ。

編集: 新しい詳細に照らして。私の最初の推奨事項は、単語とその翻訳を送受信する別の手段を Google で探すことです。あなたにいくらかの自由を与えるもの。コードを見ると、translate.google.com のボックスのコピーをあなたのページに埋め込んでいるようです。

それでもうまくいかない場合は、ソース コードへのリンクをたどって、そこにあるコードを自分のファイルにコピーしてください。そのコードを変更して (読み方がややこしいです)、サイトに挿入します。

于 2012-06-29T13:41:51.920 に答える