2015/11/07

The Wolf Among Us 中文MODメモ

TWAU用のメモ
(1) データの追加について
(2) 改行について
(3) 字幕表示時間およびタイミングについて
(4) !?と!!について

最も気になるのは改行に関する部分。


(1) データの追加について
中文MODにもデータが抜けている部分がある。そのため、補完できる部分は自分でデータを追加している。

どれが追加されたものか判別できるよう、管理番号をNo.1*******の形にしてある。EP1終了時点ではNo.10000001だけ存在している。
原文データは、TelltaleExplorerでゲームの元データを探して入力。
offsetの部分は体裁をととのえるために適当に入れてあるだけであり、前後のデータのコピペに過ぎない。


日本語化表示をするうえで重要なのは、
・データの体裁
・50音的配列に基づくデータの位置
・原文がゲームの元データと一致していること
の3点の模様。

そのため、管理番号に関しては日本語用と割り切ってすべて振りなおしても問題はないような気がする。



(2) 改行について
翻訳データの改行はLF改行を用いている。半角スペースでも改行できるが、私が理想とする改行をするにはLF改行が必要になる。以下のSSを比較してもらいたい。

(LF改行)

(半角スペース)


半角スペースを用いた場合、最大表示文字数をオーバーしない限り改行はされない。そのため、上記のように短い文章の場合は適切に改行できずに表示がおかしくなる。今回は読みやすさを考慮して一行18文字程度を心がけているが、半角スペースだとこれが面倒になる。できないわけではない。というのも、、"文字数が不足している部分に全角スペースを必要なだけ追加し、文字数を水増しする"という方法で同じ形の改行になるだろうから。

ただし、そうなると字幕が早すぎるといった字幕表示時間の問題が浮上する可能性がある。特に、3行以上の字幕の場合が不安だ。この点は検証しないと何とも言えないが。


一応、簡単な解決策もある。
半角バッククォートを"画面表示上の半角スペース"として代用しているので、半角スペースと半角バッククォートを常にワンセットで記述する方法だ。

(半角バッククォート+半角スペース)

Dead islandは、まさにこのタイプの改行をしている。私が理想とする形ではないが、先の方法と比べて確実だ。現時点のLF改行を置換できるなら作業も一瞬で終わる。

ただ、もっと言うと改行位置を把握したうえで半角スペースを入れればセットにする必要はない。Dead islandのように不要な半角スペースが目につくこともなくなる。ところが、この方法を実行するとなると、改行位置が現在の場所と異なるため、置換で片付けることができない。これは難しいか。


ここまではまだ見た目の問題にすぎないが、調べてみたところ半角スペースではうまくいかない部分があることがわかった。どうやら半角スペースではEP1スタート時の文章が正常に表示されないらしい。


ご覧の通り、まったく改行されずに画面から飛び出てしまっている。少なくともここはLF改行が必要だ。とはいえ、この問題が生じるのはおそらくここだけなので、手動でLF改行を入れれば済むため大した問題ではない。



(3) 字幕表示時間およびタイミングについて
実は英語音声にあわせて適切に字幕が表示されるよう全角スペースで文字数を調整している。
例)No.00024623

音声というか動きというか、そういった部分と字幕が乖離すると読みにくい気がするのでやっている。

上記のように改行位置がずれると全角スペースで文章が分断されるようになるため、半角スペースに切り替える場合はこの字幕調整をやり直すか、単純に調整用の全角スペースをすべて消す必要がある。後者の方が圧倒的に作業が楽。



(4) !?と!!について
全角で!?や!!を並べると見栄えが悪いと感じたため、<を!?に、>を!!に表示するようd02のフォントを設定してある。
例)No.00004553

間違って<>を使用しなければ何の問題もない。


とりあえずはこんなところ。
改行位置は何とか今の形を維持したいな。

