42

Web アプリケーションの国際化は常に面倒に思えます。プラグ可能な言語をどれだけ前もって計画しても、エンコーディングの問題、テンプレートに合わない変な言い回し、その他の問題が常にあります。

プログラマーが Web アプリの国際化を決定する際に注意すべき一連の事項について、SO コミュニティの意見を得ることが役立つと思います。

4

4 に答える 4

59

国際化は難しいです。20以上の異なる言語で書かれた2つのWebサイトでの作業から学んだことがいくつかあります。

  • どこでもUTF-8を使用してください。例外なし。HTML、サーバー側言語(特に、PHPに注意)、データベースなど。
  • 大量の作業が必要でない限り、画像にテキストはありません。必要に応じて、CSSを使用して画像の上にテキストを配置します。
  • 構成をローカリゼーションから分離します。このようにして、ローカライザーはテキストを翻訳でき、ロケールごとに異なる構成(機能、レイアウトなど)を処理できます。ローカライザーがアプリを台無しにする機能を持たせたくありません。
  • レイアウトが英語の2〜3倍の長さのテキストを処理できることを確認してください。また、英語よりも50%少なくなっています(日本語と中国語の方が短いことがよくあります)。
  • 一部の言語では、より大きなフォントサイズが必要です(日本語、中国語)
  • 色もロケール固有です。赤と緑はどこでも同じことを意味するわけではありません!
  • ドキュメントのbodyタグにロケール名であるクラス名を追加します。そうすれば、CSSファイルで特定のロケールのレイアウトを簡単に指定できます。
  • 変数の置換に注意してください。文字列を分割しないでください。それら全体を次のように残します:「X個の新しいメッセージがあります」そして「X」を#に置き換えます。
  • 言語が異なれば、複数形も異なります。0、1、2-4、5-7、7-無限大。対処するのは難しい。
  • 文脈は難しい。ローカライザーは、文字列が正しく翻訳されていることを確認するために、文字列がどこでどのように使用されているかを知る必要がある場合があります。

資力:

于 2008-10-15T20:40:42.393 に答える
11

私の会社では、すべての文字列が*.propertiesファイルに保存されています。私たちのビルドツールは、プロパティファイルの「テスト言語」コピーをビルドします。これは次のような文字列を置き換えます。

Click here

このようなもので:

[~~ Çļïčк н∑ѓё ~~ タウ ~~]

これで、構成ファイルで言語を「テスト」に設定すると、これらのプロパティファイルが使用されます。(もちろん、テスト言語ファイルは出荷していません)。

これにより、次のことが可能になります。

  1. 日本語/中国語/韓国語を含むUnicode文字が正しく表示されていることを確認してください。
  2. 単語が長い言語(特にドイツ語は英語よりも平均して単語が長い)に対して、レイアウトが適切にスケーリングされることを確認してください。
  3. ハードコードされた文字列を見つけます(平易な英語になります)。

実際の翻訳に関しては、これは開発者ではなくプロの翻訳者によって行われます。

于 2008-10-01T14:19:54.207 に答える
4

海外に住む英国人として、私は多くの Web アプリケーションの国際化へのアプローチに不満を感じており、その不満についてブログを書いてきました。

私のヒントは次のとおりです。

  • 国際版のページをどのように表示するかを考える
  • 地理位置情報の使用は多くのユーザーにとって機能する可能性がありますが、私の例が示すように、多くのユーザーにとってはそうではありません
  • 提供する言語を決定するために Accept-Language ヘッダーを使用しない理由
  • ユーザーが検索エンジン経由でページにアクセスした場合、別の言語のホームページなど、別の場所にリダイレクトしないでください。
  • 言語を変更して別のページをリロードするのは非常に面倒です。同じページを提供するか、リダイレクトする前に現在のコンテンツが別の言語で利用できないことをユーザーに警告します。
  • 英語は非常に一般的な言語なので、デフォルトで英語に設定されている可能性があります
  • ただし、言語の変更オプションがGUIで明確であることを確認してください(投稿に示されているように、Googleマップが行っていることは好きです)

私が Web で目にするのは、企業が内部化を誤っていることだけです。ユーザーの観点から正しく理解することは、実に難しいことです。

于 2014-04-30T08:40:19.043 に答える
0

ASP.NET1.1 でリソース ファイルを使用した「バイリンガル」のアプリがいくつかあります。

String Resource Tool と呼ばれるものもあります。基本的には、すべての文字列を両方の言語の .RES ファイルに入れ、文化に基づいて、または誰かがその言語のリンクをクリックしたかどうかに基づいて、どのファイルから読み取るかを決定します。

最大の問題は、翻訳が正しく行われていることを確認することです

于 2008-10-01T14:09:01.457 に答える