njo

Nolvusのようなmodlistの大量日本語翻訳作業

Nolvusを日本語化したのでその作業のメモ。Nolvusは2000個以上のmodが含まれるmodlist。他のmodlistを日本語化する際にも役に立ちそう。

まずmodを翻訳するには対象のmodをxTranslatorで読み込み、このmodを翻訳する必要があるか確認、mod名でグーグル検索しmodデータベースの対象のmodページを開く。下にゴロゴロスクロールして翻訳ファイルを探す。翻訳ファイルをダウンロードして解凍。XMLファイルを読み込んで翻訳を行いプラグインの上書きとSSTファイルを保存。というのを数百回以上は繰り返すことになる。

Nexusmod側からModデータベースを逆引きできない。共有されている翻訳ファイルがSSTではなくXML形式。xTranslatorが大量のmodをXMLで翻訳するのに便利な機能がない。ここら辺が日本語化作業を厳しくしている。

翻訳した対象はesm, esp, eslとmcmのタブ区切りのテキストとたまにpexファイル。

大切な事はxTranslatorの UserDictionaries\SkyrimSE 配下に作成される辞書ファイルをバックアップしておく事。共有されているXMLファイルによってプラグインを翻訳するとxTranslator本来の辞書ファイルであるSSTファイルが作成されそれがこのディレクトリに保存される。これがあれば次回modをxTranslatorに読み込んだ際、このSSTファイルからXMLファイルが不要になり自動で翻訳してくれるようになる。自分で作ったSSTファイルたちは将来役立つ資産なので大切に保管しておくのが良い。

日本語翻訳作業で大変なのはModデータベースでXMLを探してダウンロードする部分なので、それを将来省略できるのはでかい。

先人たちの知恵

Modデータベースのコメント欄にmodlistを翻訳した時の知見が共有されていたので勉強になった。

https://skyrimspecialedition.2game.info/detail.php?id=87820

これはxEditでプラグインを開いてレコードタイプをフィルタすることで翻訳が必要なプラグインファイルだけを事前に抽出するやり方

https://skyrimspecialedition.2game.info/detail.php?id=72977

これはプラグインファイルだけをそのmodディレクトリの構造ごと抜き出すという方法。かつ翻訳作業時には逆にプラグインファイルは一つの場所で一望したいのでEverythingで表示しようといった内容

自分はこちらの方法でやった

自分がやった時のメモ

1. プラグインファイルだけをmodディレクトリの構造を保持した状態で抜き出す

まず翻訳作業を行う前に、そのプラグインを翻訳したのかしてないのか判別できるようにする必要がある。

FastCopyを使ってプラグインファイルだけを別の作業用ディレクトリにコピーし、翻訳されたプラグインファイルは元のmodディレクトリに上書きで移動。作業用ディレクトリが空になれば翻訳作業完了という事にした。

ModデータベースではCsFileCopyというツールが挙げられていたが、CsFileCopyでは.espなどでフィルタをしてもファイルだけでなくフォルダ名も抽出対象として引っかかってしまい大量のゴミがコピーされた。ファイル名だけに一致させる方法も見当たらなかった。またFastCopyの方がコピーが爆速だったのでこちらを使った。

こんな感じでSourceにmodsフォルダ、DestDirに作業用フォルダ、フィルタにチェックを入れてIncludeに .esm; .esl; *.esp と入力する。リストアップボタンを押すとドライランで事前に何が抽出されるか確認できるので、それで問題なければ実行ボタンを押す。

これでプラグインファイルだけを抜き出せた。

2. Everythingでプラグインファイルだけを一覧する

このままだとプラグインファイルが各modフォルダの中に一つ一つ格納されているので、実際の作業をしづらい。Everythingのようなファイル検索ツールでプラグインファイルだけを検索結果に表示して、その画面でxTranslatorを開く作業をすると効率がいい。

Everythingをインストールして、オプションを開く。検索データ -> フォルダで先ほど抽出したmodsフォルダを追加する。

そうするとEverythingの画面にすべてのmodフォルダが表示されるので、上の検索バーに ext:esm | ext:esl | ext:esp と入力するとプラグインファイルだけがフィルタされる。

3. がんばって翻訳

ここからはなんでもいいけどとりあえず自分のやり方。

まず上のフォルダと書かれている部分をクリックしてフォルダ名でソートする。

上から20個ぐらいのプラグインを複数選択し右クリックから開く。そうすると大量のxTranslatorが開くので頑張ってそれらを翻訳する。1個1個開いていると日が暮れるが、これ以上一括で開くとPCが重くなりすぎて効率が悪い。

例えばSkyrimという単語しか翻訳対象がないものや、アイテム名だけのものはもう翻訳が面倒なので一瞬で閉じてスルー。スカイリムのバニラの辞書で翻訳可能なものから片づけて、ModデータベースでXMLをダウンロードが必要なものは最後に一気に対応する。

これを続けて例えばmodのフォルダ名の頭文字がAのものを翻訳したら、それを随時作業用のフォルダから本来のmodフォルダへ上書きコピーをするという感じにした。

4. プラグインファイル以外のものを翻訳

あとはMCMとpexファイルの翻訳だけどここら辺はプレイしながら随時必要だと思ったものをメモって後から翻訳していった。対象は少ないので。

5. Nolvusでの日本語化残作業メモ

YOT - Your Own Thoughts は無効化する。これはメッセージが元々二人称であるものを、没入感を増すために一人称に変更するもの。このmodによって大量にメッセージが英語になってしまう。大変なので無効化する。

Gold To Septims - Weightless も無効でいいと思う。これはゴールドとバニラでは表示されている金を、ロアフレンドリーな本来のセプティム表記にするもの。メニュー画面のGoldをSeptimにするためだけにメニュー画面のテキストファイルが丸々上書きされてしまうので全部英語になってしまう。無効化するか日本語化するか。

感想

  • xTranslatorがCLIで動いてくれればもっと効率的にできるのに
  • xTranslatorに最近搭載されたバッチプロセッサ使えばもっとどうにかできるかも
  • NexusmodでxTranslatorの作者にXMLファイルの一括翻訳できる機能が欲しいなって要望した
  • ModデータベースではなぜSSTではなくXMLで共有される文化なのか気になった
  • SoundフォルダみたいなのはMO2に追加で別のmodとして分けて導入するのがいいと思う。Modlistが更新されてmodが更新されると中は吹っ飛ぶので
  • 3日休みを潰せばNolvusならイケル。MCMのメニュー以外ほとんど英文は消え去った。
  • Nolvusで英語を勉強しようと思った時期が僕にもありました