Skyrim Special Edition(以下、SkyrimSE)の日本語化手順の説明。
Skyrim向けの手順はこちら
いわゆる旧方式の説明。Skyrimでは新方式だとCreationKitが起動できないため、おそらくSEでも同じだと思われる。
Mod製作者であればこちらを選択すべきだろう。
ついでにsseTranslatorのセットアップも同時に行うこととする。

事前準備

SkyrimSE環境のバックアップとクリーニング

NexusModManagerを使用しているのであれば、すべてのMODを無効化する。
手動インストールの場合は手作業で必要なファイルをバックアップする。

SkyrimSEをアンインストールする。
uninstall.jpg

以下のフォルダ内にある残留ファイルを消す。必要に応じてバックアップもしておくこと。

  • C:\Users\{ユーザー名}\Documents\My Games\Skyrim Special Edition
  • C:\Users\{ユーザー名}\AppData\Local\Skyrim Special Edition
  • SkyrimSEインストール場所 (例: G:\SteamLibrary\steamapps\common\Skyrim Special Edition)

ツールのインストール

sseTranslator

以下のリンクからダウンロードし、適当な場所に解凍する。
https://www.nexusmods.com/skyrimspecialedition/mods/134/

BSABrowser

以下のリンクからダウンロードし、適当な場所に解凍する。
https://www.nexusmods.com/skyrimspecialedition/mods/1756/

日本語化作業

日本語版SkyrimSEデータの取得

Steam上のゲームプロパティを開き、日本語 (Japanese)に設定してインストールを行う。
set_lang-ja.jpg

インストール後、念のためファイルの整合性チェックを行うこと。
check_consist.jpg

Skyrimインストールフォルダを開き、中身を丸ごと適当な場所にコピーする。圧縮して保存するとなお良い。

コピーが完了したら、日本語版SkyrimSEはアンインストールする。
インストールフォルダに残留ファイルが残った場合には、それもきれいに削除しておく。

英語版SkyrimSEデータの取得

Steam上のゲームプロパティを開き、English (英語)に設定してインストールを行う。
set_lang-en.jpg

インストール後、念のためファイルの整合性チェックを行うこと。
check_consist.jpg

Skyrimインストールフォルダを開き、中身を丸ごと適当な場所にコピーする。圧縮して保存するとなお良い。

言語関連データを取り出す

コピーしておいた日本語版と英語版から、言語に関連するファイルを抽出する。

日本語版

BSABrowserを起動し、コピーしておいた日本語版SkyrimSEデータData\Skyrim - Patch.bsaを開く。

browse_bsa.jpg

BSA内のファイル一覧が表示されるので、以下のファイルを選択して右クリック→Extract Foldersで適当な場所に展開する。
この後英語版も作業するので、ja-144のようなフォルダを作成してその中に展開することをおすすめする。

日本語版抽出対象のファイル
interface\book.swf
interface\fonts_en.swf
interface\translate_japanese.txt

extract_file.jpg

なおinterface\fonts_en.swfは英語版とファイル名が重複してややこしいので、interface\fonts_ja.swfにリネームしておくこととする。

英語版

BSABrowserを起動し、コピーしておいた英語版SkyrimSEデータData\Skyrim - Patch.bsaを開く。

BSA内のファイル一覧が表示されるので、以下のファイルを選択して右クリック→Extract Foldersで適当な場所に展開する。
日本語版の時と同様に、en-1516のようなフォルダを作成してその中に展開することをおすすめする。

英語版抽出対象のファイル
interface\translate_english.txt
strings\dawnguard_english.dlstrings
strings\dawnguard_english.ilstrings
strings\dawnguard_english.strings
strings\dawnguard_japanese.dlstrings
strings\dawnguard_japanese.ilstrings
strings\dawnguard_japanese.strings
strings\dragonborn_english.dlstrings
strings\dragonborn_english.ilstrings
strings\dragonborn_english.strings
strings\dragonborn_japanese.dlstrings
strings\dragonborn_japanese.ilstrings
strings\dragonborn_japanese.strings
strings\hearthfires_english.dlstrings
strings\hearthfires_english.ilstrings
strings\hearthfires_english.strings
strings\hearthfires_japanese.dlstrings
strings\hearthfires_japanese.ilstrings
strings\hearthfires_japanese.strings
strings\skyrim_english.dlstrings
strings\skyrim_english.ilstrings
strings\skyrim_english.strings
strings\skyrim_japanese.dlstrings
strings\skyrim_japanese.ilstrings
strings\skyrim_japanese.strings
strings\update_english.dlstrings
strings\update_english.ilstrings
strings\update_english.strings
strings\update_japanese.dlstrings
strings\update_japanese.ilstrings
strings\update_japanese.strings

