Fallout4のCreation Kitを日本語化(文字化け対策)した ※2019/10/12追記
※2019/10/12追記:プラグインの文字コード変換についても記事にしました。
https://kintaro654.hatenablog.com/entry/FO4MODCodeConversion
※2019/9/28追記:この記事を参考にしていただいたうえによりスマートにMOD化までしていただいた方が現れました!この記事を真似して自分で作業するよりもこのMODを導入した方が楽だと思います。
Bethesda Game Studio製作のゲームでは、ユーザーがゲームの内容をある程度自由に改変することができるツールがよく配布されており、Fallout4にも「Creation Kit(以下CK)」というものが存在します(ちなみにこの名称はSkyrimと同じです。ややこしいですね)。
大変便利でありがたいこのツールなのですが、我々日本人がこのCKを使おうとすると大抵の場合ある困った問題に直面します。
日本語のテキストが文字化けするのです。
このままでも使えないことはないのですが若干不便です。
なのでどうにかそれを修正して日本語が表示されるようにしましたので、この記事ではその過程について説明報告したいと思います。
修正したとはいっても私が何か持ち前の素晴らしい技術で解決法を発見したとかではなく、おばちゃんのスカイリムガイド様の記事のSkyrim版CKの日本語化方法を応用したらうまくいったというだけの話です。
だからこの方法に何かしらの問題があっても私にはわからないし解決のしようがないので、参考にしようとされる方がいればその点はご了承ください。
また、この記事の作業はFallout4本体の英語版を日本語化した環境で行いました。
なのでこの記事でも、英語版日本語化を行いその途中で日本語版の各種STRINGSファイルを抽出してバックアップを取っておいたことを前提にしていきます。
英語版日本語化に関してはこちらの日々ぴこぴこ様の記事を参考にするといいと思います。
- 必要なもの
- はじめに
- 作業環境を作る
- IL,DL,STRINGSファイルをCSVに変換
- CSVの文字コードをUTF-8からShift_JISに変換
- 文字コードを変換したCSVをSTRINGSに戻す
- Shift_JIS化したSTRINGSをCreation Kitで読み込む
- 残された問題
- 参考にしたサイト
必要なもの
・Fallout4本体
・Fallout4版のCreation Kit
・抽出されたFallout4日本語版の各種STRINGSファイル(IL、DL含む)※2019/9/28追記:上記のMODのように日本語版じゃなくて英語版のものを日本語化したものを使ったほうがいいです。
・Skyrim Strings File Tool(こちらからDLできます)
・CSVファイルの文字コードをUTF-8からShift_JISに変換できるアプリ(私はこれを使いました)
・何かしらのテキストエディタ(メモ帳で構いません)
・失敗しても自殺しないだけの気力
はじめに
そもそもなぜCKでは日本語を正しく表示できないのか?これには「文字コード」が関係してきます。
Fallout4(およびTESなどのBGS製ゲーム)ではゲーム内で表示するためのテキストは「STRINGS」という種類のファイルに格納されています。
そしてFallout4日本語版のSTRINGSファイルには「UTF-8」という文字コードが使用されていますが、CKはこれに対応していないので日本語が文字化けして表示されてしまうのです。
なのでこの記事では、STRINGSファイルの文字コードをCKでも正しく表示できる「Shift_JIS」に変換してCK用のSTRINGSファイルを作成し、それをCKで読み込めるようにする方法を説明していきたいと思います。
作業環境を作る
まずは作業用フォルダを作りましょう。場所はどこでもいいと思います。
Fallout4本体のフォルダの中に作ると混乱しそうなのでそこは避けたほうがいいでしょう(逆にそっちのほうが理解・整理しやすいという人がいたらお好みで)。
次に、その作業用フォルダに用意しておいたオリジナルのSTRINGS、ILSTRINGS、DLSTRINGSファイルを入れましょう。
DLCを導入しているならそのファイルを入れるのも忘れないように。
そしてこれらのファイルを変換するための「Skyrim Strings File Tool」も用意していきます。
上記のリンク先ページからダウンロードしたZIPファイルを解凍すると、「StringsUnpacker.exe」と「StringsPacker.exe」が入っているはずなのでそれを作業用フォルダに入れましょう(Readmeも忘れずに読んでおきましょう)。
必須ではないですが文字コード変換用のアプリも作業用フォルダに入れるなり、どこかすぐに使える場所に置いておくと作業がスムーズに進みます。
これで作業環境の準備は整いました。
IL,DL,STRINGSファイルをCSVに変換
Skyrim Strings File Toolはコマンドプロンプトから使用するツールです。
なのでまずは、コマンドプロンプトに入力するためのコマンドを書いていくためのメモ帳なりWordなり好きなテキストエディタを開きましょう。
最初からコマンドプロンプトに直打ちしていきたいというなら止めはしませんがオススメもしません。
エディタを開いたら以下の例のように各STRINGSファイルごとのコマンドを書いていきます。
StringsUnpacker /B Fallout4_ja.STRINGS Fallout4_ja_utf8.STRINGS.csv
StringsUnpacker /IL /B Fallout4_ja.ILSTRINGS Fallout4_ja_utf8.ILSTRINGS.csv
StringsUnpacker /DL /B Fallout4_ja.DLSTRINGS Fallout4_ja_utf8.DLSTRINGS.csv
この例で説明すると、まず"StringsUnpacker"で使用するツールを指定します。
この場合STRINGSファイルを変換するための「StringsUnpacker」を指定しています。
"/IL"はILSTRINGSファイルに、"/DL"はDLSTRINGSファイルに、"/B"はILとDLを含む全てのSTRINGSファイルに付けましょう。
"Fallout4_ja.STRINGS"などの変換元のファイル名は正確に記述しましょう。
"Fallout4_ja_utf8.STRINGS"部分の変換後のファイル名は自分でわかりやすければ好きな名前で構いませんが、最低限「元のファイル」をわかるようにして末尾の".csv"は付け忘れないようにしましょう。
DLCを導入しているならその分のコマンドもこの規則に従って以下のように書いていきます。
StringsUnpacker /B DLCRobot_ja.STRINGS DLCRobot_ja_utf8.STRINGS.csv
StringsUnpacker /IL /B DLCRobot_ja.ILSTRINGS DLCRobot_ja_utf8.ILSTRINGS.csv
StringsUnpacker /DL /B DLCRobot_ja.DLSTRINGS DLCRobot_ja_utf8.DLSTRINGS.csv
StringsUnpacker /B DLCCoast_ja.STRINGS DLCCoast_ja_utf8.STRINGS.csv
StringsUnpacker /IL /B DLCCoast_ja.ILSTRINGS DLCCoast_ja_utf8.ILSTRINGS.csv
StringsUnpacker /DL /B DLCCoast_ja.DLSTRINGS DLCCoast_ja_utf8.DLSTRINGS.csv
StringsUnpacker /B DLCNukaWorld_ja.STRINGS DLCNukaWorld_ja_utf8.STRINGS.csv
StringsUnpacker /IL /B DLCNukaWorld_ja.ILSTRINGS DLCNukaWorld_ja_utf8.ILSTRINGS.csv
StringsUnpacker /DL /B DLCNukaWorld_ja.DLSTRINGS DLCNukaWorld_ja_utf8.DLSTRINGS.csv
StringsUnpacker /B DLCworkshop01_ja.STRINGS DLCworkshop01_ja_utf8.STRINGS.csv
StringsUnpacker /IL /B DLCworkshop01_ja.ILSTRINGS DLCworkshop01_ja_utf8.ILSTRINGS.csv
StringsUnpacker /DL /B DLCworkshop01_ja.DLSTRINGS DLCworkshop01_ja_utf8.DLSTRINGS.csv
StringsUnpacker /B DLCworkshop02_ja.STRINGS DLCworkshop02_ja_utf8.STRINGS.csv
StringsUnpacker /IL /B DLCworkshop02_ja.ILSTRINGS DLCworkshop02_ja_utf8.ILSTRINGS.csv
StringsUnpacker /DL /B DLCworkshop02_ja.DLSTRINGS DLCworkshop02_ja_utf8.DLSTRINGS.csv
StringsUnpacker /B DLCworkshop03_ja.STRINGS DLCworkshop03_ja_utf8.STRINGS.csv
StringsUnpacker /IL /B DLCworkshop03_ja.ILSTRINGS DLCworkshop03_ja_utf8.ILSTRINGS.csv
StringsUnpacker /DL /B DLCworkshop03_ja.DLSTRINGS DLCworkshop03_ja_utf8.DLSTRINGS.csv
このコマンド文なんですが、書くのがとっっても大変でした。
PCに詳しい方ならこの作業も自動化できたのかもしれませんが、私にはそういった技術がなかったので手作業で一行一行入力していきました……。
この記事を読んでいてこれから作業をする方がいるなら、上記の例文をコピペすれば楽ができるでしょう(それによって何か問題が発生しても責任はとれませんのであしからず)。
ともあれ、コマンドの用意ができたらコマンドプロンプトを開きましょう。
スタートメニューから検索するか、Win + Rで開く「ファイル名を指定して実行」に「cmd」と入力すれば開くことができます。
コマンドプロンプトが開いたら、
cd "作業用フォルダのアドレス"
を入力して(""は不要)作業用フォルダを指定します。
後は用意しておいたコマンドをコマンドプロンプトにコピペして実行しましょう(余談ですがWin10だとコマンドプロンプト上でCtr + Vが使えるんですね……。この作業をしていて気がつきました)。
一連の作業が成功していれば、作業用フォルダに変換されたCSVファイルが存在するはずです。
そうなればこの段階の作業は終わりです。
CSVの文字コードをUTF-8からShift_JISに変換
次に取り掛かるのは前段階で作成したCSVファイルの文字コードの変換作業です。
とはいっても、これに関しては使用するツールによって作業内容が変わるのであまり説明できることもありません。
私が使用したのは上記にも挙げた「FileCode Checker」ですが、このアプリの場合は.exeを実行したら出てくるウィンドウに変換するファイルをドラッグ&ドロップして、文字コードの欄からShift_JISを選択したら「変換」ボタンを押すだけです。楽チンです。
ただ、ここで一つ小さな問題が発生するかもしれません。
DLCworkshop02(Contraptions Workshop)のILSTRINGS(をCSV化した)ファイルの文字コードがShift_JISに変換できないのです。
これの原因には一応心当たりがあります。
実は、このContraptions WorkshopのILSTRINGSファイルには最初から中身が存在しないのです。空っぽです。虚無です。
なので文字コードもなにもないという訳です。
しかし、この問題は今は無視しても構わないので次の段階に進みましょう。
文字コードを変換したCSVをSTRINGSに戻す
次の作業ではもう一度Skyrim Strings File Toolのお世話になります。
それはつまり、もう一度コマンド文を打ち込んでいく苦しみを味わうことも意味しています。
ですがご安心ください、恐らく味わうのはこの作業を実行していた当時の私だけでしょう(ご一緒に味わいたい方はぜひ味わいましょう!)。
この段階では文字コードを変更したCSVファイルをSkyrim Strings File ToolによってSTRINGSファイルに戻していきます。
なのでまたテキストエディタを開いて以下の例のようにコマンドを書いていきます。
StringsPacker /B /E932 Fallout4_ja_utf8.STRINGS.csv Fallout4_jaSJIS.STRINGS
StringsPacker /IL /B /E932 Fallout4_ja_utf8.ILSTRINGS.csv Fallout4_jaSJIS.ILSTRINGS
StringsPacker /DL /B /E932 Fallout4_ja_utf8.DLSTRINGS.csv Fallout4_jaSJIS.DLSTRINGS
説明しますと、"StringsPacker"は使用するツールを指定しています。
CSV化したファイルを元のSTRINGSファイルに変換するためのツールです。
"/IL"、"/DL"、"/B"も前回と同じ用に付け忘れないようにしましょう。
"/E932"というのはCSVファイルの文字コード(Shift_JIS)の指定です。
"Fallout4_ja_utf8.STRINGS.csv"はSTRINGSに戻すCSVファイルの名前ですので、正確に記述しましょう。
"Fallout4_jaSJIS.STRINGS"は変換後のファイル名ですが、これにはいくつか細かい規則があります。
まず、"Fallout4"の部分はそのSTRINGSファイルがFallout4本体及び各DLCのどれで使用されるかを表しています。
なので手をつける前の元々のSTRINGSファイルと一致させて間違えないようにしましょう。
"_"(アンダーバー)も忘れずにつけてください。
"jaSJIS"の部分は本来は対応している言語を表記する部分です。
"en"や"ja"などの既存の言語設定と被らないようにして、他の全てのSTRINGSファイルと一致させましょう。
例によって、DLCを導入しているならその分のコマンドもこれらの同じ規則に従って書いていきます。
StringsPacker /B /E932 DLCRobot_ja_utf8.STRINGS.csv DLCRobot_jaSJIS.STRINGS
StringsPacker /IL /B /E932 DLCRobot_ja_utf8.ILSTRINGS.csv DLCRobot_jaSJIS.ILSTRINGS
StringsPacker /DL /B /E932 DLCRobot_ja_utf8.DLSTRINGS.csv DLCRobot_jaSJIS.DLSTRINGS
StringsPacker /B /E932 DLCCoast_ja_utf8.STRINGS.csv DLCCoast_jaSJIS.STRINGS
StringsPacker /IL /B /E932 DLCCoast_ja_utf8.ILSTRINGS.csv DLCCoast_jaSJIS.ILSTRINGS
StringsPacker /DL /B /E932 DLCCoast_ja_utf8.DLSTRINGS.csv DLCCoast_jaSJIS.DLSTRINGS
StringsPacker /B /E932 DLCNukaWorld_ja_utf8.STRINGS.csv DLCNukaWorld_jaSJIS.STRINGS
StringsPacker /IL /B /E932 DLCNukaWorld_ja_utf8.ILSTRINGS.csv DLCNukaWorld_jaSJIS.ILSTRINGS
StringsPacker /DL /B /E932 DLCNukaWorld_ja_utf8.DLSTRINGS.csv DLCNukaWorld_jaSJIS.DLSTRINGS
StringsPacker /B /E932 DLCworkshop01_ja_utf8.STRINGS.csv DLCworkshop01_jaSJIS.STRINGS
StringsPacker /IL /B /E932 DLCworkshop01_ja_utf8.ILSTRINGS.csv DLCworkshop01_jaSJIS.ILSTRINGS
StringsPacker /DL /B /E932 DLCworkshop01_ja_utf8.DLSTRINGS.csv DLCworkshop01_jaSJIS.DLSTRINGS
StringsPacker /B /E932 DLCworkshop02_ja_utf8.STRINGS.csv DLCworkshop02_jaSJIS.STRINGS
StringsPacker /IL /B /E932 DLCworkshop02_ja_utf8.ILSTRINGS.csv DLCworkshop02_jaSJIS.ILSTRINGS
StringsPacker /DL /B /E932 DLCworkshop02_ja_utf8.DLSTRINGS.csv DLCworkshop02_jaSJIS.DLSTRINGS
StringsPacker /B /E932 DLCworkshop03_ja_utf8.STRINGS.csv DLCworkshop03_jaSJIS.STRINGS
StringsPacker /IL /B /E932 DLCworkshop03_ja_utf8.ILSTRINGS.csv DLCworkshop03_jaSJIS.ILSTRINGS
StringsPacker /DL /B /E932 DLCworkshop03_ja_utf8.DLSTRINGS.csv DLCworkshop03_jaSJIS.DLSTRINGS
上記の例文をコピペする場合は自己責任でお願いします。
コマンドが用意できたら上記で説明した通りにコマンドプロンプトを開き、作業用フォルダを指定してコマンドをコピペして実行しましょう。
作業用フォルダに新たに命名したSTRINGSフォルダが存在していれば作業は成功です。
この時、場合によってはDLCworkshop02のILSTRINGSが足りないかもしれませんがまだ無視しても大丈夫です。
次の段階に進みましょう。
Shift_JIS化したSTRINGSをCreation Kitで読み込む
まずはこれまでの工程で作成したCK用STRINGSファイルを全て、Fallout4のStringsフォルダに入れましょう。
フォルダは Fallout4 > Data > Strings にあるはずです。
ここでDLCworkshop02のCK用ILSTRINGSが不足している場合は、まずオリジナルのILSTRINGSファイルを同じフォルダ内でコピーします。
そうしたら、コピーしたファイルを他のCK用STRINGSと同じ規則に従ってリネームしてください(上記の例をコピペして作業を進めているなら"DLCworkshop02_jaSJIS.ILSTRINGS"になります)。
かなり雑な解決の仕方ですが、元々中身は空なのですし大きな問題は発生しないはずです。たぶん。
発生したらごめんなさい、謝ります。
次の作業は「CreationKit.ini」の編集です。
CKをインストールしていればFallout4フォルダにあるはずなので、見つけてメモ帳などで開いてください。
iniを開いたら[General]の項目に
sLanguage=
の行を追加して、末尾にCK用STRINGSのファイル名で決めた言語名を足してください(ここまでコピペしているなら"jaSJIS")です。
CKの言語設定が終わったら、iniを保存して閉じてください。
ここまでの作業が全てうまくいっているなら、これでCKの日本語対応化(文字化け対策)は完了です。
お疲れさまでした!
それでは早速CKを開いて結果を確認してみましょう。
CKを起動したらバニラのプラグインを読み込んでみてください。
そうすると……
これで英語が苦手な日本人にもだいぶ使いやすくなったはずです。
そういう私はまだあまりCKを使ってはいませんが……。
というか環境構築をダラダラ進めているだけでゲーム自体できてませんね……。
残された問題
長い作業を終えるとこれで万事が解決し人生世の中全てがうまくいくような気がしてきますが、残念ながらまだ問題が残っています。
今回の作業ではバニラのSTRINGSファイルをShift_JIS化することでCKに日本語を表示させることに成功しました。
なので、MODの日本語テキストは放置されています。確認はしていませんがおそらく文字化けしてしまうでしょう。
これだと日本語化したMODをCK上で編集しようとする時などに困ってしまいそうです。
この記事の大きな参考元であるおばちゃんのスカイリムガイド様の記事では「Skyrim Strings Localizer」を使用してこの問題を解決していますが、このツールはSkyrim用ですしNexusでの配布も終了しているようですので使えません。
Fallout4のMODに使える翻訳ツールとしては「xTranslator」が存在しますが、どうやらこちらにも文字コードをどうこうする機能はある様子……?
ごめんなさい、この記事を書いている時点で私はまだxTranslatorには全く触れていないので何もわかりません。
MODデータベースの情報なども参考にしてがんばれば何かうまくいく方法が見つかると思います。
今後、何か方法を知ったり思いついたりしたらこの記事に追記したり新しく記事にしたりするかもしれません。
方法がわかったので記事にしました。
このように無責任なかたちで本当に申し訳ありませんが、ここでこの記事は終わりにさせていただきたいと思います。
読んでいただきありがとうございました!
参考にしたサイト
・おばちゃんのスカイリムガイド 様
該当記事:スカイリム CK(クリエイションキット)の日本語化 | おばちゃんのスカイリムガイド
・MODとか日本語化とか色々 様
・日々ぴこぴこ 様
該当記事:fallout4 公式英語版日本語化 - 日々ぴこぴこ
Twitterもやっています!よければフォローしてください!