読者です 読者をやめる 読者になる 読者になる

Thinking Skeever

Skyrim/The Witcher 3 Modについてのあれこれ。FoModの作り方、Mod導入時のトラブル事例などのニッチな話を書いていきます。a.k.a. BowmoreLover@nexusmods

The Witcher 3 MOD:MODの日本語化手順(パッチ1.30/1.31対応)

f:id:thinkingskeever:20160606114041p:plain

The Witcher 3のMODの日本語化(翻訳)手順をまとめておきます。
SkyrimFallout 4とは異なり、The Witcher 3ではMODの日本語化ファイルがあまり流通していません。
本手順は自力で翻訳して日本語化するためものであることに注意してください。

なお、以下のMODについては作者に日本語化ファイルを送付し、NexusModsページで配布していただいています。ご活用ください。


f:id:thinkingskeever:20151114030550p:plain

The Witcher 3のMODの日本語化手順 目次

f:id:thinkingskeever:20151114030550p:plain

はじめに

本記事はThe Witcher 3のMODを翻訳して日本語化する手順をまとめたものです。
パッチ1.21, 1.22, 1.30, 非GOTY版(Steam版)1.31で動作確認済みです。
GOG GOTY Edition 1.31は持っていないので未確認ですが、本手順で問題ないはずです。


f:id:thinkingskeever:20151114030550p:plain

用意するもの


f:id:thinkingskeever:20151114030550p:plain

日本語化手順

日本語化の流れ

f:id:thinkingskeever:20160612215010p:plain


f:id:thinkingskeever:20151114030550p:plain

手順1:文字列ファイルのデコード

MODのローカライズ文字列はcontentフォルダ内の以下のファイルに格納されています。

ファイル名 言語
ar.w3strings アラビア語
br.w3strings ブラジル系ポルトガル語
cz.w3strings チェコ語
de.w3strings ドイツ語
en.w3strings 英語
es.w3strings スペイン語
esMX.w3strings 南米スペイン語
fr.w3strings フランス語
hu.w3strings ハンガリー語
it.w3strings イタリア語
jp.w3strings 日本語
kr.w3strings 韓国語
pl.w3strings ポーランド
ru.w3strings ロシア語
zh.w3strings 中国語

これらのファイルが存在しない場合、MODが多言語に対応していないか、ローカライズの必要がないMODです。

中身が英語のjp.w3stringsが用意されている場合がありますが、オリジナル言語と中身が異なる(古い)場合もありますので、本記事ではen.w3stringsからデコードします。

まず、en.w3stringsをw3strings encoderインストールフォルダにコピーします。

次に、コマンドプロンプトを開いてw3strings encoderのインストールフォルダに移動し、次のコマンドを実行します。

実行するコマンド:

w3strings -d en.w3strings

実行例:

C:\Witcher3wk\tools\w3strings encoder>w3strings -d en.w3strings
w3strings decoder/encoder v0.3.3
INFO - DECODING en.w3strings to en.w3strings.csv
INFO - opening en.w3strings...
INFO - identified language: en
INFO - found 73 strings
INFO - found 73 string key mapping infos
INFO - creating en.w3strings.csv...
INFO - storing 73 strings

これで次のファイルが作成されます。

  • en.w3string.csv 英語用の文字列テキストファイル


f:id:thinkingskeever:20151114030550p:plain

手順2:翻訳

テキストエディタでen.w3string.csvを開きます。
例えば、Friendly HUDだとこんな感じになっています

;meta[language=en]
; id      |key(hex)|key(str)| text
2110365000|4d5f8b0c||Mods
2110365001|d82f25be||Friendly HUD
2110365002|00331264||HUD
2110365003|060c4b8c||Enable combat modules
2110365004|a26f225c||Enable combat modules on sword unsheathe
    (以下略)

language=enをlanguage=jpに変更したあと、(|で区切って)4列目のtext列を翻訳します。
特殊文字や制御コードはhtmlタグで記述する規則となっていますので、改行・タブなどの制御コードを入力しないよう注意します。

;meta[language=jp]
; id      |key(hex)|key(str)| text
2110365000|4d5f8b0c||Mods
2110365001|d82f25be||Friendly HUD
2110365002|00331264||HUD
2110365003|060c4b8c||戦闘モジュールを有効にする
2110365004|a26f225c||抜刀時に戦闘モジュールを有効にする
    (以下略)

次に、MODのID空間番号を確認します。ID空間番号はMOD毎に割り当てられた分類コードのようなもので、後で文字列ファイルをエンコードする際に必要となります。
id列の4桁目~7桁目がID空間番号です。この例ですと0365ですね。この番号を控えておいてください。


翻訳が終わったらファイルを次の形式で保存します。

  • ファイル名:jp ※拡張子を付けないこと
  • 改行コード:Unix形式(LFのみ)
  • 文字コードUTF-8(BOMなし) ※BOMを付けないこと!


f:id:thinkingskeever:20151114030550p:plain

手順3:表示不可文字のチェック

