新しいGoogle Chrome自動翻訳機能は、いずれかのアプリケーション内の1ページで作動します。この特定のページに移動するたびに、Chromeは、ページがデンマーク語であり、翻訳を提案していることを通知します。このページは、アプリ内の他のすべてのページと同じように英語です。この特定のページは、英語のラベルが付いた数十個のフォームフィールドがある内部テストページです。 Chromeがこのページをデンマーク語と考える理由がわかりません。
この言語検出機能がどのように機能し、ページがデンマーク語であるとChromeが考えている原因を特定する方法について、誰かが洞察を持っていますか?
以下を使用してください。
<meta charset="UTF-8">
<meta name="google" content="notranslate">
<meta http-equiv="Content-Language" content="en">
それがうまくいかない場合は、いつでも非表示のdivにたくさんのテキスト(「About」ページなど)を配置できます。それはSEOにも役立つかもしれません。
EDIT(および詳細)
OPはChromeについて尋ねているので、 Googleの推奨 が上に投稿されています。他のブラウザでこれを実現するには、一般に3つの方法があります。
W3C推奨:htmlタグでlang
および/またはxml:lang
属性を使用します。
<html lang="en" xml:lang="en" xmlns= "http://www.w3.org/1999/xhtml">
Googleの推奨事項:meta http-equiv
(上記のとおり):
<meta http-equiv="Content-Language" content="en">
HTTPヘッダーを使用します( ブラウザ間の認識テスト に基づいて推奨されません):
HTTP/1.1 200 OK Date: Wed, 05 Nov 2003 10:46:04 GMT Content-Type: text/html; charset=iso-8859-1 Content-Language: en
Chromeを完全に終了して再起動し、変更が検出されたことを確認します。 Chromeは、タブの更新時に常に新しいメタタグを取得するとは限りません。
Chromiumはこのページをフィリピン語で考えています: http://www.reyalvarado.com/portfolio/cuba/ 注:ページにはほとんどテキストがありません所有者の名前とメニュー項目を除きます。メニュー項目は、FLIRによって画像に動的に置き換えられます。
HTMLは、ページを米国英語として宣言します。
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">
テキストが何であるかを知らずに、おそらくあなたのページのコンテンツによってngramの検出がだまされています。
http://googleresearch.blogspot.com/2006/08/all-our-n-gram-are-belong-to-you.html
lang="en"
をdoctype宣言に追加し、charset utf-8およびContent-LangaugeのメタタグをHTMLヘッダーに追加し、charsetをutf-8として、Content-Languageをen
としてHTTP応答ヘッダーに追加しましたChromeが私のページがポルトガル語であることを宣言するのを止めることはできませんでした。問題を修正した唯一のことは、これをHTMLヘッダーに追加することでした。
<meta name="google" content="notranslate">
しかし今では、明らかに英語のページを自分の言語に翻訳することをユーザーに禁止しています。悪い仕事、Chrome。あなたはこれよりも良いことができます。
ドキュメントのデフォルト言語を指定し、次のように要素/コンテナごとに translate属性 およびGoogleのnotranslate
クラスを使用します。
<html lang="en">
...
<span><a href="#" translate="no" class="notranslate">English</a></span>
説明:
受け入れられた回答は包括的な解決策を示していますが、バグを修正し、 ページが翻訳可能のままである を保証できる要素ごとの言語の指定方法については触れていません。
なぜこれが良いのですか?これにより、Googleの国際化に協力するのではなく、停止します。 OPに戻る:
Chromeがページが異なる言語であると誤って判断し、翻訳を提案するのはなぜですか?
Answer:Googleは国際化を支援しようとしていますが、これが失敗する理由を理解する必要があります。 NinjaCat's answerから構築し、Google reads and predictsN-gram algorithm -を使用してあなたのウェブサイトの言語を仮定しますGoogleがページを翻訳する理由を正確に言うことはできません。私たちはそれだけを仮定することができます:
translate="no"
およびlang="en"
としてマークする(またはこれらの単語を削除する)と、Googleはページの言語を正しく予測するのに役立ちます。残念ながら、この投稿にアクセスするほとんどの人は、どの単語が問題を引き起こしているかを知りません。 Chromeの組み込みの「英語に翻訳」機能(右クリックコンテキストメニュー)を使用して、翻訳内容を確認すると、予期しない翻訳が表示される場合があります 次のように :
したがって、ページのGoogle翻訳が何も変わらなくなるまで、適切な翻訳タグでhtmlを更新します。その後、ポップアップが今後の訪問者に表示されることを期待する必要があります。
これらのすべての追加タグを追加するのは大変な作業ではありませんか?はい、ありそうです。 Wordpressまたは別のコンテンツ管理システムを使用している場合は、 documentation でコードを更新する簡単な方法を確認してください!
他のソリューションが機能しない場合は、xml:lang=""
を<html>
に含めてみてください:
<html class="no-js" lang="pt-BR" dir="ltr" xml:lang="pt-BR">