国際化(i18n)とは?
国際化は、グローバルなオーディエンス向けにソフトウェアを作るための土台です。最初から複数の言語・地域・文化に対応できるよう、アプリケーションを設計する方法を学びましょう。
国際化を理解する
国際化(i18n)は、ソースコードにエンジニアリング上の変更を加えずに、さまざまな言語・地域へ適応できるようソフトウェアアプリケーションを設計・開発するプロセスです。
目標は、ユーザー向けコンテンツをビジネスロジックから分離する柔軟なアーキテクチャを作り、コアアプリを変更せずに新しい言語や地域差を追加できるようにすることです。
正しく行うことで、国際化はプロダクトを効率的にグローバル市場へ届けられるようにし、新しいロケールの投入までの時間を短縮し、対応するすべての言語で一貫したユーザー体験を提供できます。
なぜ「i18n」?
「i18n」という用語は数字を使った略記(numeronym)で、18 は "internationalization" の最初の 'i' と最後の 'n' の間にある文字数を表します。この略記はソフトウェア業界で広く使われています。
i18n = i + (18 letters) + n国際化の重要原則
これらの基本原則に従って、本当に国際化されたソフトウェアを作りましょう
コンテンツをコードから分離
ユーザー向けの文字列はすべて外部リソースファイルに保存します。ソースコードに直接テキストをハードコードしないでください。
日付・時刻・数値形式に対応
日付、時刻、数値、通貨はロケール対応のフォーマットを使用します。地域ごとに慣習は異なります。
柔軟性を考慮して設計
テキストの伸長、RTL レイアウト、異なる文字セットに対応できる UI コンポーネントを、崩れないように設計します。
国際化のメリット
最初から i18n に投資すると、プロダクトがグローバルに成長するほど効果が出ます。
- コードを書き直さずに新市場へスケール
- 翻訳を一元管理して保守を容易に
- インターネット利用者の95%に母語で届ける
- 文化的に適切なコンテンツで UX を向上
- 現地の規制・アクセシビリティ要件を満たす
- 長期的なローカリゼーションコストを大幅に削減
i18n ベストプラクティス
国際化を成功させるためのガイドライン
Unicode(UTF-8)をどこでも使う
UTF-8 エンコーディングはすべての言語と特殊文字をサポートします。データベース、API、ファイルを UTF-8 に設定しましょう。
文字列をすべて外部化
ユーザー向けテキストはすべて翻訳ファイルへ移動。内容の目的が分かる意味のあるキーを使いましょう。
文字列の連結を避ける
文字列を連結して文を作らないでください。動的コンテンツはプレースホルダー付きの ICU メッセージ形式を使いましょう。
RTL 言語に備える
アラビア語やヘブライ語などの右から左の言語に対応できるよう、レイアウトを反転できる設計に。論理 CSS プロパティを使用します。
i18n と l10n
国際化とローカリゼーションは連携して機能しますが、グローバル化のプロセスにおいて担う役割は異なります。
国際化(i18n)
ソフトウェアを適応可能にするエンジニアリング工程。初期開発時に開発者が一度行います。
ローカリゼーション(l10n)
特定市場向けにコンテンツを適応させるプロセス。新しい言語・地域ごとに継続的に行う作業です。