一般的な日本語フォントでは約7500種類の文字(半角文字+JISX0208漢字)が表示できますが、The Witcher 3 日本語版では2830種類しか表示できません。
対応していない漢字を表示しようとすると■に文字化けします。
f:id:thinkingskeever:20160612131917p:plain

拙作のツール TESVKanjiChecker を使えば、文字化けする文字を事前にチェックすることができます。
元々Skyrim用のツールですが、オプションのパッチを使えばThe Witcher 3にも対応できます。
f:id:thinkingskeever:20160612131933p:plain


f:id:thinkingskeever:20151114030550p:plain

手順4:文字列ファイルのエンコード

コマンドプロンプトを開いてw3strings encoderのインストールフォルダに移動し、次のコマンドを実行します。
ID空間番号はMOD毎に違いますので間違えないように注意してください。

実行するコマンド:

w3strings -e jp -i ID空間番号4桁

実行例:

C:\Witcher3wk\tools\w3strings encoder>w3strings -e jp -i 0365
w3strings decoder/encoder v0.3.3
INFO - ENCODING jp to jp.w3strings (testscript: jp.w3strings.ws)
INFO - opening jp...
INFO - identified language: jp
INFO - verifying string ids are within [2110365000..2110365999]
INFO - creating jp.w3strings...
INFO - storing language: jp
INFO - storing 73 strings
INFO - creating jp.w3strings.ws...

これで次の2ファイルが作成されます。

  • jp.w3strings :日本語用文字列ファイル
  • jp.w3strings.ws :テスト用スクリプト

jp.w3strings.wsはUTF-8形式で作成されますが、Witcher ScriptではUnicode(UTF-16)形式でないとマルチバイト文字が正しく読み取れないので、Unicode(UTF-16) BOM付で保存しなおします。



f:id:thinkingskeever:20151114030550p:plain

手順5:インストールとテスト

作成したファイルを次のフォルダにコピーします。

ファイル コピー先フォルダ
jp.w3strings TW3フォルダ/Mods/対象のMODフォルダ/content
jp.w3strings.ws TW3フォルダ/Mods/対象のMODフォルダ/content/scripts
testUtils.ws TW3フォルダ/Mods/対象のMODフォルダ/content/scripts

※testUtils.wsはw3strings encoderにバンドルされています。


The Witcher 3を起動し、ゲームデータをロードします。
F2キーを押してデバッグコンソールを開き、次のコマンドを入力します。

test_verifyW3Strings()

※日本語キーボードで記号が打ち込みにくい場合、Ctrl+Vでペーストすると楽です。


次のようなメッセージが出れば正常です。FAILEDと表示された場合、エンコード失敗・テストスクリプトと文字列ファイルの不一致・テストスクリプト文字コード不正の可能性があります。
f:id:thinkingskeever:20160612132041p:plain

後は実際にゲームをプレイして日本語が正しく表示されることを確認します。

テストが完了したらjp.w3strings.wsとtestUtils.wsを削除します。



f:id:thinkingskeever:20151114030550p:plain

その他のヒント

The Witcher 3のModsフォルダに余分なファイルを置かないこと

パソコンでの作業時に、ファイルを同一フォルダやサブフォルダにコピーしてバックアップすることが良くありますね。
The Witcher 3のModsフォルダでこれをやるとバックアップした古いファイルが参照されることにより日本語化がうまくいかない(修正しても修正しても古い翻訳結果が表示される)結果となりますのでご注意ください。

The Witcher 3/
  Mods/
    modHogeHoge/
      content/
        jp.w3strings  <-- これをいくら修正してもbackupフォルダの古いファイルが参照されてしまう!
        backup/
          jp.w3strings

f:id:thinkingskeever:20151114030550p:plain

日本語用文字列ファイルの配布について

  • MOD作者の許可を取りましょう。
  • MOD作者に送って本体にバンドルしてもらうのが楽です。
  • MOD作者にはエンコード前のテキストファイルとエンコード済みファイルの両方を送りましょう。
  • MODによっては翻訳者向けのCSVファイルが用意されている場合があります。その場合は作者指定のCSVファイルを翻訳しましょう。

f:id:thinkingskeever:20151114030550p:plain

変更履歴

  • 2016/06/12 13:30 - 公開
  • 2016/06/16 20:00 - パッチv1.22に関する記述を追加
  • 2016/06/17 08:00 - パッチv1.22のデバッグコンソールMODを追記
  • 2016/06/25 12:00 - 日本語化済のMOD一覧を明記
  • 2016/08/31 12:00 - パッチv1.30リリースに伴う修正
  • 2016/09/06 11:00 - パッチv1.31についての追記
  • 2016/11/09 05:00 - その他のヒントを追記

//

Copyright (C) 2015,2017 ThinkingSkeever, All Rights Reserved.
ブログの記事内に記載されているメーカー名、製品名称等は、日本及びその他の国における各企業の商標または登録商標です。
リンクはご自由に。記事の転載はご遠慮ください。記事を引用する場合はトラックバックするか元のURLを明記してください。