sseTranslatorのセットアップ

英語版から取り出したstringsフォルダを、フォルダごとsseTranslatorのインストールフォルダ内にコピーする。

xTranslator.exeを起動する。初回起動時にどのゲーム向けで起動するか聞かれるのでSkyrimSEを選択する。

choose_game.jpg

起動時にオプション設定が開くので設定を行う。

  • Directionaries and languages
    • Destination Language : japanese
    • .\data folder : SkyrimSEインストールフォルダ\Data
    • .\strings folder : sseTranslatorインストールフォルダ\strings

setting1_option.jpg

  • Options...
    • Intarface : Japanese

setting2_option.jpg

インターフェース言語をJapaneseに設定してOKを押すと、自動でツールが再起動して日本語表示になる。

自動翻訳を有効にするため、辞書を作成する。
メニューバーの "オプション" から、"言語と辞書" を選択し、以下のように設定して辞書作成を実行する。

  • 高度な辞書 (.esm + .strings)
  • .\stringsフォルダのstringファイルのみ使用する(bsa/ba2を無視)

create_dict.jpg

少し経ったのち辞書が作成される。これで自動翻訳が行われるようになる。
created_dict.jpg

翻訳済みデータフォルダの作成

似たファイル名の操作が多いため、誤操作防止に翻訳済みデータを置くフォルダを作成しておく。
フォルダ構造は以下のようにしておくと、丸ごと圧縮してNexusModManagerで導入するといった運用もできるのでおすすめする。

  • 翻訳済みデータフォルダ
    • interface
    • strings

UI向け言語ファイルの翻訳

UI向けの言語ファイルはinterface\translate_言語名.txtといったファイルを指す。
英語版と日本語版では内容に差異があるため、sseTranslatorを使って翻訳する。

sseTranslatorを起動し、メニューバーの "ファイル" から "MCM/Translateテキストを開く" から英語版のtranslate_english.txtを選択する。

load_translate.jpg

読み込みが完了したら、メニューバーの "ツール" から "MCM/Translateテキストを開く(比較)" を選択し、日本語版のtranslate_japanese.txtを選択する。
比較オプションは "確認済みの文字列を除く" のままで良い。

compare_translatetranslate.jpg

文字が比較され、日本語版translatorファイルにある文言に関しては翻訳(赤以外の表示)され、翻訳できなかったものに関しては赤で示される。赤の部分は任意に翻訳すると良い。

compared_translatetranslate.jpg

が、注意点として以下の部分は翻訳してはならない(後述)。
自動翻訳で翻訳されてしまう場合もあるため、右クリックから "訳を破棄" で翻訳を解除する。

翻訳してはいけない箇所※大文字小文字に注意
$Apparel
$Back
$BUY
$BUY NOW
$CANCEL
$creation credits
$Creation Credits Purchased
$Creation Purchase Failed
$Creatures
$Details
$DETAILS
$Download
$DOWNLOAD
$DOWNLOADING...
$Featured
$GALLERY
$INSTALLED
$OFF
$Owned
$Purchase Creation
$Purchase Credits
$Purchased
$UPDATE
$Weapons

UIに不具合が見られた場合は都度修正すること。

問題がなければ、メニューバーの "ファイル" から "MCM/Translateテキストを別名で出力" を選択し、翻訳データ置き場\interfaceフォルダを指定して保存する。

言語更新を続行して良いかのメッセージは "はい" を選択する。誤操作を気にしないのであれば、"再表示しない" にチェックをいれて、次回から聞かれないようしても良い。
updatelang_confirm.jpg

正常に保存されれば、保存先にtranslate_japanese.txtというファイル名でファイルが作成される。
このファイルはファイル名をtranslate_english.txtに変更しておくこと。

ゲーム内テキスト向け言語ファイルの翻訳

ゲーム内テキスト向けの言語ファイルはstrings\translate_言語名.stringsといったファイルを指す。
英語版と日本語版では内容に差異があるため、sseTranslatorを使って翻訳する。

