Tips

ワークフロー

どの様に作業すればいい?

ここで紹介する内容はLangscoreが想定するワークフローです。

プロジェクトによって運用は異なるため、参考程度にしてください。

前提

ゲーム中の文章は全て確定され、変更が加えられない状態であることを想定しています。

文章を追記・更新しながらの翻訳作業も可能ですが、推奨しません。

初回の翻訳作業
  1. その時点のプロジェクトを使用してCSVを出力します。

  2. 翻訳担当の方にCSVを渡します。

  3. 翻訳完了後、CSVをdata/translateに配置します。

ゲームをバージョンアップして文章が追加・編集された場合
  1. 既に翻訳済みのCSVを持っている事を想定しています。

  2. Langscoreで 再解析 を行い、プロジェクトの内容を反映させます。

  3. Langscoreの 翻訳CSVの更新 (2回目以降) の「CSV出力先のパス」で、翻訳済みのCSVが置かれている場所を指定します。

  4. 「既存の翻訳を残して上書き」を指定して書き出します。
    • この時点で、翻訳済みCSVの中に新規文章や変更後の文章が含まれた状態となります。

  5. 上書きした翻訳CSVを翻訳担当の方に渡します。

  6. 翻訳完了後、CSVをdata/translateに配置します。

Langscoreアプリ利用編

ウイルス対策ソフトに検出される

Langscore内部で使用しているrvcnv.exeが、トロイの木馬として誤検出されることがあります。

該当ソフトはウイルスではないので、除外をお願いします。

パッキングモードの問題確認で、意図的に書いた箇所が警告にされる

警告・エラーはあくまで修正時のヒントになります。 書き出したファイルに手が加えられる事はありませんので、そのままご利用ください。

CSV作成編

ゲーム内で文章を更新・追加・削除した

ゲーム側の文章を変更した場合、Langscoreでは再解析を行うことで変更内容を反映させます。

再解析 を実行して下さい。

再解析を行った後で翻訳CSVの書き出しを行って下さい。

CSVに書き出される文章が思ったより少ない

CSV内に全く同じ文章が複数ある場合、1つだけ書き出されます。

例えば

  • マップ内に全く同じ内容を話すNPCがいる

  • アイテム内に同じ説明文のものがある

  • メモの内容をコピペしている

といったケースが該当します。

そのため想定よりも書き出される文章量が少ないケースがあります。

文章が違うのに書き出されていない場合は不具合ですので、ご報告頂けると助かります。

同一の文章をまとめないで欲しい

文法的性のある言語など、日本語では同一の文章でも話者の特性によって翻訳後の文章が2パターンに増えるケースがあります。

現在のLangscoreの仕様は文章検索となるため、対応は非常に難しいです。

お手数ですが、原文を変えるなどで対応をお願いします。


例) 「私は嬉しいです。」という文章を別々の男女が話す場合

ゲーム中の文章

  • NPC1 -> "私は嬉しいです。(男)"

  • NPC2 -> "私は嬉しいです。(女)"

翻訳CSVの記述

original,ja,fr
私は嬉しいです。(男),私は嬉しいです。,Je suis heureux.
私は嬉しいです。(女),私は嬉しいです。,Je suis heureuse.

このように、日本語も翻訳文とみなすことで文法的性などにも対応することが出来ます。

翻訳しない文章も含んでるけど問題ある?

正しく翻訳されない事を除けば、スクリプトの翻訳時(特にVXAce)のみ問題があります。

それ以外の場合は致命的な問題はありません。

スクリプトの翻訳ファイルはオリジナルの文章に識別子を含んでいるため、翻訳できないとバグのような表示がされてしまいます。

また翻訳システム処理の注意点として、未翻訳含めて翻訳の数が多いほど検索に時間がかかります。

昨今のPCスペックでは問題になることはあまりないと思いますが、 テストプレイ時に動作がカクつく場合は、不要な翻訳文の削除も検討してください。

Excel等で読み込むと文字化けが起こる

出力した翻訳CSVがUTF-8となっている可能性があります。メモ帳等でBom付きUTF-8に変換してください。

なお、ゲームではUTF-8とBom付きUTF-8は気にせず使用できます。

スクリプトで何を無視したら良いのか分からない

除外可能なものには記号系の文字があります。 また、文章の翻訳をメインに考えると、日本語以外の文は除外対象になる可能性が高いです。

このページで紹介している機能 の「自動チェックメニュー」を使用すると、記号のみ・日本語が含まれていない文章を一括で除外することが出来ます。

以下に翻訳対象になりそうなケースとならなそうなケースをあげます。

日本語以外の文で翻訳対象になりそうなケース

  • 戦闘中の効果表示(HIT! COMBO!等)

  • フォント名

  • draw_messageの様な、描画に使われそうな変数に格納されている文章

ならなそうなケース

  • ファイルパス名やファイル名

  • サウンド名

  • _01のような、接尾辞だけの文章

注釈

翻訳したい文章が英語で書かれている場合、無理に翻訳しないことも選択肢に入ります。 ゲームの雰囲気・方向性にもよりますが、HIT!やCOMBO!, VolumeやSEといった単語はそのままでも通じる可能性が高いです。 世界共通言語に甘んじて、翻訳コストを下げていきましょう。

日本語の文章でも、デバッグ用途や内部制御に使用している箇所は除外対象になります。

  • 特定の制御を行うためのタグ・キーワードを決めている箇所

  • raiseが使用されている(VX Ace) - raise "なんとかかんとか" といった箇所

  • 連想配列で使用されている - value["なんとか"] といった、変数名[]で囲まれている箇所

  • 明らかにゲーム表示されない文章 - ">>>ここに入るのはおかしい!<<<" といった文章

スクリプトの場合はコメントがヒントになる場合もありますので、プレビューで確認しながらチェックしていきましょう。

ゲーム内動作編

別の言語を選んだのに元の言語で表示される!

マップデータやイベントデータの場合、以下の可能性が考えられます。

  • 翻訳CSVが読み込まれていない

  • 翻訳CSVファイルの内容で、該当言語の箇所が空になっている

VXAceでスクリプトが影響している箇所の場合、以下の可能性が考えられます。

  • langscore_customに更新処理を書いていない

  • .lstransが必要な箇所なのに、書かれていない

12345678:90:123 みたいなテキストが表示される!(特にVXAce)

スクリプトを使用している箇所で、翻訳文が空の場合に発生します。

翻訳文を割り当ててください。

翻訳文が見つからなかった場合はオリジナルの文章を探し出すため、「スクリプトファイル名:行数:列数」の文章が表示されます。

そもそも文章が翻訳されない

翻訳ファイルが読み込まれていない可能性があります。

  • langscore.rbのTRANSLATE_FOLDER変数に格納されているパスに、翻訳ファイルは含まれていますか?
    • デフォルトは Data/Translate になります。

  • VXAceではエディター内からのゲーム実行、またはコマンドプロンプトで"Game.exe console"を使用することで、内部ログを見ることが出来ます。

  • MV/MZではゲーム実行中に F12 を押すことで、開発者ツールを表示することが出来ます。

テストプレイで翻訳を確認する時にパッキングし直すのがめんどい (VX Ace)

文章の折り返しが正しく行えているかの確認の為に、翻訳ファイルの修正とゲームの起動を繰り返す場合があります。

パッキングはあくまで暗号化を行う最終まとめ時に必要な処理なので、テストプレイ時には必要ありません。

テストプレイ時や作業時は、CSVファイルを直接翻訳フォルダに置いて作業することをオススメします。

なお、Langscoreは `.rvdata2 -> .csv` の順に翻訳ファイルを探します。