提供: defeatedcrow mod wiki
2016年9月21日 (水) 11:01時点におけるDefeatedcrow (トーク | 投稿記録)による版
<目次に戻る>
Langファイルを作ろう!
Langファイルは、MOD追加アイテムなどの翻訳データを入れた拡張子.langのファイルです。
作り方は、
- テキストファイルを新規作成して、一行目を空行に、二行目以降に翻訳データを書き込んでいく
- 保存し、拡張子を.langに書き換え
- 決められた置き場所にファイルを移動
これでOK。
置き場は、resources/assets/MODのID(小文字)/lang/下に置く。
基本的には、en_USとja_JPがあればだいたいの環境に対応できる。
追加アイテムやブロックの翻訳
- en_US.lang
item.dcsflame.flamethrower.name=Flamethrower item.dcsflame.magazine.name=Magazine of Flamethrower enchantment.dcs.poisonous=Poisonous enchantment.dcs.venomous=Venomous enchantment.dcs.explosive=High-Explosive
- ja_JP.lang
item.dcsflame.flamethrower.name=火炎放射器 item.dcsflame.magazine.name=火炎放射器の弾倉 enchantment.dcs.poisonous=毒矢 enchantment.dcs.venomous=毒牙 enchantment.dcs.explosive=榴弾
アイテムの場合は、item.設定したアイテムのUnlocalizedName.name=翻訳後の名前 ブロックは、tile.設定したアイテムのUnlocalizedName.name=翻訳後の名前 また、エンチャントはenchantment.設定した名前=翻訳後の名前 というように、決まった接頭辞や接尾辞が付く。
自分で任意に作ったStringの翻訳
こちらは現在FlameThrowerでは使われていないので、別MODの一例。
翻訳可能なメッセージを入れたいところに、
StatCollector.translateToLocal("任意のString")
をStringそのままの代わりに使うことで、その部分をLangファイルで翻訳可能に出来る。任意のStringの部分は他の何かと被ると同じ内容に翻訳されるので、被りに注意。
一例ではAMT2の鍋のレシピがなかったときに出るメッセージなどで使用されている。
- BlockEmptyPanG.class
if (par1World.isRemote) par5EntityPlayer.addChatMessage(new ChatComponentText(StatCollector .translateToLocal("dc.panMessage.noRecipe")));