7 件のコメント:

  1. やっぱりネックは改行コードですよね
    これで、だいぶ悩まされました。
    ソフトでは1セル内での改行はLFにしてあります。 セルの最後のみCRLFです。
    半角スペースは 半角スペース+‘ に変換して出力しています。 全角スペースは全角スペースのままです。
    半角スペースはフェイブルズ図鑑で重要で、フェイブルズ図鑑では1行をオーバーすると全部が表示されなくなります。
    また、ゲーム内では該当するラインがない場合は英語原文が出力されるのですが、半角スペースがなくなるのでとても読みにくいです。なので、半角スペースを変換した原文を翻訳文に放り込んで表示させています。

    なので、半角スペースは 半角+’で空白文字と改行とのセットにしています。(これは設定で変更できます。)

    英語原文はバイナリを吸い出してそのまま出力するようにしてます。
    字幕のスピードまでは考えていませんでしたが、ラインNOは文字の後ろに回すこともできますし、
    翻訳済みの物のみ番号をつけないようにすることもできます

    長い文章では番号付きの翻訳文の体裁が崩れることが多いのが今の難点です

    ちょこっと修正して取扱説明書を書き直したものを上げています。(2章の最初ちょっとだけリンクをつけています。)

    ほぼ、これで出来上がりかなということろですが、
    あとは、
    S-jis文字コードで表示で来たらD12の作成が楽になるので、そこを調べています。
    差分ファイルなどのマージをどうするか簗んでいるところです。

    ほかに要望などあれば、やってみます。



    返信削除
  2. スノウの行はLF改行が消えてしまっていました。転送の段階で消えたのかな? バグかもしれないのでチェックしてみます。
    改行入れたものを一緒に挙げていますので、そちらだとうまくひょうじされるとおもいます。

    返信削除
  3. LF改行の原因がわかりました。最初のECUのD12ファイルをSjisで保存する時に改行コードをCRLFにしてしまうと取り込みの時におかしくなるようです。ひとまず、正しい物をアップしました。
    マクロの方も見なおしてみます。 コントロールコードはパット見に見えないので難しいです

    返信削除
  4. あとゴミと思っていたNo.10000001はゴミじゃなかったんですね、ソフトでは省いています。
    このNo.10000001はこの位置じゃないとダメなんでしょうか? これが50音順というものですか?
    この位置で出力となると、ちょっと考えないといけないですね

    返信削除
  5. 修正されたd12を確認しました。しっかりLF改行で改行されていますね。
    私が見た限り、字幕表示に関する問題はなにもないと思います。
    番号表示で字幕がずれる点も、offにできるなら何も問題はないかと。

    次にNo.10000001の件ですが、あの位置でなければ翻訳が反映されません。
    50音順的配列(アルファベット順の方が正確かも)については言葉では説明しにくいのですが、
    以下の例でご理解いただけるでしょうか。

    1.What is this?
    2.Who are you?
    3.Who is it?

    すべてWhで始まる文ですが、1.はWhの次が"a"であり、"o"が続く他のものより順番が先。
    2.と3.はともにWho まで一致していますが、2.はWho "a"となり"i"が続く3.よりも順番が先。
    仮に、1.を3.の後ろに移動してしまうと、1.のみ翻訳が反映されずに元データが表示される。

    大文字・小文字やスペース、記号がまざってくるため実際はもっと複雑ですが、
    基本は上記の考え方です。
    そのため、No.10000001はあの位置から動かせません。

    最後に、ひとつ思ったことがあるので要望として出しておきます。
    何かと言いますと、各データに"話者"の欄か何かがあれば良いかな、と。
    d12で作業していて困ったことは、会話のつながりがわからないことと、
    話者が誰かわからないことでしたので。

    長々と書きましたが、以上です。

    返信削除
  6. 発言者については対応しました。
    あと追加ラインも可能なようにします。 元番号を変えると情報共有がややこしくなりやすいので
    元番号の後ろの番号を使い出力時に正しい位置に放り込む方向作ります。

    WOLF 番号探しめんどいですね。 選択し全部チェックするために4回は同じシーンを見なくてはならなし、、、、 シーンのカットもできないし、1章仕上げるの大変でしたね。

    返信削除
  7. 対応していただいてありがとうございます。

    会話を探る必要があるというのがTelltalegamesの作品の一番の難点ですね。
    まあ、個人的にはThe walking deadの二作品に続いてのThe wolf among usなので
    慣れたものではありますけど。
    Telltalegamesがどういう意図でこういう形をとっているのか不思議でなりません。

    ともかく、今は手をつけているものをできるだけ早く終われるように頑張ります。

    返信削除