今回は、アイテムの名前をローカライズ(英語と日本語)するよ。

SPONSERD LINK

前回の記事で、アイテムにテクスチャを設定した。

lang ファイル用のパッケージ

まず、リソース用のソース・フォルダーの中にローカライズに使う lang ファイルを保存するパッケージを作る。

assets.『任意のパッケージの名前』.lang

筆者は、下記のように作成した。

assets.gopichand.lang

"パッケージ・エクスプローラー"にパッケージが追加されているか確認する。

lang ファイル

先程、用意したパッケージの中に言語毎に lang ファイルを作る。

"パッケージ・エクスプローラー"のパッケージ上で

右クリック → 新規 → ファイル

の順でクリックすると、“新規ファイル”のダイアログが表示される。

Eclipse の“新規ファイル”のダイアログ
出典:Eclipse の“新規ファイル”のダイアログ

“ファイル名”は、下記のフォーマットで入力する。

『ロケール名』.lang

ロケール名は、ローカライズする言語によって定められている。
今回、用意する英語と日本語用 lang ファイルの名前は、下記のとおりになる。

英語(アメリカ) → en_US.lang
日本語 → ja_JP.lang

他の言語にローカライズしたい場合は、Minecraft が対応している言語のロケール名をアセットやらインターネットで調べて、lang ファイルを作成する。
一応、著者の方でも対応している言語を調べて にしてみたので、参考になれば。

“ファイル名”を入力したら、ダイアログ下部の“完了”をクリックする。
パッケージ・エクスプローラーに lang ファイルが追加される。

プロジェクト構成は、下記のようになった。

java
	com.watermelonheadman.gopichandmod
		GopichandMod.java
		Recipes.java
	com.watermelonheadman.gopichandmod.items
		GopichandItems.java
		ItemGopichand.java
		ItemGopichandBody.java
		ItemGopichandHead.java
		ItemIronString.java
resource
	assets.gopichandmod.lang
		en_US.lang
		ja_JP.lang
	assets.gopichandmod.textures.items
		gopichand.png
		gopichandbody.png
		gopichandhead.png
		ironstring.png

lang ファイルに下記のフォーマットで入力する。
アイテム毎に 1 行ずつ入力する。

item.『setUnlocalizedName で渡した文字列』.name=『対応する言語で記述したアイテムの名前』

それぞれ lang ファイルは下記のようになった。

item.gopichand.name=Gopichand
item.gopichandhead.name=Gopichand Head
item.gopichandbody.name=Gopichand Body
item.ironstring.name=Iron String
item.gopichand.name=ゴピチャンド
item.gopichandhead.name=ゴピチャンドの頭
item.gopichandbody.name=ゴピチャンドの胴
item.ironstring.name=鉄の弦

テスト

アイテムの名前がローカライズされているかテストする。

それぞれ、Minecraft の言語設定(Language)を English(US)と日本語(日本)に変えて、ゲームをはじめてみる。

lang ファイルに入力したとおりにアイテムの名前が表示されていれば成功だよ!

Forge 導入済み Minecraft
US.lang に入力した文字列が表示されている
出典:Forge 導入済み Minecraft(English - US)
Forge 導入済み Minecraft
ja_JP.lang に入力した文字列が表示されている
出典:Forge 導入済み Minecraft(日本語 - 日本)

アイテムの名前が文字化けしている場合は、lang ファイルのテキストのエンコードが UTF-8 以外になっている可能性がある。

"パッケージ・エクスプローラー"の lang ファイルを右クリックし、プロパティを表示する。
ダイアログ中央の“テキスト・ファイルのエンコード”が、“デフォルト(コンテナーから継承する: UTF-8)”か“その他”のコンボボックスが“UTF-8”になっているか確認する。

Minecraft が対応している言語

下記に保存されている json ファイルから Minecraft 1.8 が対応している言語を確認できるので表にしてみた。

C:\ユーザー\[ウィンドウズのユーザーアカウントの名前]\.gradle\caches\minecraft\assets\indexes\1.8.json

例えば、イタリア語にローカライズしたい場合は、it_IT.lang というファイルを作る。

