web-dev-qa-db-ja.com

Googleウェブサイト翻訳者の自動表示モード

私は自分のウェブサイトにグーグルウェブサイト翻訳者を含めようとしています。ブラウザの言語がページの言語と異なる場合にバーが表示されるように、自動化を使用したいと思います。自動表示モードを選択するたびに、表示されるコードは「タブ付き」用です。誰かが私が間違っていることを教えてもらえますか、または正しいコードを提供できますか?

前もって感謝します。

編集:

<div id="google_translate_element"></div>
<script type="text/javascript">
    function googleTranslateElementInit() {
        new google.translate.TranslateElement({pageLanguage: 'en', layout:     google.translate.TranslateElement.FloatPosition.TOP_LEFT},     'google_translate_element');
    }
</script>
<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
10
user2532030

AutoDisplayが機能しなかった理由、つまり翻訳メニューが常に表示された理由を理解しようとしたところ、W3C国際化チェッカーが見つかりました: http://validator.w3.org/i18n-checker/

W3C国際化チェッカーは、Acceptヘッダーが返されることを警告しました:Accept-Language:en-US、en; q = 0.8

私が最初にサイトファイルに貼り付けたGoogleによって生成されたコードには、ページの言語をチェックするための1つの値しかありませんでした。しかし、私はそれを編集し、以下を参照して、配列をpageLanguageキーに渡し、現在は機能していると思います。

<div id="google_translate_element"></div>
<script type="text/javascript">
    function googleTranslateElementInit() {
        new google.translate.TranslateElement({pageLanguage: ['en', 'en-us'], autoDisplay: false, multilanguagePage: true, gaTrack: true, gaId: 'UA-403844-8'}, 'google_translate_element');
    }
</script>
<script type="text/javascript" src="http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

Google Chromeの言語設定を変更して、できる限りテストを実行しました。しかし、私はそれが機能しているとは完全には信じていません。翻訳メニューは、ブラウザでenまたはen-USが設定されていない人に表示されるはずです。アレイに任意の言語を渡して、ニーズに合わせて適切に構成できます。

誰かがこれについてフィードバックを持っているなら、私はそれをいただければ幸いです。それが役に立てば幸い。

2
podoglyph

私はここで別の例を見ました:

ユーザーの優先言語とGoogle翻訳を自動的に検出

これにはパラメータautoDisplayがありました:false、

サイトの言語が一致しない場合に翻訳バーのみを取得するには、コンテナーを削除し、autoDisplayを使用しました:true、

別の言語の場合はバーが表示されますが、ドロップダウンはありません。

2
gm-sb
<div id="google_translate_element"></div><script type="text/javascript">
function googleTranslateElementInit() {
  new google.translate.TranslateElement({pageLanguage: 'id', includedLanguages: 'id', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element');
}
</script><script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
1
jeffrey

翻訳者の自動機能のためのグーグルのコード検索がどのように壊れているのかおかしいですね。 Rincewindレベルで何度も繰り返してみましたWizardカスタムセットアップを行う必要がありますが、デフォルトは私のWebサイトのデザインに合わないタブ付き関数でした。

これは英語のサイト用です。バーが表示されないサイトのデフォルト言語の言語コードを変更してください。使用していない場合は、トラッキングを削除してください。

<!-- <div id="google_translate_element"></div> -->
<script type="text/javascript">
    function googleTranslateElementInit() {
        new google.translate.TranslateElement({
        pageLanguage: 'en', 
        autoDisplay: true,
        layout: google.translate.TranslateElement.InlineLayout.SIMPLE, 
        gaTrack: true, gaId: 'UA-xxxxxx-x'
        }, 'google_translate_element');
    }
</script>
<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
0
Fiasco Labs
<div id="google_translate_element"></div><script type="text/javascript">
function googleTranslateElementInit() {
  new google.translate.TranslateElement({pageLanguage: 'en', autoDisplay: false}, 'google_translate_element');
}
</script><script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
0
user7491434

ページがユーザーのページと異なる場合にのみトランスレータを表示するには、サーバー側でチェックを行い、必要な場合にのみコードを含めます。

ブラウザ言語の取得 を参照してください

URLが正しくありません。 「http:」を追加します。以下の作業例を参照してください。

<div id="google_translate_element"></div>

<script type="text/javascript">

function googleTranslateElementInit() {
  new google.translate.TranslateElement({pageLanguage: 'en',
    layout: google.translate.TranslateElement.FloatPosition.TOP_LEFT},
    'google_translate_element');
}

</script>

<script type="text/javascript" src="http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
0
Dan Grahn