fbpx

アプリケーションを多言語化するための3つの開発の基本

スポンサーリンク

アプリケーションを海外展開する場合、様々な事業課題をクリアする必要がありますが、そのうちの一つがアプリケーションの多言語化対応です。つまり、画面に表示されるUI(ボタンやラベルなど)のテキストやメッセージを翻訳する必要があります。この記事では、アプリケーションの多言語化のために必要な3つの開発の基本をご紹介致します。

UIのテキストとソースコードを分離する

アプリケーションを開発するとき、デフォルトの開発環境では、ボタンやラベルなどのUIのテキストがソースコード内に埋め込まれる形で実装する場合が多いかと思います。しかし、これをそのまま翻訳する場合、ソースコードごと修正する必要になるため、開発作業に影響を及ぼします。また、UIの数や翻訳言語の数が増えると、管理面の課題が生じます。これらの課題を解決するにはどうすればよいでしょうか?

それは、UIのテキストをソースコードから分離することです。おおよその開発言語やフレームワークには、多言語化に対応するための仕組みが提供されています。また、専用のライブラリやパッケージも提供されていますので、それらを利用することで、UIのテキストをソースコードから適切に分離して管理できるようになります。ここでの重要なポイントは、企画・計画の段階で多言語化の要否を検討することと、開発を始めた時点からUIのテキストとソースコードを分けておくことです。開発を進めるとソースコードは肥大になります。そのため、途中で多言語化を視野に入れるとなると、多くのソースコードを修正する必要が生じ、その過程で新たなバグが生まれる恐れがあります。

表示領域と周辺間隔を確保する

アプリケーションを翻訳すると、訳文が原文より長くなる場合があります。その場合、元の表示幅が原文サイズで固定されていたり、他のUIと密接したりすると、テキストの一部が表示されない文字切れという問題が発生します。文字切れは、アプリケーションの外観に影響しますので、表示領域と周辺間隔を可能な限り確保することが重要です。こちらの関連記事も併せてご参照ください。

コンテキスト情報を提供する

コンテキスト情報とは、翻訳対象の単語、フレーズ、文に関わる背景やその他すべての情報を指します。詳しくは、こちらを参照してください。開発と翻訳を同じ人が対応する場合、自身が仕様を把握しているため、あまり重要ではないかもしれません。しかし、チームで取り組む場合は、担当者が別々の場合がありますので、開発メンバーはUIのテキストやメッセージのコンテキスト情報を提供する必要があります。ただ、開発メンバーからすると、作業進捗との兼ね合いから、逐一コンテキスト情報の提供まで手が回らないのが実情だと思います。一方で、翻訳メンバーからすると、コンテキストが無い場合や不足している場合、翻訳が不安定になる恐れがあります。このようなジレンマを解消して、アプリケーションの多元化を実現するにはどうすればよいでしょうか?

まずは、UIの名前やIDに関連単語やフレーズを並べることから始めると良いかと思いますコーディング規約から逸脱することなく、ハイフンやアンダースコアで複数の情報をつなぎ合わせた名前にするだけで、効果が大きく変わるかと思います。そして、可能であれば、関連ファイル、スクリーンショット、ビルドなどを提供するようにしましょう。

まとめ

いかがでしょうか?アプリケーションの多言語化は、仕組みや工夫次第で生産性が大きく変わります。もしアプリケーションの多言語化の進め方でお悩みのようでしたら、こちらの記事をご参考に頂けると幸いです。

Secured By miniOrange