Swallow794 (トーク | 投稿記録) (作成) |
Swallow794 (トーク | 投稿記録) (StatCollector、net.minecraft.util以下のI18nについて少し追記。追えないのでわかる人頼む。) |
||
19行目: | 19行目: | ||
this.is.unlocalized.key=This is localized value. | this.is.unlocalized.key=This is localized value. | ||
− | sample.arg.int=I'll give you %1$d | + | sample.arg.int=I'll give you %1$d minutes. |
sample.arg.string=Hi. This is a %1$s Mod. | sample.arg.string=Hi. This is a %1$s Mod. | ||
25行目: | 25行目: | ||
=== I18n === | === I18n === | ||
− | 「net.minecraft.client.resources.I18n」は、Minecraftの言語設定に基づいて、適切に配置したMinecraftの言語ファイルによるローカライズ結果を取得するのに使われています。ただし、このローカライズはクライアント側でのみ可能です(Forge環境では@SideOnly(Side.CLIENT) | + | 「net.minecraft.client.resources.I18n」は、Minecraftの言語設定に基づいて、適切に配置したMinecraftの言語ファイルによるローカライズ結果を取得するのに使われています。ただし、このローカライズはクライアント側でのみ可能です(Forge環境では@SideOnly(Side.CLIENT)が付与されています)。以前(未調査)は「net.minecraft.util.text.translation.I18n」や「net.minecraft.util.StatCollector」が使われていました。 |
ローカライズには、「I18n#format」を使用します。第一引数にローカライズ前の文字列を渡し、可変引数となっている第二引数にローカライズで使用する「引数」を渡します。この「引数」は、言語ファイルの項で述べた「引数」と同一です。 | ローカライズには、「I18n#format」を使用します。第一引数にローカライズ前の文字列を渡し、可変引数となっている第二引数にローカライズで使用する「引数」を渡します。この「引数」は、言語ファイルの項で述べた「引数」と同一です。 | ||
33行目: | 33行目: | ||
I18n.format("this.is.unlocalized.key"); // "This is localized value." | I18n.format("this.is.unlocalized.key"); // "This is localized value." | ||
− | I18n.format("sample.arg.int", 3); // "I'll give you 3 | + | I18n.format("sample.arg.int", 3); // "I'll give you 3 minutes." |
I18n.format("sample.arg.string", "Minecraft"); // This is a Minecraft Mod. | I18n.format("sample.arg.string", "Minecraft"); // This is a Minecraft Mod. | ||
</source> | </source> | ||
+ | |||
+ | === StatCollector === | ||
+ | '''''この項は、Minecraft 1.8.xまでを対象とした内容です。''''' | ||
+ | |||
+ | (未調査) |
2017年3月27日 (月) 23:16時点における版
ローカライズについて
Mod開発環境で利用できるローカライズ・国際化(I18n=Intenationalization)機能について解説します。
言語ファイル
Minecraftが対応している言語ファイルでは、「K=V」と「行コメント」が使用できます。ここでは、「K」はローカライズ前の文字列を表し、「V」はローカライズ後の文字列を表しています。
また、「V」は実際にローカライズが行われるタイミングで「引数」を受け取ることができ、引数は「String#format」で解釈されます。詳しくは、String#formatのJavadoc、書式文字列の構文のJavadocを参照するといいでしょう。
「行コメント」の開始文字は、「#」です。
例えば、以下のような書式です。
# 「#」以降は「コメント」として無視される K=V # ここも無視される tile.sample_block.name=Sample Block item.sample_item.name=Sample Item this.is.unlocalized.key=This is localized value. sample.arg.int=I'll give you %1$d minutes. sample.arg.string=Hi. This is a %1$s Mod.
I18n
「net.minecraft.client.resources.I18n」は、Minecraftの言語設定に基づいて、適切に配置したMinecraftの言語ファイルによるローカライズ結果を取得するのに使われています。ただし、このローカライズはクライアント側でのみ可能です(Forge環境では@SideOnly(Side.CLIENT)が付与されています)。以前(未調査)は「net.minecraft.util.text.translation.I18n」や「net.minecraft.util.StatCollector」が使われていました。
ローカライズには、「I18n#format」を使用します。第一引数にローカライズ前の文字列を渡し、可変引数となっている第二引数にローカライズで使用する「引数」を渡します。この「引数」は、言語ファイルの項で述べた「引数」と同一です。
例(コメントは戻り値)
I18n.format("this.is.unlocalized.key"); // "This is localized value." I18n.format("sample.arg.int", 3); // "I'll give you 3 minutes." I18n.format("sample.arg.string", "Minecraft"); // This is a Minecraft Mod.
StatCollector
この項は、Minecraft 1.8.xまでを対象とした内容です。
(未調査)