2

主に英語のイントラネットアプリケーションがありますが、さまざまな不特定の言語でコンテンツのフラグメントを提供します。

Chromeは、外国のコンテンツを検出し、それを翻訳することを提案していました。外国のコンテンツがたくさんある場合は、ページ全体を翻訳することを提案しました。外国語のコンテンツが少ししかない場合、ユーザーはテキストを選択して「英語に翻訳」コンテキストメニューを使用できました。Chromeは現在Content-Languageヘッダーを福音として受け入れており、翻訳のコンテキストメニューを無効にしているため、両方のオプションは現在壊れています。

私たちのサーバーは、次のような応答ヘッダーを出力します。

Content-Language: en-US

UIはすべて英語なので、これは正しいです。ただし、コンテンツが英語ではない可能性のあるページの領域をマークする方法が必要です。例:コメント領域。

langページのセクションを「英語ではない可能性があります」としてマークアップするために、それがどの言語であるかを正確に知らずに、どのような値を使用できますか?

<div lang="??">
  <p>...customer comments...</p>
</div>
4

2 に答える 2

1

HTML5 CRでは、一部のコンテンツが不明な言語であることを宣言する方法はlang、値として空の文字列を含む属性を使用することですlang=""

Chromeがこれを認識するかどうかは別の問題です。一般に、機械翻訳の品質は非常に低いため、無効にすることは通常は良いことです。

于 2013-02-19T21:18:03.137 に答える
0

(多言語Webワークショップから)正しく思い出せば、はContent-Language使用されなくなります。代わりに、属性langとを使用する必要がありますxml:lang

これを念頭に置いて、答えは非常に簡単ですlang。英語であることが確実にわかっているものには属性を使用し、他のものはそのままにしておきます。これはもちろん、グローバルスコープ(つまりas)にタグを
使用できないことを意味しますが、私は本当にそれを助けることはできません。lang<html lang="en">

ところで。動的に生成された部分に適切なマークを付けることは(簡単ではありませんが)ある程度可能langです。たとえば、ユーザーにリストから有効な言語を選択させることや、ライブラリを使用してテキストから言語を検出することを検討できます。この場合、レンダリング時に言語を知っているはずですが、これで十分だと思います。

于 2013-02-19T20:39:28.103 に答える