Skyrimで英語の勉強

Skyrim、PC版をちょっとずつ日本語音声で進めてたんだけど、ちょっとでも英語学習の足しになればなーと英語音声に切り替えました。

ただ、
英語音声+英語字幕:
  よく話についていけなくなる。あと疲れるので息抜きにならない。
英語音声+日本語字幕:
  英語でなんて言ったのか分からないときがある。字幕だけ見て安心する。
ってなって微妙に困ってました。

というわけで、字幕に英語日本語両方つっこんでみました。



Steam版だと国設定を切り替えれば日本版・US版の文言ファイルが手に入ります。
StringUnpackerを使えば文言ファイルをバイナリ形式とテキスト形式で相互変換できるので、テキストにして文言マージしてバイナリに戻しました。

これで勝つる!

ちなみに僕の英語学習のゴールは「洋ゲーを翻訳なしで疲れずに楽しめること」です。
英語音声・字幕なしでやるとゴールまでの距離がよく分かりますね。
いや遠すぎて分かりません。

===== 追記(2014/04/27) =====

マージした後のPackがうまくいかないというコメントを複数いただいていたので、マージを行うプログラムを書いてみました。
SkyrimStringMerger

英語+日本語字幕化の手順はこんな感じになります。

必要なもの

  • StringMerger.exe (上記zipに含まれてる実行ファイル)
  • StringPacker.exe, StringUpnacker.exe (https://sites.google.com/site/jpmodfiles/localize/skyrimにあるskyrim_strings_tools.zip)
  • Skyrim_English.ILSTRINGS, skyrim_Japanese.ILSTRINGS (英・日それぞれの字幕ファイル)

手順

  1. (準備) 上記のファイルを同じフォルダに入れる (C:\SkyrimStringsに入れたとする)
  2. コマンドプロンプトでそのフォルダを開く
    [plain]
    cd C:\SkyrimStrings
    [/plain]

  3. 英語・日本語の字幕ファイルをCSVファイルに変換する
    [plain]
    StringsUnpacker.exe /IL Skyrim_English.ILSTRINGS Skyrim_English.ILSTRINGS.csv
    StringsUnpacker.exe /IL skyrim_Japanese.ILSTRINGS skyrim_Japanese.ILSTRINGS.csv
    [/plain]

  4. 2つのCSVを合成したCSVファイルを作る
    [plain]
    StringsMerger.exe Skyrim_English.ILSTRINGS.csv skyrim_Japanese.ILSTRINGS.csv Skyrim_Merged.ILSTRINGS.csv
    [/plain]

  5. 合成したCSVを字幕ファイルに戻す
    [plain]
    StringsPacker.exe /IL Skyrim_Merged.ILSTRINGS.csv Skyrim_Merged.ILSTRINGS
    [/plain]

  6. 出来上がったSkyrim_Merged.ILSTRINGSで使用中の字幕ファイルを上書きする

私の環境ではこれで英語+日本語の字幕になりました。
役にたつと良いのですが・・・

現状「英語 (日本語)」になっているフォーマットを変えたい方もいると思うのですが、サポートしていません。やっつけですみません。
コンパイルできる方はこの辺りを変更してください。

「Skyrimで英語の勉強」への27件のフィードバック

  1. これすごくいいですね!
    私も再現してみようとしたんですが、マージした後Packerが通りません。
    なにかマージする際に気をつけるべきことはありますか?

    返信
  2. おお、僕がやった時は特にエラーが出なかったので、心当たりが無いです…
    括弧(僕は全角使いました)とか文字コード・改行文字とかが悪さしたりするのかな?
    お役にたてずすみません!

    返信
  3. 初めまして!
    英語勉強のために私も再現しようとしたんですが、U10さんと同じでマージした後Packerが通らず
    Error: Can’t read line 1779 
    と表示されて失敗してしまいます。
    よろしければ、他に使ったソフトや詳しい方法を教えていただけないでしょうか?

    返信
  4. はじめまして

    もう何年も昔の日記なので返信があるとは思いませんが。。。
    実はこの日記を参考に自分も同じことをしてみました
    しかし、全部終わらせた後、上の方と同じように
    Error: Can’t read line xxxx(正しい数字は忘れました)
    と表示されました
    もしかして、これは全文同じように英文+翻訳を足すとスカイリムが読める行数、または文字数を超えてしまう
    ということなのではないでしょうか??
    fuqinho さんは全文を英文+翻訳にしたのでしょうか??
    それとも挨拶や、一部のクエストのみにしたのでしょうか??

    fuqinhoさんのようにプログラムの知識もなく、ソフトの使い方を覚えるだけで精一杯の名無しですが
    回答よろしくお願いします。。。m(_ _)m

    返信
  5. はわわすみません・・・!!
    ドヴァキンさんも含め、いただいたコメントに気づいていませんでした。
    私は確か会話文だけを英文+翻訳にしたと思います。
    行数オーバーの可能性もありそうですね。あるいは指定されている行に何か不具合があるか。

    すぐにとはお約束できないのですが、次にスカイリムをする時にUnpack -> 合成 -> Packをやってみて、何が起こるか確認してみます。その時はまたご報告しますね。

    返信
  6. 私の環境では今もうまくいっていたので、マージの方法で何か差異が生まれてしまっているのではと思い、マージを自動化するプログラムを書きました。
    プログラムへのリンクや使い方はこのエントリの追記部分にあります。
    これで私と同じCSVファイルが作られて、Packも無事に通る、といいなぁ・・・

    返信
  7. こんばんは

    DLSTRINGを同様の手順でやってみたところ、 Too many lines (24019)と表示されました。
    こちらのほうは対応していないのでしょうか。

    返信
  8. DLSTRINGSはやったことが無いので、恐らく対応できていないと思います。すみません。
    対応が可能かどうかすら分かりませんが、万一対応できたらまた追記します(期待しないでください!)

    返信
  9. コレいいですね!
    諦めてた英語の勉強を再開してるところなので、導入したいと思います!

    返信
  10. はじめまして。この記事を見て自分も日英同時表示にしたいと思い、実行しようとしたのですが、skyrim_Japanese.IDSTRINGSとSkyrim_English.IDSTRINGSのファイルの場所がわかりません。Skyrim_English.STRINGS、skyrim_Japanese.STRINGS、skyrim_Japanese.ILSTRINGS
    skyrim_Japanese.DSTRINGSは見つけましたがこれらとは別のファイルですか?

    返信
    • ごめんなさい!IDSTRINGSと書いてた部分は、ILSTRINGSの間違いでした。本文の記述を直しておきました。ご指摘ありがとうございます!

      返信
  11. 2013年にコメントした者です!
    最近、Skyrimを再開して、このブログの事も思い出して来てみたら返事が来ていてビックリしました!w
    fuqinhoさんの手順どおりにしてみると見事、字幕を両方表示させることが出来ました!!
    かなり返事が遅れてしまいましたが、分かりやすく解説していただきありがとうございました!

    返信
    • おおお、うまくいったんですね。よかった!
      私も最近再開しました(Modいじってるばかりで未だにクリアしたことが無くて…)

      返信
  12. ずいぶん前に作っていただいたツール、ありがたく活用させていただいております。
    ただ、できあがった字幕のうち、英文の最初の3文字が表示されません。3文字くらいなくても、だいたい内容はつかめるのでそのままプレイしていますが、原因や対処方法などがもしわかれば、教えていただけるとありがたいです。
    マージしたCSVファイルでは問題ないので、問題は最後のPackerのところで生じているようです。
    各行、最初の文字から読み込ませるようにするには、どうしたらよいのでしょう? もしお答えいただけたらとてもありがたいです。今のままでもプレイできているので、もしお目に留まったらよろしくお願いいたします。

    返信
    • お騒がせしてすみません。自己解決しました。エレガントではありませんが、エクセルでconcatenateで強制的に文字列を行頭に付加してpackerをかけると、英文も最初から表示してくれるようになりました。ただエクセルでUTF8エンコード保存ができないので、そこでだいぶとまどいましたが
      http://blog.livedoor.jp/hiroki0907/archives/51419750.html
      のサクラエディタを用いる方法で何とか解決しました。

      返信
  13. こんにちは!
    fuqinhoさんの作ったプログラムに救われました!
    だいぶ昔に自分も教材にしようとコピペを繰り返して作ったんですが
    結局エラーで出来なかった苦い記憶があったので今回はどうだろうと試してみたところ問題なくできちゃいました!
    本当にありがとうございます!

    ちなみにDLCなんかの
    ・「Update」
    ・「hearthfires」
    ・「dragonborn」
    ・「dawnguard」

    のILSTRINGSには対応しているのでしょうか??
    手順4までの「Update_Japanese.ILSTRINGS.csv」を作るところまではうまくいったのですが
    手順の5「合成したCSVを字幕ファイルに戻す」の部分で躓いてしまいました
    自分はプログラムのことをよくわかっていないのですが
    コマンドプロンプトに書き込む際、

    手順5の書き込む部分である
    StringsPacker.exe /IL Skyrim_Merged.ILSTRINGS.csv Skyrim_Merged.ILSTRINGS
    を以下のように変えてやってみました

    C:\SkyrimStrings>StringsPacker.exe /IL skyrim_Merged.ILSTRINGS.csv update_Merged.ILSTRINGS
    Error: Can’t read line 12.

    C:\SkyrimStrings>StringsPacker.exe /IL update_Merged.ILSTRINGS.csv update_Merged.ILSTRINGS
    Error : can’t load update_Merged.ILSTRINGS.csv.

    一応4パターンほど繰り返したのですが出た結果はこの2つでした
    これは何が間違っているのでしょうか??
    それとも元々対応はされていないのでしょうか??
    すいませんがもしお時間がありましたらご教示ください。
    よろしくお願いします。

    返信
    • こんにちは
      DLCのILSTRINGSがどうなるか気になったので試してみました。

      ・「hearthfires」
      ・「dragonborn」
      ・「dawnguard」
      この3つは通常の手順にファイル名をそれぞれ変更しただけで、
      英語+日本語の字幕になりました。

      ・「Update」のみPackerができずに
      Error: Can’t read line 12.が出ました。

      仕方ないので、手順4の「2つのCSVを合成したCSVファイルを作る」を
      人力で行いましたら、Packerが通り英語+日本語の字幕になりましたが、マージしてできた物とどこが違うのかよくわかってません。

      返信
  14. 出力されるupdate_Merged.ILSTRINGS.csv 13行目
    8556,”Ah, you’re back.” (“Ah, you’re back.”)

    8556,”Ah, you’re back.” (Ah, you’re back.)
    にすると、packerが通ります。

    返信
  15. コメント失礼します。
    最近SkyrimSEを始め、英語と日本語両方の字幕を表示させるのは自身がまさにやりたかったことなので参考にさせて頂きたかったのですが、
    Skyrim_English.ILSTRINGS
    skyrim_Japanese.ILSTRINGS
    の2つのファイルの取得方法が分かりません。
    自分なりに調べてもみたのですが、他のサイトで解説されている場所にファイルが無く、どうしたらいいのか分かりません。
    もしよろしければお教え頂けますと幸いです

    返信
  16. 手順の最後のファイルを上書きするところまでは出来たのですが、
    実際にゲームを起動する英語字幕の後の日本語字幕部分が(□□□□)のように文字化けしてしまっています。
    何が原因なのでしょうか…

    返信
    • Skyrimの日英字幕をやったのはかなり前のことになるので最新版でも通用する手順なのか分かっていないのですが、字幕が□□になっているのは使用しているフォントに日本語が入っていないからかもしれません。
      日本語対応フォントに入れ替えるとうまくいくかもしれません(記事のスクリーンショットではしねきゃぷしょんを使った気がします)。

      返信

コメントする