yiiapi/docs/guide/ja/topics.i18n.txt
(开头部分) 19KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
国際化 (I18N)
====================
国際化 (I18N) はプログラムの変更なしで、各言語、各地域に適合できるように、ソフトウェアアプリケーションを設計する過程を指します。
ウェブアプリケーションでは、ユーザになる可能性のある人が世界中から訪れるため、特に重要です。
Yii は I18N のサポートをいくつかの面から提供します。
- 各可能な言語と変形のためのロケール (地域・言語) データの提供
- メッセージとファイルの翻訳機能の提供
- ロケール (地域・言語) に依存する日時フォーマットの提供
- ロケール (地域・言語) に依存する数値フォーマットの提供
以下の節で上記について詳しく説明します。
ロケールと言語
-------------------
ロケールは、ユーザの言語、国、そして、ユーザがユーザインタフェースに期待する何らかの特別な好みを定義するパラメータのセットです。
これは、通常、言語 ID と地域 ID から成る ID により確認されます。
たとえば、ID `en_US` は、英語とアメリカのロケールを表します。
整合性のため、Yii の全てのロケール ID は、小文字で `LanguageID` か `LanguageID_RegionID` のフォーマットで標準化されています (例: `en`, `en_us`)。
ロケールデータは、[CLocale] のインスタンスとして表されます。
これは、通貨記号、数値記号、通貨フォーマット、数値フォーマット、
日時フォーマット、日付に関する名称を含むロケールに依存する情報を提供します。
言語情報はロケール ID に含まれるため、[CLocale] では提供されません。
同様に、多くの場合、ロケールと言語は同じ意味として使用します。
ロケール ID を与えると、`CLocale::getInstance($localeID)` もしくは `CApplication::getLocale($localeID)` により、それに一致する [CLocale] インタンスを取得できます。
> Info|情報: Yii にはほとんど全ての言語と地域のためのロケールデータが含まれています。
データは [共通ロケールデータリポジトリ](http://unicode.org/cldr/) (CLDR) より取得されています。
オリジナルのデータは滅多に使用されない多くの情報を含んでいるため、各ロケールとも、そのサブセットだけが提供されます。
ユーザが自分自身のカスタマイズしたロケールデータを供給することも出来ます。
そうするためには、[CApplication::localeDataPath] プロパティを構成して、カスタマイズされたロケールデータを含むディレクトリを指定します。
カスタマイズされたロケールデータファイルを作る場合は、`framework/i18n/data` の下にあるロケールデータファイルを参照して下さい。
Yii アプリケーションでは、[ソース言語|CApplication::sourceLanguage] と [ターゲット言語|CApplication::language] を区別します。
ターゲット言語は、アプリケーションが対象とするユーザの言語 (ロケール) で、一方、ソース言語はアプリケーションソースファイルに書かれている言語 (ロケール) を示します。
国際化は二つの言語が異なる場合のみで起こります。
> Tip|ヒント: ソース言語は英語のままにしておく方が良いでしょう。
なぜなら、(例えば日本語から他の言語への翻訳者を探すよりも) 英語から他の言語への翻訳者を探す方が容易だろうと思われるからです。
[ターゲット言語|CApplication::language] は [アプリケーション初期構成](/doc/guide/basics.application#sec-2) で設定するか、または、何らかの国際化が起こる前に動的に変更することで設定できます。
> Tip|ヒント: 場合によっては、ユーザが優先している言語 (ユーザのブラウザに設定されている優先言語) をターゲット言語として設定したいかもしれません。
その場合は、[CHttpRequest::preferredLanguage] を使ってユーザの優先言語の ID を読み出せます。
翻訳
-----------
I18N でもっとも必要な機能は、おそらくメッセージ翻訳やビューの翻訳などの翻訳です。
前者はテキストメッセージのターゲット言語への翻訳、後者はファイル全体のターゲット言語への翻訳です。
翻訳リクエストは、翻訳すべきオブジェクト、オブジェクトの現在のソース言語、オブジェクトの翻訳先のターゲット言語から構成されます。
Yii では、ソース言語はデフォルトでは [アプリケーションソース言語|CApplication::sourceLanguage] になり、ターゲット言語はデフォルトでは [アプリケーション言語|CApplication::language] になります。
ソース言語とターゲット言語が同じ場合、翻訳されません。
后面还有 247 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