sseTranslatorを起動し、メニューバーの "ファイル" から "Stringファイルを開く" からskyrim_english.stringsを選択する。

load_strings.jpg

読み込みが完了したら、メニューバーの "ツール" から "Stringsファイルの翻訳を読み込む" を選択し、skyrim_japanese.stringsを選択する。
比較オプションは "確認済みの文字列を除く" のままで良い。
load_translatestrings.jpg

文字が比較され、日本語版translatorファイルにある文言に関しては翻訳(赤以外の表示)され、翻訳できなかったものに関しては赤で示される。赤の部分は任意に翻訳すると良い。

2017-10-08_15h06_43.jpg

問題がなければ、メニューバーの "ファイル" から "STRINGSテキストを別名で出力" を選択し、翻訳データ置き場\stringsフォルダを指定して保存する。

正常に保存されれば、保存先にskyrim_japanese.strings, skyrim_japanese.ilstrings, skyrim_japanese.dlstringsというファイル名で3ファイルが作成される。

他のStringsファイル4種類(update, dawnguard, hearthfires, dragonborn)も同様に実施し、合計15個の翻訳済みstringsファイルを作成する。

ファイルを作成し終えたらファイル名をリネームするが、数が多いため間違う可能性がある。そこで翻訳済みStringsフォルダ内に以下の内容でバッチファイル(.bat)を作成して実行すると一括でリネームできる。

リネーム用バッチファイル
@echo off
setlocal
cd /d %~dp0

rem 元のファイルをバックアップ
mkdir original
copy dawnguard_english.dlstrings original\
copy dawnguard_english.ilstrings original\
copy dawnguard_english.strings original\
copy dragonborn_english.dlstrings original\
copy dragonborn_english.ilstrings original\
copy dragonborn_english.strings original\
copy hearthfires_english.dlstrings original\
copy hearthfires_english.ilstrings original\
copy hearthfires_english.strings original\
copy skyrim_english.dlstrings original\
copy skyrim_english.ilstrings original\
copy skyrim_english.strings original\
copy update_english.dlstrings original\
copy update_english.ilstrings original\
copy update_english.strings original\

rem 翻訳済みデータをリネーム
move /Y dawnguard_japanese.dlstrings dawnguard_english.dlstrings
move /Y dawnguard_japanese.ilstrings dawnguard_english.ilstrings
move /Y dawnguard_japanese.strings dawnguard_english.strings
move /Y dragonborn_japanese.dlstrings dragonborn_english.dlstrings
move /Y dragonborn_japanese.ilstrings dragonborn_english.ilstrings
move /Y dragonborn_japanese.strings dragonborn_english.strings
move /Y hearthfires_japanese.dlstrings hearthfires_english.dlstrings
move /Y hearthfires_japanese.ilstrings hearthfires_english.ilstrings
move /Y hearthfires_japanese.strings hearthfires_english.strings
move /Y skyrim_japanese.dlstrings skyrim_english.dlstrings
move /Y skyrim_japanese.ilstrings skyrim_english.ilstrings
move /Y skyrim_japanese.strings skyrim_english.strings
move /Y update_japanese.dlstrings update_english.dlstrings
move /Y update_japanese.ilstrings update_english.ilstrings
move /Y update_japanese.strings update_english.strings

pause
exit

リネーム後はバッチファイルを削除する。

フォントファイル等のコピー

日本語版抽出データのinterface\fonts_ja.swf, book.swfと、英語版抽出データのinterfaceフォルダにあるlevelupmenu.swf翻訳データ置き場\interfaceフォルダにコピーする。

フォント設定ファイルの作成

以下の内容で翻訳データ置き場\interfaceフォルダにfontconfig.txtという名前でテキストファイルを作成する。文字コードはUTF-8にすること!
メモ帳はShift-JISになってしまうため、サクラエディタSublimeTextなどのテキストエディタを使ってUTF-8で保存すること。

