ローカライゼーション
Warudoには、多言語対応プラグインを作成できる組み込みのローカライゼーションシステムがあります。
現在、Warudoは公式に次の言語をサポートしています。
| 言語 | コード |
|---|---|
| 英語 | en |
| 簡体字中国語 | zh_CN |
| 日本語 | ja |
文字列のローカライズ
組み込みのローカライズ済み文字列はすべて、Warudoデータフォルダー内のLocalizationsディレクトリに保存されています。いずれかのJSONファイルを開くと、キーが文字列ID、値がローカライズ済み文字列であるキー・値の組が一覧表示されます。
ローカライズ済み文字列を取得するには、文字列IDに対して拡張メソッドLocalized()を呼び出すだけです。
using Warudo.Core.Localization; // Import the namespace that contains the extension method
// Assume the user language is set to English
"FACE_TRACKING".Localized() // "Face Tracking"
"ALIVE_TIME_DESCRIPTION".Localized() // "The prop will be destroyed after this time."
現在の言語で文字列がまだローカライズされていない場合は英語にフォールバックし、英語にも文字列が見つからない場合は文字列IDが返されます。
ヒント
UnityのHumanBodyBones列挙型も、Localized()拡張メソッドでローカライズできます。たとえば、HumanBodyBones.Head.Localized()は英語では「Head」、簡体字中国語では「头」を返します。
ローカライゼーションの追加
プラグインModを作成している場合、ローカライゼーションを追加する推奨方法は、Modフォルダー内にLocalizationsというディレクトリを作成することです。このディレクトリ内に、サポートしたい言語ごとのJSONファイルを作成します。JSONファイルには、次の形式でローカライズ済み文字列を含めます。
{
"en": {
"MY_STRING": "My String"
},
"zh_CN": {
"MY_STRING": "我的字符串"
},
"ja": {
"MY_STRING": "