提供: defeatedcrow mod wiki
移動先: 案内検索
(ページの作成:「=Languageファイルを作ろう!=」)
 
1行目: 1行目:
=Languageファイルを作ろう!=
+
=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のファイルです。
作り方は、

  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")));