目次
i18n vs l10n:国際化とローカライゼーションの違いとは?
グローバル展開を進めるプロジェクトに参加したとき、「i18n と l10n の両方が必要だ」という言葉を耳にして、この二つが同義語なのか、対義語なのか、あるいは単に呼び方が違うだけの同じ作業なのか、戸惑ったことがある方は少なくないでしょう。
どれも違います。国際化とローカライゼーションは、特定の順序で行われる二つの異なる分野であり、関わるチームも、生み出す成果物も異なります。この二つを混同すること、あるいは誤った順序で実施することは、新市場へ参入するプロダクトチームが犯す最もコストの高い失敗の一つです。
この記事では、両用語を明確に説明し、業界で使われる関連語彙を紹介したうえで、エンジニアリング側とコンテンツ側の双方に向けた実践的なチェックリストをお伝えします。
TL;DR / まとめ
- i18n は internationalization(国際化)の略です(「i」と「n」の間に18文字あります)。プロダクトが複数の言語・地域に対応できるようにするエンジニアリング作業です。
- l10n は localization(ローカライゼーション)の略です(「l」と「n」の間に10文字あります)。プロダクトを特定の言語・文化向けに実際に適応させるコンテンツ・適応作業です。
- i18n は一度きりのエンジニアリング投資であり、l10n はターゲットロケールごとに繰り返す運用プロセスです。
- i18n を完了してから l10n に着手する順序を必ず守ってください。逆の順序で進めると、正しい順序で最初から行う場合よりもほぼ常に高コストな手戻りが発生します。
- より広い傘となる用語は g11n(グローバライゼーション)で、i18n と l10n の両方に加え、市場戦略も包含します。
国際化(i18n)とは何か?
国際化とは、新しいロケールを追加するたびにソースコードを変更しなくても、異なる言語・地域・文化的慣習に適応できるよう、プロダクトを設計・エンジニアリングするプロセスです。
数字略語 i18n はこの単語そのものに由来しています。「internationalization」という単語の最初の「i」と最後の「n」の間には18文字あります。技術文書で全単語を繰り返し書くのが煩雑になったため、業界はこの略称を採用しました。i18n は「internationalisation」(英国式スペル)とも互換的に使われますが、どちらも同じエンジニアリング分野を指します。
国際化は根本的に技術的な関心事です。この作業を担うのはソフトウェアエンジニアであり、成果物はインフラです——後から翻訳を配置するための基盤となる、コード・設定・アーキテクチャの意思決定です。
i18n エンジニアリングが含む作業
文字列の外部化は最も根本的なステップです。ユーザー向けのすべてのテキスト——ボタンラベル、エラーメッセージ、ツールチップ、メール件名、通知文——をソースコードから取り出し、リソースファイル(.json、.po、.resx、.yaml など)に移す必要があります。React コンポーネント内の <button>Submit</button> のようなハードコードされた文字列は、ソースコードを変更しなければ翻訳できません。一方、<button>{t('form.submit')}</button> のように外部化された文字列であれば、リソースファイルを更新して再デプロイするだけで翻訳でき、コード変更は不要です。
Unicode と文字エンコーディングは、スタックのすべてのレイヤーで正しく扱わなければなりません。W3C はすべてのウェブコンテンツの文字エンコーディングとして UTF-8 を強く推奨しています。UTF-8 は Unicode 規格のあらゆる文字集合——ラテン文字、キリル文字、アラビア文字、CJK(中国語・日本語・韓国語)、その他数千種類——をカバーしているからです。[^1] Latin-1 のようなレガシーエンコーディングでデータを保存するプロダクトは、ユーザーが日本語の名前やアラビア語の住所を入力した瞬間に文字化けを起こします。
日付・時刻・数値・通貨のフォーマットはロケールによって大きく異なります。「03/04/2026」という日付は、米国では3月4日を意味し、欧州の多くの国では4月3日を意味します。「1.000」という数値は、ドイツでは千を意味し、米国では小数点以下三桁のゼロを持つ1を意味します。Unicode Common Locale Data Repository(CLDR)は900以上のロケールのフォーマットルールを定義しています。[^2] 国際化されたプロダクトは、フォーマット文字列を手動で組み立てるのではなく、JavaScript の Intl.DateTimeFormat や Intl.NumberFormat のようなロケール対応フォーマット関数を使用します。
複数形ルールは言語によって直感的でない形で異なります。英語には複数形が2種類あります(1 item、2 items)。アラビア語には6種類あります。ロシア語には3種類あり、どの数に対してどの形を使うかについて複雑なルールがあります。i18n ライブラリは CLDR の複数形ルールをサポートしている必要があります。そうすることで、エンジニアリングチームが言語ごとにカスタムロジックを書かなくても、翻訳チームが言語ごとに正しい数の複数形バリアントを提供できます。
右から左(RTL)レイアウトのサポートは、アラビア語・ヘブライ語・ペルシア語・ウルドゥー語——右から左に読む言語——に必要です。これはUIをミラーリングする必要があることを意味します。ナビゲーションは右側に移動し、テキストの配置が反転し、方向を示すアイコン(矢印、パンくずリスト)が逆になり、CSS レイアウトプロパティはブラウザがドキュメントの方向属性に基づいて自動的にレイアウトを反転できるよう論理値(margin-left の代わりに margin-inline-start)を使用する必要があります。
ロケール対応ルーティングは、ロケール識別子がURLにどのように表示されるかを決定します。一般的な2つの慣例はサブディレクトリ(better-i18n.com/fr/pricing)とサブドメイン(fr.better-i18n.com)です。W3C は BCP 47 に基づく言語タグ(例:en、en-US、pt-BR、zh-Hant)をロケール識別に使用することを推奨しています。[^3] ルーティングレイヤーはユーザーの優先ロケールを検出し、正しいコンテンツを提供し、検索エンジンクローラー向けに正しい Content-Language HTTP ヘッダーと hreflang 属性を返す必要があります。
文字列の連結をしないというルールは、特に強調する価値があります。"Your order of " + count + " items has shipped" のような連結は、ターゲット言語での語順がまったく異なる場合があるため、正しく翻訳できません。適切な i18n では名前付きプレースホルダーを使ったメッセージフォーマット文字列を使用します:"Your order of {count} items has shipped" ——翻訳者は文全体を受け取り、ターゲット言語が必要とする場所にプレースホルダーを自由に配置できます。
ローカライゼーション(l10n)とは何か?
ローカライゼーションとは、プロダクトのテキスト・画像・トーン・機能を特定のターゲットロケール向けに適応させるプロセスです。国際化がコンテナを作るとすれば、ローカライゼーションはそれを満たすものです。
数字略語 l10n も同じパターンに従います:「localization」の「l」と「n」の間には10文字あります。
ローカライゼーションは主にコンテンツと文化的な関心事です。この作業を担うのは、翻訳者・ローカライゼーションエンジニア・文化コンサルタント・法務レビュアーです。成果物はロケール固有のアセットです:翻訳された文字列ファイル・適応された画像・地域固有の法的テキスト・ロケールテスト済みビルド。
l10n コンテンツ作業が含む内容
翻訳はローカライゼーションで最も目に見える部分です。i18n 時に外部化されたすべての文字列は、ターゲット言語に翻訳しなければなりません——一語一語ではなく、慣用的に。良い翻訳は意味・トーン・意図を保持します。機械翻訳(MT)は大規模言語モデルによって大幅に改善されましたが、マーケティングコピー・法的コンテンツ・ブランドボイスが重要なすべてのテキストでは、プロによる人間のレビューが依然として重要です。
文化的適応は逐語的な翻訳を超えます。画像・色の使用・ユーモア・比喩はすべて文化的な重みを持ちます。親指を立てるアイコンは多くの西洋文化では肯定的ですが、中東の一部では不快感を与えます。握手を示す写真は、身体接触の規範が異なる市場では別のジェスチャーに置き換える必要があるかもしれません。日付の例、名前のフォーマット(名前と姓の順序)、住所フォーマット、電話番号フォーマットはすべてロケール固有の対応が必要です。
法的・規制上のコンプライアンスは市場によって異なります。EUはGDPRおよびePrivacy指令のもと、明示的なCookie同意を要求します。ブラジルにはLGPDがあります。カリフォルニア州にはCCPAがあります。税表示ルール・価格開示要件・必要な法的通知は管轄区域によって異なります。ローカライゼーションチームは、ターゲット市場ごとにこれらの要件を特定し、プロダクトがそれを満たすことを確保する責任があります。
ロケール固有のテストは、翻訳されたプロダクトが実際にコンテキストの中で正しく機能することを検証します。これには、翻訳された文字列がUIコンテナに収まるかの確認(ドイツ語の文字列は英語の同等表現より一般的に30〜40%長い)、RTLレイアウトが正しくレンダリングされるか、ロケール固有の日付・数値フォーマットが期待どおりに表示されるか、ロケール固有の法的コンテンツが存在するかの確認が含まれます。
i18n vs l10n 比較表
| 観点 | 国際化(i18n) | ローカライゼーション(l10n) |
|---|---|---|
| 担当者 | ソフトウェアエンジニア | 翻訳者・ローカライゼーションエンジニア・文化コンサルタント |
| 実施時期 | ロケール固有の作業より前;プロダクトにつき一度 | i18n 完了後;ターゲットロケールにつき一度 |
| 含む作業 | 文字列外部化・Unicode・フォーマット・RTL・ルーティング | 翻訳・文化的適応・法的コンプライアンス・ロケールテスト |
| 主な成果物 | コード・アーキテクチャ・リソースファイル構造 | 翻訳済み文字列ファイル・適応されたアセット・ロケールビルド |
| 使用ツール | i18n ライブラリ(next-intl、i18next、ICU)・CLDR・Unicode | TMS プラットフォーム・CAT ツール・MT エンジン・QA ツール |
| コスト特性 | 固定の初期エンジニアリングコスト(一度だけ) | ロケールごとのコスト(コンテンツ更新のたびに繰り返す) |
| 可逆性 | 後から導入するのが困難 | 更新・置換が比較的容易 |
| ビジネス上の動機 | エンジニアリングの準備 | 市場参入と収益 |
関連用語
i18n と l10n の分野では、同じ数字略語のパターンに従った略語の語彙が発展しています。
g11n — グローバライゼーション(「g」と「n」の間に11文字)は、プロダクトを国際市場で展開・成功させるための取り組み全体を包含する傘用語です。i18n と l10n を含みますが、市場戦略・国際的な価格設定・国際法的構造・市場投入計画も対象とします。企業が「グローバル展開する」と言うとき、それは g11n の取り組みを指しており、i18n と l10n はその2つの技術的コンポーネントです。
t9n — 翻訳(「t」と「n」の間に9文字)は最も狭い用語です。翻訳は l10n のサブセット——具体的にはテキストをソース言語からターゲット言語に変換する行為です。ローカライゼーションは翻訳を包含しますが、上記の非テキスト適応作業も含みます。プロダクトは完全にローカライズされずに翻訳されることがあります(例:テキストはフランス語に変換されたが、日付フォーマットは依然として米国形式で表示され、画像は適応されていない)。
a11y — アクセシビリティ(「a」と「y」の間に11文字)は関連するが独立した分野です。アクセシビリティとは、視覚的・運動的・聴覚的・認知的障害を持つ人々が使用できるプロダクトを設計することを指します。i18n との交差点は実在します:スクリーンリーダーは多言語コンテンツを正しく処理しなければならず、ARIA ラベルは表示テキストとともに翻訳されなければならず、RTL レイアウトの変更はキーボードナビゲーションやフォーカス順序を壊してはなりません。国際化されたプロダクトを構築するチームは、アクセシビリティと国際化を順次ではなく並行した要件として扱うべきです。
GILT フレームワークは、各分野を4つの領域に整理する業界フレームワークです:グローバライゼーション(Globalization)・国際化(Internationalization)・ローカライゼーション(Localization)・翻訳(Translation)。GILT はローカライゼーション業界で、エンジニアリングの準備から市場対応コンテンツ提供までのサプライチェーン全体を説明するために広く使われています。
正しい順序:常に i18n を先に、次に l10n
これは単なる推奨ではありません——これは強い依存関係です。ローカライゼーションは機能する i18n インフラなしには実現できず、i18n が完了する前に l10n を試みると、急速に複利的な無駄が生じます。
順序を逆にすると何が問題か:
英語でプロダクトをリリースし、その後ドイツ市場への参入が決定したとき、コードベースを翻訳ベンダーに渡す開発チームを想像してください。翻訳者がコードを開くと、JSX コンポーネント全体にハードコードされた英語文字列、英語のみのフィールド値を返すSQLクエリ、常に MM/DD/YYYY を出力する日付フォーマットユーティリティ、そしてRTLの考慮なく margin-left と text-align: left が全体に使われているCSSレイアウトを見つけます。
翻訳ベンダーはこのコードベースでは何も有用なことができません。エンジニアリングチームは今や成熟したプロダクト全体で文字列外部化を後付けしなければなりません——何百ものコンポーネントを変更し、データベーススキーマをリファクタリングし、フォーマットユーティリティを書き直し、すべてのレイアウトをRTL安全性について監査しなければなりません。この後付け作業は単に追加的なものではありません;本番システムにリグレッションを導入するリスクがあります。ドイツ市場のローンチは数ヶ月遅れ、コストは最初からi18nに投資した場合の数倍になります。
2つ目の失敗パターンは部分的なi18nです。チームがフロントエンドで文字列を外部化するが、複数形を正しく処理するのを忘れた場合です。翻訳者はドイツ語の複数形を提供しますが、エンジニアリングチームが適切なメッセージフォーマットを使用する代わりに count + " Artikel" と書いたため、コードは常に単数形のみを使用します。結果はその市場のすべてのユーザーに見える、文法的に誤ったドイツ語です。
3つ目の失敗パターンは、ルーティングが内部化される前に追加されるロケール固有の機能です。チームが適切なロケールルーティングシステムを構築せずに /fr/ ディレクトリを手動で作成してフランス語ブログセクションを追加した場合です。後でイタリア語を追加しようとすると、ルーティング全体をリファクタリングしなければならず、フランス語のURLが壊れる可能性があり、長年にわたって積み上げてきたSEOシグナルを損なうことになります。
実践的なルールは:i18n は前提条件です。単一の翻訳を発注する前に、ロケールルーティング・文字列外部化・フォーマットユーティリティ・複数形サポートを定義し実装してください。インフラが整えば、各新しいロケールの追加は予測可能な、限定された作業になります。
開発者向け i18n チェックリスト
国際化インフラを構築または監査する際にこのチェックリストを使用してください。
- 文字列外部化完了:ユーザー向けのすべての文字列はリソースファイルに格納されており、ソースコードにハードコードされていません。エラーメッセージ・バリデーションメッセージ・メールテンプレート・メタタグを含みます。
- UTF-8エンコーディングの徹底:データベースのカラムはUTF-8(MySQLではutf8mb4)を使用し、HTTPレスポンスは
charset=utf-8を宣言し、ファイルI/Oは全体でUTF-8を使用します。 - ロケール対応の日時フォーマット:日付と時刻はロケール対応関数(例:
Intl.DateTimeFormat)を使用してフォーマットされ、UTCとして保存され、表示レイヤーのみでロケールが適用されます。 - ロケール対応の数値・通貨フォーマット:数値と通貨の値は
Intl.NumberFormatまたは同等のものを使用してフォーマットされます。通貨記号はハードコードされていません。 - CLDR ルールによる複数形の処理:i18n ライブラリは CLDR の複数形カテゴリ(zero、one、two、few、many、other)をサポートし、翻訳者は各カテゴリのバリアントを提供できます。
- 文字列の連結なし:変数を含むユーザー向けのすべての文字列は、単一の翻訳可能なメッセージ内で名前付きプレースホルダーを使用します。翻訳されたフラグメントを連結して文字列を構築しません。
- RTL レイアウトサポート:CSS は論理プロパティを使用します。
dir属性は<html>要素に動的に設定されます。UIコンポーネントは RTL ロケールでテストされます。 - ロケールルーティングの実装:URL は一貫したロケール慣例(例:
/en/、/fr/)に従います。ルーティングレイヤーはAccept-Languageヘッダーとユーザー設定からロケールを検出・ネゴシエートします。 - hreflang タグの存在:各ページは
x-defaultを含む利用可能なすべてのロケールバリアントに対して<link rel="alternate" hreflang="...">タグを宣言します。 - BCP 47 に準拠したロケール識別子:言語タグはカスタムまたは一貫性のない識別子ではなく、IETF BCP 47 フォーマット(例:
en-US、pt-BR、zh-Hant)を使用します。
コンテンツチーム向け l10n チェックリスト
新しいターゲットロケールのローカライゼーションプロジェクトを計画・実行する際にこのチェックリストを使用してください。
- 翻訳ワークフローの確立:翻訳管理システム(TMS)または構造化されたレビュープロセスが整っています。ソース文字列はバージョン管理されており、変更通知が翻訳チームに届きます。
- 翻訳者へのブリーフィング完了:翻訳者はスタイルガイド・プロダクト固有用語の用語集・トーンオブボイスのガイダンス・各文字列のコンテキスト(スクリーンショットまたはステージング環境へのアクセス)を受け取っています。
- 機械翻訳の人間によるレビュー:機械翻訳されたコンテンツはすべて、特にマーケティングコピー・法的テキスト・ユーザー向けエラーメッセージについて、資格のある人間の翻訳者によるポストエディットが行われています。
- 文化的レビューの実施:画像・色の選択・アイコン・例は、ターゲット市場の文化的知識を持つ人によってレビューされています。不快感を与えたり混乱を招いたりする可能性のあるものは適応されています。
- 法的・規制上の要件の特定:チームはターゲット市場に適用されるプライバシー開示・Cookie通知・法的免責事項・規制上の要件を特定し、ロケール固有のバージョンを作成しています。
- UIでの文字列長さのテスト:翻訳された文字列はターゲットロケールでの実際のUIでレビューされています。テキストの切り詰め・オーバーフロー・レイアウトの崩れが特定され解決されています。
- ロケール固有フォーマットの確認:日付・数値・住所・電話番号・郵便番号はすべて、ターゲットロケールのユーザーが期待するフォーマットで表示されます。
- 機能テストの完了:プロダクトはターゲットロケールでエンドツーエンドのテストが行われています——チェックアウトフロー・フォームバリデーションメッセージ・メール通知・ロケール固有の法的フローを含みます。
よくある質問
i18n と翻訳は同じですか?
いいえ。翻訳(t9n)はローカライゼーション(l10n)のサブセットであり、ローカライゼーションは国際化(i18n)が最初に完了していることに依存するダウンストリームの活動です。i18n は翻訳を可能にするエンジニアリング作業です。翻訳はテキストをある言語から別の言語に変換する行為です。二つは関連していますが異なります——i18n インフラなしでは効果的に翻訳できませんが、i18n の完了は翻訳が行われたことを意味しません。
プロダクトは国際化されているがローカライズされていないことはありますか?
はい、これは一般的な中間状態です。文字列を外部化し、ロケール対応ルーティングを実装し、RTLサポートを構築したプロダクトは完全に国際化されています——しかし翻訳されたリソースファイルが作成されていなければ、事実上デフォルトロケールでしか機能しません。インフラはローカライゼーションの準備ができていますが、ローカライゼーションはまだ提供されていません。これは翻訳作業を発注する前にあるべき正しい状態です。
数字略語 i18n と l10n には公式な地位がありますか?
これらは正式な標準ではなく、広く採用された業界の慣例です。W3C国際化活動は公開された仕様と作業グループのドキュメント全体で「i18n」を使用しています。GILTフレームワークを開発したLocalization Industry Standards Association(LISA)は、解散前に「l10n」を一貫して使用していました。どちらの用語もソフトウェア業界全体で普遍的に理解されています。
l10n と文化的適応の違いは何ですか?
文化的適応は独立した分野ではなく、l10n のコンポーネントです。ローカライゼーションは翻訳・文化的適応・法的コンプライアンス・ロケール固有のテストを包含します。一部の組織は、マーケティングコンテンツがターゲット市場向けに逐語的に翻訳されるのではなく実質的に書き直される場合に「トランスクリエーション」という用語を使います——これは高コストな文化的適応の形式であり、ソーステキストは文字通りのテンプレートではなく意図のガイダンスとして機能します。
i18n は SEO にどう影響しますか?
大きく影響します。正しく国際化されたサイトは hreflang アノテーションを使って検索エンジンにどのURLがどの言語・地域に対応するかを伝え、BCP 47 ロケール識別子を一貫して使用し、正しい Content-Language HTTP ヘッダーを提供し、各ロケールに正規URLがあることを確保することで重複コンテンツの問題を回避します。国際ターゲティングに関するGoogleのガイダンスは、各市場のユーザーに正しいロケール固有のページを提供するためにこれらのシグナルに依存しています。ルーティングや hreflang の設定を誤った i18n 実装は、誤ったロケールが検索結果にランクインする——あるいはまったくランクインしない——結果をもたらす可能性があります。
結論
国際化とローカライゼーションは補完的な分野であり、互換的な用語ではありません。i18n は技術的な基盤です——言語とロケールの関心事をソースコードから抽象化し、設定可能で置換可能なリソースファイルに移すエンジニアリング作業です。l10n はその基盤を、実際の市場の実際のユーザーが目にする翻訳済み・文化的に適応された・法的に準拠したコンテンツで満たすコンテンツ運用です。
順序が重要です:国際化は常に先に来ます。インフラが整えば、各新しいロケールはエンジニアリングの手戻りの源ではなく、限定された繰り返し可能な作業になります。
この両側面を別々のツールで管理せずに実装しようとしているチームには、Better i18n のようなプラットフォームが i18n インフラ(SDK、ロケールルーティング)と l10n ワークフロー(AI翻訳、CDN配信)の両方を単一のプラットフォームで処理し、エンジニアリング側とコンテンツ側のプロセス間のコーディネーションオーバーヘッドを削減します。
新しいプロダクトをグローバルな展望で構築しているか、既存のプロダクトを新市場向けに後付けしているかに関わらず、i18n と l10n の区別を明確にすることが、両方をうまく行うための第一歩です。
参考文献
[^1]: W3C Internationalization Working Group. "Character encodings: Essential concepts." W3C. https://www.w3.org/International/articles/definitions-characters/
[^2]: Unicode Consortium. "Common Locale Data Repository (CLDR)." Unicode. https://cldr.unicode.org/
[^3]: W3C Internationalization Working Group. "Language tags in HTML and XML." W3C. https://www.w3.org/International/articles/language-tags/
[^4]: W3C Internationalization Working Group. "Localization vs. Internationalization." W3C. https://www.w3.org/International/questions/qa-i18n
[^5]: Internet Engineering Task Force. "Tags for Identifying Languages (BCP 47)." IETF RFC 5646. https://www.rfc-editor.org/rfc/rfc5646
[^6]: Unicode Consortium. "Plural Rules." Unicode CLDR. https://cldr.unicode.org/index/cldr-spec/plural-rules