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