提供: defeatedcrow mod wiki
移動先: 案内検索

<目次に戻る>

Langファイルを作ろう!

Langファイルは、MOD追加アイテムなどの翻訳データを入れた拡張子.langのファイルです。
作り方は、

  1. テキストファイルを新規作成して、一行目を空行に、二行目以降に翻訳データを書き込んでいく
  2. 保存し、拡張子を.langに書き換え
  3. 決められた置き場所にファイルを移動

これでOK。

置き場は、resources/assets/MODのID(小文字)/lang/下に置く。
langtut.PNG

基本的には、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")));