質問

当社のウェブサイトで多言語サブサイトを作成しています。

2文字の言語コードを使用したいと思います。スペイン語とフランス語は簡単です。彼らは次のようなURLを取得します:

mydomain.com/es
mydomain.com/fr

しかし、私は伝統的で簡素化された中国人の問題に遭遇しました。これらの言語に使用する2つの文字コードの基準はありますか?

mydomain.com/zh
mydomain.com/?
役に立ちましたか?

解決

@dkarpは優れた一般的な答えを提供します。中国語に関するいくつかの詳細を追加します:

中国語が主な書面である国がいくつかあります。それらの間の主な違いは、単純化されたキャラクターか伝統的なキャラクターを使用するか、または従来のキャラクターを使用するかどうかですが、地域の違いはわずかです(語彙など)。これらを区別する標準的な方法は、国コード、例 zh_CN 中国本土の場合、 zh_SG シンガポールのために zh_TW 台湾のために、または zh_HK 香港のために。

中国本土とシンガポールはどちらも簡素化されたキャラクターを使用しており、他の人は伝統的なキャラクターを使用しています。中国と台湾は最大の人口を持つ2つなので、ただ zh_CNzh_TW 多くの場合、Webサイトの簡素化された伝統的なキャラクターバージョンを区別するために使用されます。

もっと正しい, ただし、使用することです zh_HANS (一般的な)単純化された漢字、および zh_HANT 伝統的な漢字の場合、さまざまな国を区別することが意味のあるまれな場合を除きます。

他のヒント

実際、これには標準的な表現があります。人々があなたが見ているのとまったく同じ問題 - 同じ言語 - 異なる方言やキャラクター - に遭遇したため、彼らは2文字の地域コードで2文字の言語コードを拡張しました。したがって、あなたは普遍的なフランス語のページを持っているかもしれません mydomain.com/fr, 、しかし、フランスのカナダ人の読者のために国際化するかもしれません mydomain.com/fr_CA (カナダ)と mydomain.com/fr_FR (フランス)。一部のプラットフォームは、アンダースコアの代わりにダッシュを使用して言語と地域のコードを分離します(したがって fr-CAfr-FR).

単純化された中国人の標準的なロケールはです zh_CN. 。伝統的な中国語の標準的なロケールはです zh_TW.

私はあなたを実際のものに向けることをheします BCP 47 標準文書は、ええと、詳細が少し重く、読みやすさに少し光があります。標準のロケール識別子を使用するだけです Javaが使用するもの, 、そしてあなたは大丈夫でしょう。

言語はそれが話されている場所(DOH!)に依存しているため、言語とロケールコードはその現実を反映しています。 zh 基本的な言語コードですが、2つの主要な形式があるため、 zh_Hanszh_Hant, 、しかし、それらはまだ言語コードであり、ロケールではありません。

場所固有

どの言語が使用されているかを完全に指定するには 特に 場所、カントリーコードはまだ接尾辞が必要なので、 zh_Hans_HKzh_Hant_HK それぞれ香港で話されているように、それぞれ単純化された伝統的な中国人のために。

実際、現実には、多くの国でカントリーコードよりも具体的なものが必要になることがよくありますが、CLDRなどのデータベースの複雑さとメンテナンスを指数関数的に増加させる可能性があります。 、一般的に利用可能でも十分ではありません。

固定テキスト

これで、コードがユーザーインターフェイスで使用する固定文字列のセットを指定するためだけの場合、またはページ全体がサイトで設定する場合、言語が異なる場所がいくつかない場合を除き、国の接尾辞は実際には必要ありません。完全に個別のリソースセットを作成するのに十分な(ロケーションベースの情報)。

リソースセットが大きいほど、ロケールに基づいた言語コード(このコンテキストでは、真のロケールではなく言語属性だけであるため、あなたが好きなものと呼ぶことができます!)が必要ですが、少なくともあなたは必要に応じてそれを行う必要があります。

オンザフライ値

ただし、日付、時間、通貨、数字などの特定の変動値をフォーマットしたい場合は、オンザフライでロケールが重要になります。そのような機能(Unicode CLDRデータに基づくような)をサポートするすべてのツールが期待するためです。これらのロケールはaである必要があります 個別の設定 使用するように設定されている社内で生成されたUI言語を使用するコードに 毎日 既知のロケール、そしてそれらを吐き気を維持します!

ブラウザ言語ツール

入力ボックスのように編集できるWebページのロケールを指定し、属性またはCSSのSpellCheckがフィールドに有効になっていることに注意してください。ブラウザの言語ツールは、そのロケールに従ってフィールドをスペルチェックすることに注意してください。

基準

リソースセットが提供しているものについて明確にする必要があるので、次のことを検討してください。

  • 固定文字列?言語のみ。
  • オンザフライのフォーマット?ロケール。
  • 視聴環境でのスペルチェック?ロケール。
  • ページ全体/サブサイト?言語のみ、その他のロケール(言語バリアントとして)が大幅に異なるコンテンツが必要な場合。

メンテナンスのオーバーヘッドを最小限に抑えるためのスプレッドシート

スプレッドシートを使用して、各言語コードに親コードがあるUI文字列を保持するため、文字列のバージョンのセルには、親から文字列を取得する式があります。その言語と文字列のカスタム文字列を作成するには、正確なテキストでセルフォーミュラを上書きします。これにより、リソースメンテナンスの量が最小限に抑えられます。各言語の完全なリソースファイルを生成する最後にマクロを実行します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top