Developer's Blog

脱出探偵少女が中国語(簡体字)に対応しました

February 08, 2018

「脱出探偵少女」をリリースして、ちょうど2ヶ月。

おかげさまで2万DLに到達しました!
プレイしてくださった皆様、本当にありがとうございます!!

さて、タイトルにあるとおり「脱出探偵少女」が中国語(簡体字)に対応いたしました。

脱出探偵少女

翻訳していただいたのは「Pujia8スタジオ」さんというところです。

……で、実は「うつしよ」のときも翻訳のお声がけをいただいていたのですが、いろいろと心配事も多くてスルーしていたのですよね。
今回もちょっと止めとこうかな……と5日間ほど寝かせていたわけですが、「7年後で待ってる」という大ヒットアプリをリリースされた”ふみ”さんから連絡が来ました。

「Pujia8さんから『朱鷺裕二さんと知り合いですか? 知り合いならメールのお返事聞いてもらえませんか』と言われたので、ご連絡しました」と。

ふみさんは同じPujia8さんに以前アプリをローカライズしてもらったらしいのですが、たまたまtwitterで私とフォロー・フォロワー関係にあったのをPujia8さんに発見され、お伺いをお願いされたとのことでした。

以下がふみさんの記事です。

http://fumi-md.hatenablog.com/entry/2017/09/08/221032

そんなふみさん経由で、まさかPujia8さんの催促が来るとは思いもよらず、せっかくなのでいろいろと相談に乗っていただきました。
(中国Android版の配信サイトの掲示板で、なぜかそんな経緯まで晒されてましたw)

結局依頼をすることになりまして、こちらもどうせやるならと多言語対応用にプログラムを修正し、1ヶ月半ぐらいで翻訳作業が完了しました。

脱出探偵少女 簡体字

めっっちゃ、骨が折れました……。
そこらじゅうにある日本語の画像。そしてどうやら、中国の大手ストアでは言語は中国語だけにしないとリジェクトされる可能性もあるとか。
なので英語UI(MenuとかLogとか)や謎部分(部屋識別用のアルファベットやピアノの謎も)まで、言語設定で画像が切り替わるようにしたりして、影響範囲がデカかったです……。
(中国語版ではピアノの謎にA~Gが使えないため、謎が五線譜に変わっていました。中国語版の謎のほうが難しいかもしれません……)

ただこうした私側のプログラム修正などもあって、それでご迷惑を掛けたこともあったにもかかわらず、Pujia8さんは迅速に対応してくださり、とても安心できました。

ちなみに私の場合、依頼にかかる費用はありませんでしたが、中国で配信するAndroid版に関しては収益分配となりました(広告や課金実装はPujia8さんにお任せしました)
翻訳リソースを使ってiOS版や他の地域のGooglePlayで配信することに関してはこちら側の自由でした。(あくまで私の場合です。状況によって内容が変わると思いますので、確認をされたほうがいいと思います)

中国でのDLや広告配信について

リリースしたばかりでまだなんとも言えませんが、iOS版に関しては中国からのダウンロードが増えてきました。Pujia8さんのAndroid版配信と同時に、iOS版も対応できていることを知らせてくれたおかげだと思います。

AdMobやそのメディエーションも機能しているようです。動画広告は国内のものではなく海外のもの(UnityAdsなど)にimpを流し、ちゃんと再生もされているみたいです。課金もちゃんと機能しているはず。

多言語対応で気をつけること

すでに多言語を考慮しながら開発されている方には常識かもしれませんが、プログラムにおける反省点は以下のとおりです。

  • ラベルの内容をソースコード内に直接書かない
  • フォントファイルが別になることを考慮する
  • できるだけ画像内にテキストを埋め込まない
  • 使用言語を取得し、画像やテキストのリソースの参照先を変更するプログラムを作っておく

■ラベルの内容をソースコード内に直接書かない

プログラムにおけるマジックナンバーを控える(数値を直接式に書かない)というものにも似た感じです。私は日本語しか対応しないつもりで、ダイアログ内の文言などを直接コードに記述していました。

今回、Resouces内にJSONファイルを置き、キーとその値(文字列)を記述して、ひとまとめにしました。

lang_text

■フォントファイルが別になることを考慮する

意外と見落としていたフォントファイルです。英語なら日本語フォントにも含まれているので問題ないのですが、中国語の場合は別のフォントファイルが必要です。フリーで使用できるフォントファイルの定番「Noto Sans CJK SC」が中国語(簡体字)ゴシック体フォントになっているので、これを採用しました。この中から常用漢字を抜き出してサブセット化(必要な文字だけをフォントにする)したものを組み込みました(サブセット化する際に必要な文字一覧はPujia8さんから頂きました)

■できるだけ画像内にテキストを埋め込まない

翻訳を考えるとUIはアイコンだけにすればいいと思ってしまいますが、テキストのないアイコンに頼ったUIはユーザーが混乱するもとであり、すべて無くせばいいというものではありません。そういった点ではテキスト付きのUIが必要なことも多いでしょう。

画像内にテキストがあると、多言語対応するときにその画像全体を置き換えなければなりません。小さな画像ファイルならサイズを気にしなくてもいいですが、大きな背景画像などとなると画像サイズも大きくなるためアプリの容量が肥大化します。

なので、私は背景とテキスト部を別のファイルに分けました。テキスト部だけ参照先を変えて翻訳対応すると後の修正も楽になりますし、サイズの節約もできます(メモリは増えるかもしれません)

■使用言語を取得し、画像やテキストのリソースの参照先を変更するプログラムを作っておく

これまでの点を実現するために、リソースの参照を使用言語によって切り替える処理を実装しました。

アプリの初回起動時に使用言語を取得して内部で保持。その後、翻訳データや付随するデータを読み込みます。また、ラベルや画像の翻訳対象オブジェクトとキーが渡されたら、言語に対応したものに変換してあげる関数を実装しました。

私の場合、中国語(簡体字)リソースは以下のように配置しました。

langdir

おわりに

Pujia8さんによる翻訳によって、中国の方や簡体字の読める海外ユーザーにリーチすることができました。また、中国の配信サイトでは多くのコメントが飛び交っているようにも見えます。自分のゲームで多くの人に反応があるのは嬉しいものです。

もし、中国語に対応しようと思っている開発者の方は、中国語に対応したiOS版も同時にリリースしたほうがいいと思います。中国はiOSの割合が少なくても人口自体が多いので、日本のユーザー並かそれ以上にプレイ人口がいる気がします(もちろん、ゲームのジャンルや内容にもよります)

翻訳や実装、ストア展開などをしてくれたPujia8スタジオさん、そして私に一歩踏み出す勇気をくださったふみさんに、この場をお借りして感謝申し上げます。

朱鷺 裕二