表を作る際に複数のサイトを参考したんだけど、正しいのか分からない部分が何箇所かあり、その部分は末尾に(?)で記している。

Minecraft が対応している言語一覧表(ロケール名アルファベット順)
ロケール名 言語 国名
af_ZA アフリカーンス語 南アフリカ
ar_SA アラビア語 サウジアラビア
ast_ES アストゥリアス語 スペイン
az_AZ アゼルバイジャン語 アゼルバイジャン
bg_BG ブルガリア語 ブルガリア
ca_ES カタロニア語 スペイン
cs_CZ チェコ語 チェコ共和国
cy_GB ウェールズ語 イギリス
da_DK デンマーク語 デンマーク
de_DE ドイツ語 ドイツ
el_GR ギリシャ語 ギリシャ
en_AU 英語 オーストラリア
en_CA 英語 カナダ
en_GB 英語 イギリス
en_PT 海賊英語 海賊?
en_US 英語 アメリカ
eo_UY エスペラント語 Mondo(?)
es_AR スペイン語 アルゼンチン
es_ES スペイン語 スペイン
es_MX スペイン語 メキシコ
es_UY スペイン語 ウルグアイ
es_VE スペイン語 ベネズエラ
et_EE エストニア語 エストニア
eu_ES バスク語 スペイン
fa_IR ペルシア語 イラン
fi_FI フィンランド語 フィンランド
fil_PH フィリピン語 フィリピン
fr_CA フランス語 カナダ
fr_FR フランス語 フランス
ga_IE アイルランド語 アイルランド
gl_ES ガリシア語 スペイン
gv_IM マン島語 マン島
he_IL ヘブライ語 イスラエル
hi_IN ヒンズー語 インド
hr_HR クロアチア語 クロアチア
hu_HU ハンガリー語 ハンガリー
hy_AM アルメニア語 アルメニア/td>
id_ID インドネシア語 インドネシア
is_IS アイスランド語 アイスランド
it_IT イタリア語 イタリア
ja_JP 日本語 日本
ka_GE グルジア語 グルジア
ko_KR 韓国語 韓国
kw_GB コーンウォール語 イギリス
la_LA ラテン語 バチカン(?)
lb_LU ルクセンブルグ語 ルクセンブルグ
lt_LT リトアニア語 リトアニア
lv_LV ラトビア語 ラトビア
mi_NZ マオリ語 ニュージーランド
ms_MY マレー語 マレーシア
mt_MT マルタ語 マルタ
nds_DE 低地ドイツ語 ドイツ
nl_NL オランダ語 オランダ
nn_NO ニーノシュク ノルウェー
no_NO ノルウェー語 ノルウェー
oc_FR オック語 フランス
pl_PL ポーランド語 ポーランド
pt_BR ポルトガル語 ブラジル
pt_PT ポルトガル語 ポルトガル
qya_AA クウェンヤ(エルフ語) 指輪物語、シルマリルの物語等
ro_RO ルーマニア語 ルーマニア
ru_RU ロシア語 ロシア
se_NO 北部サーミ語 ノルウェー
sk_SK スロバキア語 スロバキア
sl_SI スロベニア語 スロベニア
sr_SP セルビア語 セルビア
sv_SE スウェーデン語 スウェーデン
th_TH タイ語 タイ
tlh_AA クリンゴン語 スタートレック
tr_TR トルコ語 トルコ
uk_UA ウクライナ語 ウクライナ
val_ES バレンシア語 スペイン
vi_VN ベトナム語 ベトナム
zh_CN 簡体字中国語 中国
zh_TW 繁体字中国語 台湾

エスペラント語や海賊英語、小説やドラマで使われる架空の世界の言語なんかもあったりしてなかなかカオス。

次回予告

次からアイテム(ゴピチャンド)を使って、音を鳴らす処理について解説していくよ。

シングルプレイのみの実装ならわりと簡単なんだけど、マルチプレイに対応させるにはネットワーク関連の処理を行わなければならず、結構複雑。

複数の記事に分けて解説していきます。

次回は、サウンドファイル(ogg ファイル)の読み込みについて説明するよ。