interface\fontconfig.txt
fontlib "Interface\fonts_en.swf"
fontlib "Interface\fonts_ja.swf"
map "$ConsoleFont" = "Skyrim_JP_EveryFont" Normal
map "$StartMenuFont" = "Skyrim_JP_EveryFont" Normal
map "$DialogueFont" = "Skyrim_JP_EveryFont" Normal
map "$EverywhereFont" = "Skyrim_JP_EveryFont" Normal
map "$EverywhereBoldFont" = "Skyrim_JP_EveryFont" Normal
map "$EverywhereMediumFont" = "Skyrim_JP_EveryFont" Normal
map "$DragonFont" = "Dragon_script" Normal
map "$SkyrimBooks" = "Skyrim_JP_BookFont" Normal
map "$HandwrittenFont" = "Skyrim_JP_HandWriteFont" Normal
map "$HandwrittenBold" = "Skyrim_JP_HandWriteFont" Normal
map "$FalmerFont" = "Falmer" Normal
map "$DwemerFont" = "Dwemer" Normal
map "$DaedricFont" = "Daedric" Normal
map "$MageScriptFont" = "Mage Script" Normal
map "$SkyrimSymbolsFont" = "SkyrimSymbols" Normal
map "$SkyrimBooks_UnreadableFont" = "SkyrimBooks_Unreadable" Normal
map "$CreditsFont" = "Futura Condensed" Normal
map "$CClub_Font" = "Eurostile LT Std" Roman
map "$CClub_Font_Bold" = "Eurostile LT Std" Demi
map "ControllerButtons" = "Controller  Buttons" Normal
map "ControllerButtonsInverted" = "Controller  Buttons inverted" Normal
validNameChars "ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ"

validNameCharsは長いため割愛した。自身のキャラクター名に使いたい文字があれば、""の中に書き足すこと。

音声ファイルのコピー

コピーしておいた日本語版SkyrimSEデータData\Skyrim - Voices_ja0.bsaを、翻訳データ置き場フォルダにSkyrim - Voices_en0.bsaとしてコピーする。
※音声は英語でも良いという人であれば、この作業は必要ない。

翻訳ファイルの動作確認

以上で翻訳作業が完了した。最後にファイルを見直しする。

  • 翻訳済みデータフォルダ
    • interface
      • book.swf
      • fontconfig.txt
      • fonts_ja.swf
      • translate_english.txt
    • strings
      • dawnguard_english.dlstrings
      • dawnguard_english.ilstrings
      • dawnguard_english.strings
      • dragonborn_english.dlstrings
      • dragonborn_english.ilstrings
      • dragonborn_english.strings
      • hearthfires_english.dlstrings
      • hearthfires_english.ilstrings
      • hearthfires_english.strings
      • skyrim_english.dlstrings
      • skyrim_english.ilstrings
      • skyrim_english.strings
      • update_english.dlstrings
      • update_english.ilstrings
      • update_english.strings
    • Skyrim - Voices_en0.bsa

どれ1つとして抜けなどが無いことを確認する。何か抜けていれば初めからきちんと見直しを行うこと。

問題がなさそうであれば、丸ごと圧縮してNexus Mod Managerで導入するか、SkyrimSEインストールフォルダ\Data内に丸ごとコピーする。

今後のことも考えると、Nexus Mod Managerで導入することをおすすめする。
例えば、Translate Japanese v1.5.16.zipみたいな名前で導入しておけば、なにかと捗ると思う。

SkyrimSEを起動し、日本語化されていることを確認する。

mainmenu.jpg

備考

なぜtranslate_english.txtを完全に翻訳してダメなのか

v1.5.3より新たに増えたCreation Clubという機能において、文字化けが発生するため。
fontconfig.txtをいじって日本語を使えるようにすればいいじゃないかと思うが、v1.5.16現在、fontconfig.txtのフォント指定をなぜか使っていない。
日本語に翻訳してしまうとCreationClub画面で□□□表示になってしまうため、化けるくらいなら翻訳しないほうがまだマシということである。Creation Clubで日本語を使いたければ、fonts_en.swfの中のCreationClub用フォントを日本語対応フォントに置き換えれば良いが、難易度が少し高いためここでは割愛する。
拙作のフォントMODではこの部分を修正して日本語を表示できるようにしているため、どうしてもCreationClubで日本語を表示したい人はそちらを利用されたし。

「へ スカイリム」を修正する

出入口に近づくと、"へ スカイリム" といった表示がされ、なんとも言えない気持ちになることがある。
これは英語版の名残りで "To 地名" が "へ 地名" と表示されることが原因であるが、「へ」の表示が必要なければ消してしまうのが手っ取り早いし競合も少なくて良いと思う。
定義場所であるskyrim_english.strings ID:0671Dを探し、訳文を空にすればよい。
fix_toskyrimissue.jpg

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.