国際化対応の話
読書と編集 千葉直樹です
それはなに?
i18nっていう略語があります。Internationalizationの略で国際化対応のことなんですけど、すごい略し方ですよね。
システムを作る時に、UI部分などでさまざまな地域の言葉に対応できるようにしておくというのは国際展開を考えていないとあまりやらないことではありますが、Wordpressなんかでテーマとかプラグイン作ったりするときにはちゃんとしておいたほうがいいものではあります。
最近よく使われるプログラミング言語にはそのための仕組みが用意されていることが多いので、できればUI上の文言をベタ書きするのはやめたほうがいいです。
大抵は、文言をキーワード定義しておいて、実行時に指定されたロケールを参照してそのロケールの対応表で文字列を置き換えるという方法をとります。
キーワードは英語で作るのがまあ無難というところで、ちょっとずるいなと思ったりはしますが、プログラムの中に日本語書かないでおくとなにかといいことがあったりするので、英語ちゃんとやっておくとやっぱりいいですね。僕は苦手ですけど^^;
それがどうしたの?
昨日、teachableでオンライン教材を作ったという話を書きました。
で、Privacy PolicyとTerm of Useが英語なので訳さなきゃということを書いたのです。
さっそく朝から取り掛かって、まあざっくり翻訳しました。最近のGoogle翻訳は結構優秀なので、雛形の日本語をちょっとだけ読みやすい日本語にする程度でなんとかなります。
きっちりしたビジネスになったら法務的な検討も必要そうですが、まだとてもそんな段階ではないので、とりあえず簡単に常識的な範囲でわかる日本語にすることができました。
しかし、僕の作ったスクールのトップページのリンク文字列はPrivacy PolicyとTerm of Useって書かれている。クリックした先は翻訳した日本語のページなんですけどね。
で、こういうのどうするんだろうと思って管理画面を眺めていくと、ちゃんとキーワードに対する表示文字列を定義するところがあるのですね。
そのなかからPrivacy Policyっていうのを検索して、「個人情報保護方針」に置き換えて、Term of Useは「利用規約」に変えました。
実はそのページにはかなりの数のキーワードが並んでいて、ホントはそれを全部日本語に翻訳していきたいところなんだけど、実際にページのどこで使われているか確認しないと的確な訳語にならないのでね、とりあえずちょっとずつ直していくことにして、まあなんとなく分かるだろうというところはそのままにしておきました。
この国際化対応、文章になると結構大変なんですよ。
キーワード取り替えるだけで済むところはいいんだけれど、言語によって語順が違うケースなんかは難しいのですね。
よくありますよね、名前と苗字がひっくり返るやつ。あんなケースはよくあるんです。
Privacy PolicyとTerm of Useも、フッターにリンクがあるところは単純に置き換えていいんですけど、ユーザ登録画面で、I agree to foo’s Privacy Policyなんて書いてあって、チェックボックスにチェックするなんていうところなんかね、Privacy Policyのところは日本語に置き換えても、I agree toのところを日本語に単純に置き換えると変でしょう?
自然な日本語だと、「個人情報保護方針を承諾する」とかね、後にくるはずですよね。
こういうの、多文化に対応してプログラムを作っておくというのはなかなか大変なんですね。
だからまあ、WindowsとかMacOSとか、すごく頑張っているんです。「日本語」って選んだらだいたい違和感なく使えるようにUIを変えているんですよ。
国際化:多言語対応って結構大変だってこと理解いただけたでしょうか。
というわけでとりあえず公開
日本語化が不十分なのが気になるのですが、一応決済含めてテストが終わったので公開します。
興味がある方はのぞいてみてください。