//cache
*日本語化ファイル編集方法 [#e167ff4c]

#contents

// Simutransでの翻訳作業は、まずドイツ語と英語の翻訳ファイル(内部単語と表記語を置き換えるファイル)が提供され、この後各国の有志が母国語に翻訳した専用ファイル(*.tab)を作成し、改めてSimutransに収録されるという形になっています。84.22版からマルチバイト文字に対応したため、82.05版からのカタカナ表記に代わり、完全な日本語による表記が可能になりました。
// 現在は従来の半角カタカナによる日本語化ファイルからの置き換えは完了し、以降は英語版(en.tab)を元に追加・変更された言葉を翻訳する作業に取り掛かっています。
// なお、先にカタカナでの翻訳が行われていたため、日本語(漢字)化に関してはとてもスムーズに行えました。カタカナ化に携わった方々に深く感謝します。
//
//参考:[[日本語(漢字)化プロジェクト]]

RIGHT:&size(10){''更新履歴''};
&size(10){ナイトリー版で追加されたstreetlistの説明を追加 2011/09/19};
**用意するもの [#p0dc857f]
Unix形式(LF)の改行コードが扱え、''UTF8N(BOMなし)''で保存できるテキストエディタ。

#div(start,notered)
Windowsに付属の「メモ帳」や「Microsoft Word」は編集には使用できません。
これらは''BOM((バイトオーダーマーク [[WikiPedia.ja:バイトオーダーマーク]]))付きのUTF8''で保存するため、simutransではUTF8と認識されません。
#div(end)

&shiftnote();

***フリーのテキストエディタ(一例) [#mb2744c8]

自分でテキストエディタを探すのが面倒な人のために、いくつか紹介

|アプリ名|インストーラ|文字コード|改行コード|h
|[[OEdit>http://www.hi-ho.ne.jp/a_ogawa/oedit/]]|なし|UTF8(no sig.)|LF(\n)|
|[[TeraPad>http://www5f.biglobe.ne.jp/~t-susumu/library/tpad.html]]|あり/なし|UTF-8N|LF|
|[[Mery>http://www.haijin-boys.com/island/wiki/index.php?title=Mery]]|あり/なし|UTF-8,BOM無|LF|

**翻訳ファイルの構成 [#ncbb5058]
***日本語フォント [#rcc112bb]
//:simutrans/font/m+10r.bdf , misaki7.bdf|日本語フォントファイル。
:simutrans/font/m+10r.bdf|日本語フォントファイル。
***翻訳ファイル [#s7f1de19]
:simutrans/text/ja.tab|メニュー及びシステムメッセージ等、主要な用語、メッセージの翻訳ファイルです。すべてのpakセットで共通です。
:simutrans/pak/text/ja.tab|Pak64で提供される車両/船舶名、建物名等の翻訳ファイルです。
:simutrans/pak128/text/ja.tab|Pak128で提供される車両/船舶名、建物名等の翻訳ファイルです。
:simutrans/pak/text/ja*.tab|ファイル名がjaで始まっているファイルは、Pak64で追加で読み込まれる翻訳ファイルです。%%%このファイルはインストール時にはありません。%%%
:simutrans/pak128/text/ja*.tab|ファイル名がjaで始まっているファイルは、Pak128で追加で読み込まれる翻訳ファイルです。%%%このファイルはインストール時にはありません。%%%
***ヘルプ翻訳ファイル [#t6d22180]
:simutrans/text/ja/*.txt|各メニューの左上にある「?」を押すと表示されるオンラインヘルプのファイルです。
翻訳が存在しない場合には、simutrans/text/en/*.txt内の英語ヘルプが表示されます。

***都市名ファイル [#db2d5705]
:simutrans/text/citylist_ja.txt|都市名リストファイル。%%%このファイルはインストール時にはありません。%%%
もしすべてのpakセットで共通の都市名リストを使いたい場合には、ここに置きます。各pakセットフォルダに都市名リストファイルがある場合には、そちらが優先的に使用されます。
:simutrans/pak/text/citylist_ja.txt|pak64専用の都市名リストファイル
:simutrans/pak128/text/citylist_ja.txt|pak128専用の都市名リストファイル。%%%このファイルはインストール時にはありません。%%%


日本語化ファイルとして公開する場合は、利用者の便宜を図るため、Simutransフォルダから構築しておくのがよいと思います。

**翻訳ファイルのルール [#p84673ee]

***文字コードと識別文字 [#q6a4b9c4]
 翻訳ファイルで日本語を取り扱う場合、文字コードはUTF-8を使用します。''UTF-8N''もしくは''UTF-8(BOMなし)''で保存してください。~
 Simutrans側からは、そのファイルの文字コードがUTF-8であるかを否かを調べていないため、全ての翻訳ファイルの先頭に「''§''」(セクション)を記述する必要があります((ヘルプファイルには必要ありません))

simutrans/text/ja.tabは1行目に§に続けて言語名を書く必要があります
 §Japanese
simutrans/pak/text/ja.tabなどのpakセット用翻訳ファイルでは、空白行を作らないようにするため、§の後ろに半角の#を書いてコメント行にする必要があります。
 §#
simutrans/text/ja.tabではPROP_FONT_FILEで使用するフォント名を指定します。
 PROP_FONT_FILE
 m+10r.bdf
// 4x7_FONT_FILE
// misaki7.bdf

 「simutrans/font」に必要なフォントファイルが無い場合は、日本語であるべきところがすべて消えてしまいます。エラーは出ません。
 「simutrans/text/ja.tab」で一度使用フォントを明記しておけば、以後に読み込まれる翻訳ファイルには記述する必要はありません。~
~
 ''改行コードは「LF(0A)」でないと認識されません。''改行コードが分かるテキストエディタでの編集を強く推奨します。


&shiftnote();

***コメント行 [#i446671b]
 行頭を「#」で記述した行はコメントとみなし処理されません。%%ただし、コメント行も二行一組になっていなければなりません。%%(注)そんなことはないと思いますが。

例:
#pre(soft){{
#---------- 工場 ----------  ←''処理されない''
#               ←''処理されない''
2Raffinerie          ←処理される(内部語)
精製所(石油/ガソリン)     ←処理される(翻訳語)
}}

***空白行と改行 [#cc320f59]
行単位で読み込まれますので、途中に空白行があってはいけません。
また、ファイルの最終行には必ず1つの改行が必要です。ファイルの最後に改行がない場合には、この行は読み込まれません。
***内部語と翻訳語 [#mc0deaea]
 置き換え処理は、内部語と翻訳語の順番で行単位に行われます。翻訳語を複数行に渡って記述することはできません。内容によってはエラーの原因になります。~
 改行のみの行も処理の対象となるため、意図せず用いると誤訳やエラーの原因になるので注意が必要です。~

例:
#pre(soft){{
concrete_sleeper_track    ←内部語として処理
コンクリートの        ←''翻訳語として処理''
枕木の線路          ←内部語として処理
dirt_road           ←''翻訳語として処理''
未舗装の道路         ←内部語として処理
}}

 解説文など、改行を含む翻訳を行いたい場合は、改行部分を「\n」と表記してください。~
例:
 Cannot built depot here!
 ここに車庫を\n建てることはできません。

***変数 [#r1270836]
 メッセージでゲーム中の駅名や旅客の数を表記するために、プログラムと密接した変数表記が用いられている内部語があります。

 Capacity: %s\nLoad: %d (%d%%)
 定員/積載: %s\n積載: %d (%d%%)

 これら変数表記は内部語と翻訳語が順番を含めて1対1で対応している必要があり、順番を入れ替えたり省略するとエラーの原因になります。
 これらのような語句を持つ内部語を翻訳する際は注意してください。

***アドオンの翻訳の際のルール(仮) [#m38a6a7c]
 以下のルールは日本語化ファイルに登録する場合、統一性を持たせるために定められたルールです。
個人が手を加える場合はこれらに縛られる必要はありません。

-Simutranslatorにあるガイドラインです。~
--産業と乗り物は30文字まで ~
--別建築物と観光名所は最初の行にタイトルを書き改行を2回入れた上で説明。全部で500文字程度 ~
--都市の建物(商業、住宅、工業)は説明を500文字程度 ~
--建物の説明はプレイヤーを楽しませるのが目的で知的で機知に富んでいるべき~
--文字はアルファベット準拠なので全角文字だと半分ですね~


-乗り物
例1:
 JNR Tc103
 国鉄103系通勤電車 クハ103 
例2:
 Nankai 21000(1st_car)
 南海21000系 ズームカー
~現状使っている書式は「会社名系列名or愛称or形式名」です(割と不安定)。
推奨の翻訳方法に従うなら例2の方が近いと思うのですが、形式名を入れるのも捨てがたく……
愛称が長く規定の15文字を超えるもの(トワイライトエキスプレス等)もあり、混迷しております。


-建物
例:
 DenkHajo
 記念碑\n\nこの記念碑は7年の歳月を\nかけてこのゲームを創造し\nた(以下省略)\n

~一行目に建物名、二回改行してから説明文。説明文は12文字で改行。
ただし、句読点や文章のキレ(読みやすさ)を考慮し、臨機応変に改行を行う。~
最長でも250byte(日本字で125文字)程度で抑える。~


**都市名リスト [#mcd10a7a]
 新しい都市ができたときに、検索される都市名の羅列です。
~ ファイルの先頭にはUTF-8であることを示すための「§」が必要です。また改行コードについても翻訳ファイルと同様です。~
例:
 §
 東京
 名古屋
 京都
 大阪

&imgfolder(16/page_go.png); 都市名ファイルのダウンロード、投稿はこちらへ→[[日本語化ファイル>日本語化ファイル#DL]]
// 84.22版からマルチバイト文字に対応していましたが、都市名リストの取得部分にエラーがあったため、86.01.1版で修正されるまで日本語、カタカナ、英数字ともに使用することができませんでした。~
// 86.01.1版以後ではこの問題は修正されたため、都市名リスト(citylist_ja.txt)があれば「新しいマップを作成する」時の駅名に反映されるようになっています。~
~
***都市名ファイルがない場合は [#v3695ddd]
pak64以外の[[Pakセット]]では、都市名ファイルが用意されていません。
この場合、simutrans/text/ja.tab内の&0_CITY_SYLL〜&F_CITY_SYLL、%0_CITY_SYLL〜%F_CITY_SYLLを使用してランダムな名前を作成します。
&0_CITY_SYLL〜&F_CITY_SYLLが後半部、%1_CITY_SYLL〜%F_CITY_SYLLが前半部です。

(例)
 &0_CITY_SYLL
 下
 &0_CITY_SYLL
 村
 %0_CITY_SYLL
 森
 %1_CITY_SYLL
 木
森下、森村、木下、木村の4パターンの都市名が作られます。

**駅名リスト (streetlist_ja.txt) [111.0以降] [#d7eff3f3]

新しい駅、停留所、港、空港などを建設した時に付けられる名前のリストです。111.0以降で使用できます。都市名リストと同様、「(Pakセット)/text/streetlist_ja.txt」に置きます。
このリストがある場合、従来のsimuconf.tab内の駅名リストより優先して使用されます。
都市内、都市近郊の駅の場合に、リストから''ランダムに選択され''使用されます。郊外の駅には使用されません。

ファイルの先頭にはUTF-8であることを示すための「§」が必要です。また改行コードについても翻訳ファイルと同様です。
書式はsimuconf.tabと同じで、最初の%sは都市名に、2番目の%sはwaytypeによって、「停」「港」「駅」「空港」に置き換えられます。

 §
 前%s%s
 %s中央%s
 %s大通り%s

***simuconf.tab内の駅名リスト [#sd26b1d7]

streetlist_ja.txtがない場合、またはstreetlist_ja.txtをすべて使用してしまった場合は、simuconf.tab内の駅名リストが使用されます。

:都市内|0center ... 9center, Acenter ... Zcenterの最大36種類が設定でき、番号順に使用されます。
(例) %s中央%s
:都市近郊|0suburb ... 9suburb, Asuburb ... Zsuburbの最大36種類が設定でき、番号順に使用されます。
(例) %s%s%s ... 2番目の%sは方角(東、北西など)に置き換えられます。
:郊外|0extern ... 9extern, Aextern ... Zexternの最大36種類が設定でき、番号順に使用されます。
(例) 上%s%s

上記のsimuconf.tab内の駅名リストをすべて使用してしまった場合は、番号を付加します。

:都市内、都市近郊|%s city %d %s ... %s第%d%s
:郊外|%s land %d %s ... %s郊外第%d%s