Skyrim Special Editionの日本語化方法

  • 0
    Like
  • 0
    Comment

    SkyrimSpecialEdition(以下、SkyrimSE)はまだ開発が続いており、バージョンが上がるたびに日本語化作業を行う必要がある。

    検証環境

    事前準備

    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フォルダを指定して保存する。

    言語更新を続行して良いかのメッセージは "はい" を選択する。誤操作を気にしないのであれば、"再表示しない" にチェックをいれて、次回から聞かれないようしても良い。
    2017-10-08_14h27_00.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
    move /Y dawnguard_english.dlstrings original\
    move /Y dawnguard_english.ilstrings original\
    move /Y dawnguard_english.strings original\
    move /Y dragonborn_english.dlstrings original\
    move /Y dragonborn_english.ilstrings original\
    move /Y dragonborn_english.strings original\
    move /Y hearthfires_english.dlstrings original\
    move /Y hearthfires_english.ilstrings original\
    move /Y hearthfires_english.strings original\
    move /Y skyrim_english.dlstrings original\
    move /Y skyrim_english.ilstrings original\
    move /Y skyrim_english.strings original\
    move /Y update_english.dlstrings original\
    move /Y update_english.ilstrings original\
    move /Y 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 "  !?#&$%()*+,-./:;'"<=>[\]{|}^_`0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォャュョッー゙゚0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ@abcdefghijklmnopqrstuvwxyz~!?#$%&()*+、。=:;¥「」『』[|]{}^ー`ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ"
    
    

    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で導入することを強くおすすめする。

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

    mainmenu.jpg

    備考

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

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

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

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