【あいじゅうはちえぬ】

i18n(国際化) とは?

最終更新:
💡 ソフトウェアを「世界対応」にする設計

ソフトウェアを多言語・多地域に対応できる設計にすること。i18nは「internationalization」の略記。

📌 このページのポイント
i18n:言語・地域に適応できる設計 アプリ t("hello") 用意した翻訳を参照 日本語:こんにちは 英語:Hello 地域に合わせた書式 en-US:1,000.50 de-DE:1.000,50 文字の長さ・表示方向・Unicodeも考慮 翻訳や地域ごとの調整を行うのがl10n
表示の切り替えは一例です。翻訳ファイルの用意だけで、すべての国際化対応が完了するわけではありません。
ひよこ ひよこ
l10nと何が違うの?
ペンギン先生 ペンギン先生
i18nは、言語や地域に合わせやすい仕組みを設計すること。l10nは、その仕組みを使って特定の言語・地域・文化へ適応させることだよ。翻訳だけでなく、日付や通貨、表現の調整なども含むんだ
ひよこ ひよこ
どうやって実装する?
ペンギン先生 ペンギン先生
たとえば表示文をコードから分け、t("hello")のようなキーで参照するよ。i18nextなら翻訳データと言語を設定して使える。ファイルの読み込みや言語の検出も設定が必要で、入れただけで全言語に対応するわけではないんだ
ひよこ ひよこ
文字列以外に何を気にする?
ペンギン先生 ペンギン先生
日付・数値・通貨の書式、複数形、文字の表示方向などだね。JavaScriptのIntlは日付や数値の書式、複数形の規則などを扱える。アプリの文章を自動翻訳する機能とは分けて考えよう
ひよこ ひよこ
画面の見た目も変わるの?
ペンギン先生 ペンギン先生
言語で文の長さが変わるので、ボタンや見出しに余裕を持たせるといいよ。アラビア語などの右から左への表記も考える。単に文を置き換えるだけで、どの画面も適切になるとは限らないんだ
ひよこ ひよこ
後から対応するのは大変?
ペンギン先生 ペンギン先生
表示文や書式がコード中に散らばっていると、後から整理する作業が増えるよ。想定する言語や地域を踏まえて早めに設計し、実際の表示を確認しよう。必要な作業量はアプリの構造や対応範囲によるんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「i18n」って出てきたら「ソフトウェアを多言語・多地域へ適応しやすくする設計」と思えばだいたいOK!
📖 おまけ:英語の意味
「Internationalization」 = 国際化
💬 iとnの間に18文字あるからi18n。数字を挟む略記法はNumeronymと呼ぶよ

参考資料

← 用語集にもどる