Morrowind Mod エディター製作 - v0.3
前回まで
ダイアログ応答以外で癖のあるレコードについて個別に対応を進めていた。
Morrowind Mod エディター製作 - 3 - 派閥 - プログラミング・動画編集 備忘録
今回
大体予定していた機能を組み込めた状況。
少しゲームを進めてみて、ゲームをしながら気になった箇所の翻訳を追加・編集してみたが、それなりに使える状態となった。
ダイアログ応答の編集
次のような画面となる。
データ量が多いので検索文字列を指定しないと何も表示しないようにしている。
画面は「ボート」で検索して一致した結果が表示されている。
検索は一つの同一のダイアログ応答にて、複数のModがある場合はいずれかのModの文言に一致すれば対象としている。
左ペインは一致したダイアログトピックの一覧で、ダイアログ応答のキー名称と種類、ヒットした件数。
ダイアログトピック応答でさらに絞り込みたい場合に選択するのと、どのようなダイアログトピックがあるかをわかるように表示している。
右ペイン上部がダイアログ応答でここで表示される応答の内容は、複数Modを読込んだ最後の対象で、内部的にはそのコピー。
上部の項目をクリックすると、さらに中部に競合しているModと読込んだ順の応答を表示する。
下部はクリックしたセルのテキストを表示している。
編集は下部のテキスト欄か、上部のセルを直接編集すれば内部で管理しているレコードに反映され、変更がマークされる。
この状態で保存か新規保存すれば、編集結果が出力される。
保存については、Mod選択した際に保存対象にチェックした場合に対象のModファイルを上書し、新規保存は変更があったものについてだけ新規ファイルに保存される。
文字だけだとわかりづらいので、この辺はどこかの段階で各画面のキャプチャを付けて個別に説明を作りたいと思う。
エクスポートとインポート
レコードとフィールドのフォーマット定義にてエクスポートとインポートが可能かの項目を追加。
項目がなければ対象外。
{ "RecordName": "WEAP", "Description": "Weapon", "IsShow": true, "IsEdit": true, "IsImport": true, "IsExport": true, "UniqueKeyFieldName": "NAME", "Fields": [ { "CountType": "Required", "FieldName": "NAME", "DataType": "zstring", "Description": "Weapon ID", "IsShow": true, "IsEdit": false, "IsImport": true, "IsExport": true }, { "CountType": "Required", "FieldName": "MODL", "DataType": "zstring", "Description": "Model filename", "IsShow": true, "IsEdit": false }, { "CountType": "Optional", "FieldName": "FNAM", "DataType": "zstring", "Description": "Weapon name", "IsShow": true, "IsEdit": true, "IsImport": true, "IsExport": true },
こうして見ると、エクスポートするものはインポートもするし、指定がなければ対象としないので、レコードにエクスポートとインポートをする対象のフィールド名を記載する配列にでもすればよかったかもしれない。
"ExportImportFieldNames": ["NAME", "FNAM"]
エクスポートすると次のようにタブ区切で出力される。ここでは武器を出力してみた。
NAME FNAM VFX_DefaultBolt steel mace Steel Mace steel dagger Steel Dagger spiked club Spiked Club steel broadsword Steel Broadsword steel shortsword Steel Shortsword imperial shortsword Imperial Shortsword steel spear Steel Spear steel tanto Steel Tanto imperial broadsword Imperial Broadsword iron longsword Iron Longsword iron shortsword Iron Shortsword nordic claymore Nordic Claymore steel dai-katana Steel Dai-katana iron claymore Iron Claymore silver longsword Silver Longsword ebony shortsword Ebony Shortsword ebony longsword Ebony Longsword silver shortsword Silver Shortsword :
これをスプレッドシートなりに貼り付けて、英語部分の列を丸ごとGoogle翻訳に貼り付けて、日本語の結果を貼り付けるといった感じで翻訳する。
それほど手間でもないので、翻訳自動化するほどでもなさそう。
翻訳については文字数制限があるので、スプレッドシートにて文字数などもチェックする。
以下はその結果をそのままインポートファイルとして作成した。
ヘッダー部分で対象を絞り込むので、余計な列が合っても影響はしない。
NAME 英語 FNAM 文字数 VFX_DefaultBolt 0 steel mace Steel Mace 鋼のメイス 10 steel dagger Steel Dagger 鋼の短剣 8 spiked club Spiked Club スパイククラブ 14 steel broadsword Steel Broadsword 鋼のブロードソード 18 steel shortsword Steel Shortsword 鋼のショートソード 18 imperial shortsword Imperial Shortsword インペリアルショートソード 26 steel spear Steel Spear 鋼の槍 6 steel tanto Steel Tanto 鋼タント 8 imperial broadsword Imperial Broadsword インペリアルブロードソード 26 iron longsword Iron Longsword アイアンロングソード 20 iron shortsword Iron Shortsword アイアンショートソード 22 nordic claymore Nordic Claymore ノルディッククレイモア 22 steel dai-katana Steel Dai-katana 鋼大刀 6 iron claymore Iron Claymore アイアンクレイモア 18 silver longsword Silver Longsword シルバーロングソード 20 ebony shortsword Ebony Shortsword エボニーショートソード 22 ebony longsword Ebony Longsword 黒檀ロングソード 16 silver shortsword Silver Shortsword シルバーショートソード 22
これを実際にインポートすると次のようになる。
これを新規保存して、個別Modとして読込み異常があるようであれば外せばよい。
これで、ほとんどの固有名詞などを簡単手軽に翻訳できるようになった。
今後
実際にゲームを進めつつ翻訳作業を進めて使い勝手やバグを修正して、よさそうなら公開できるように調整していく。