さけのさかなのブログ

同人ゲーム開発やってます。Unity使ったりする。

中国語開発はじめました

 うまくいったら今月中リリース。まあここを読んでる人はあんまり関係ないんですが……。

 こんな感じで文字長さ限界をチェックしたりする。

f:id:enuenupi:20180612050554p:plain

 ところでSteamが前の統計はミスって中国語多すぎだったわ、みたいなことを言ってた。うええ。まあそれでも多いんですけどね。

前に話題になってたやつ

Steamの使用言語データから考えるいろいろ。 - PLAYISMブログ

英語翻訳対応やりました

はじめに

 作ったゲームの英語対応が終わりました。

steamcommunity.com

 というわけで、この記事はどんな感じに翻訳作業を進めたかについてです。

 対象としては、同じようにUnityでゲームを開発していて、多言語対応をやる人(技術者)向け。あと自分向け備忘録。

 なお、具体的なコードや実装とかは省略してます。

規模感

 ↑のゲームには、だいたい2万文字の日本語が含まれています。同じような文字数のプロジェクトなら参考になるんじゃないでしょうか。*1

機能要件

 大雑把には2つ。

  • 開発用ビルドでは翻訳辞書は外部ファイルにもち、ランタイムで変更を反映できること
  • リリースビルドでは翻訳辞書は内部ファイルにもつこと

 ただし言語ごとのテクスチャ差し替えなんかはランタイムで修正は無理!なので諦めて逐一プログラマ側で対応します。*2

都合の良いアセットはない。自作の道

 なお、ちょっとアセットストアを眺めたけど、要件に見合う翻訳アセットはないっぽいので自作です。

 たとえばインスペクタにデータを打ち込む形式なんかだと色々やってらんない。(翻訳者さんがUnityエディタを使うのか、私が全データを打ち込むのか、いずれにせよアカン)

 なんかいいのがあったらおしえてください。

翻訳者さんとの打ち合わせ

 翻訳者さんが決まったら、どういう感じで進めていくのかを詰めていきます。

  • 必要な仕様(文字数制限とか)
  • どういうファイル形式がいいか
  • デバッグ用の機能は何が必要か
  • チャットツールは何がいいか
  • 直訳派か意訳派かとか*3

今回のマスターデータはExcel

 翻訳辞書のマスターデータをどうするかですが、

というわけで、今回の件ではExcelになりました。*4

Excelの構造

 Excelの構造はこんな感じ。key, jpn, commentカラムをこちらで埋めて翻訳者さんに渡す。

f:id:enuenupi:20180531163119p:plain

Excelだけだとマズいので

 が、Excelをそのまま使う場合の問題として、

  • 更新差分を把握しづらい
  • リリースビルドでExcelファイルを読むのは効率が悪すぎる

 ということで、データの流れは

  1. Excelから自作コンバータツールを使ってjsonに変換し、
  2. 開発ビルドでは外部のjsonファイルを参照、
  3. リリースビルドではjsonからさらにScriptableObjectに変換したものを内部で参照することにします。

 図

f:id:enuenupi:20180531175841p:plain

 生成されたjsonをgitで管理すれば差分が見られる。

f:id:enuenupi:20180531161830p:plain

開発用ビルドを用意する

 翻訳者さんには開発用ビルドとExcelファイルを渡し、作業してもらいます。
 Excelを編集してゲームを起動すれば、反映されたものを確認できるようになっています。

サイクル

 翻訳者さんとのやりとりはWebで行います。使ったものは

 雑多なやりとりはSlackを使いつつ、

  • ExcelファイルはGitHubで共有
  • 翻訳資料はREADME.MDに書く
  • issueを使う。質問とか要請とか。
    • 特にExcelは複数人で編集しはじめると地獄を見るので、こちらから直したいところがあったらissueで変更要請を投げ、編集作業は翻訳者さんの手に一元化しました。
  • 開発ビルドを更新したらGitHubのreleasesに上げる
    • これが地味に便利。アップロードしたらSlackに通知が行く。

ちなみに、README.MDはこんなんになってる

f:id:enuenupi:20180531162038p:plain

 ほかにはキャラ設定資料とかも書いてある。

issueはこんなん

 バグ報告とか要求とか質問とかが投げつけあう。

f:id:enuenupi:20180531162631p:plain

コンバータツールこんなん

 Excelファイルをjsonに変換するやつ。

github.com

細かい話 : コマゴマとした対応

  • 英語は文字数が多いため、会話ウィンドウは日本語だと2行なのを英語だと3行にしています。これに伴い文字送りの速度も日本語と英語で変えています。
  • 複数形対応。日本語だと1日前2日前{n}日前でカバーできるんですが、英語だと{n} day ago{n} days agoが必要。嫌になる。

さいごに

 なんだかんだで英語はまだラク。チェックすれば変な部分とかまだ分かるかんね。*6

 あとはゲームよろしくおねがいします。

store.steampowered.com

追記

*1:字数が少なかったらゴリ押しでやりましょう。

*2:大規模になってきたら対応する必要はある

*3:極端な話、キャラの語尾を日本語そのままにしろ警察とかがいる

*4:他にはプロ仕様の翻訳ツールもあるんですが、お金がかかるとかなんとかでまあ普通Excelですよね。という感じ。

*5:Skypeじゃなくて本当によかった

*6:ハングルとかぜってームリ

英語対応しました

f:id:enuenupi:20180530053336p:plain

 というわけで、これなら海外の方でも遊べるかもしれません。

 ついでにitchでもリリースしました。

enu.itch.io

これから

 英語の反応が良ければ、次は中国語対応をやりたいなあ、というところ。悪ければ……次のゲームやな!

 あと、英語版対応のノウハウ、とまではいかないけど、うちはこうした的な開発者向けのブログ記事書きます。

 さらに後になる予定だけどAndroid版はぼちぼち進めてる。

 コンシューマで出せたらいいですね。

 コミケの当落が近いので、スペースがもらえたらなんかする。

 四倍剣2の英語対応とか頭の隅にはあるんだけど……。スペカの英語表記ってどうすりゃいいんだ?

サントラのリリースです

www.youtube.com

 というわけでSteamとitchでサントラをリリースしました。
 SteamではDLC扱いなので本体がないと購入できませんが、itchなら単品でも購入が可能です。

store.steampowered.com