ローカリゼーションと国際化、違いは何ですか?


208

UIで複数の言語をサポートするデスクトップアプリケーションの準備について質問しました。

このトピックに関する既存の質問の検索では、「インターナショナル」という言葉を考えていたので、国際化タグを選択し、一致する質問をいくつか読みました。

最終的に私は、おそらくローカリゼーションとタグ付けされた質問の下を見るべきだと気づきました。しかし、これら2つの用語を混同するのは私だけではないようです。

では、ローカリゼーションと国際化の主な違いは何ですか?

また、それらの間の明確な区別は本当に重要ですか?

回答:


232
国際化(i18n)
ソフトウェアを変更して、1つの言語/ロケール/文化に固定されないようにするプロセス。
ローカリゼーション(l10n)
特定の言語/ロケールがサポートされるように、適切なリソースをソフトウェアに追加するプロセス。範囲はこのWikipediaのエントリよりも大きいですが、良い出発点です。


それらを区別することの価値は、(理論的には)プログラムがi18nプロセスを通過すると、必要に応じて多くのl10nプロセスを反復できることです。また、言語について正確であることは素晴らしいことです。


9
国際化QAとローカライズQAには異なるテストケースがあり、国際化は1回限りのコスト(多かれ少なかれ)であるため、ローカライズする言語が多いほどROIが高くなります。i18nは一般に、いずれのロケールでもl10nよりもコストがかかります。
マイク・

@ハンク、@マイク、非常に役立つ回答、ありがとう。だから私は実際に最初に国際化を見て正しかった。私の目標は、最初は英語にのみ焦点を当てていたとしても、アプリケーションの設計が少なくとも将来的には複数の言語をサポートするようにすることです。
アッシュ

少し古いですが、このW3C高レベルビューは基本的にこれに同意します。
mkobit

1
一般に、国際化(i18n)はソフトウェア開発者/エンジニアによって1回行われますが、ローカリゼーション(l10n)は各市場のそれぞれの言語/文化スペシャリストによって行われます。
Chetan 2015

70

アップルによると:

国際化とは、ローカリゼーションを容易にするためのアプリケーションを設計および構築するプロセスです。ローカリゼーションとは、2つ以上の文化的に異なる市場への国際化されたアプリケーションの文化的および言語的適応です。


32

国際化、ローカリゼーションのためにアプリケーションを準備します。たとえば、あなたは、Unicode(でデータベースに保存されている文字をエンコードするかもしれないutf8mb4代わりにlatin1、ファイルを資源に文字列を動かし、)が可能、日付、時刻、通貨の形式などを使用します。

たとえば、アプリの中国語版を販売する場合は、翻訳者を雇ってローカライズし、zh-CNリソースファイルを作成して、新しい日付/時刻/通貨形式を使用します。


13

L10nは、i18nが失敗した場所を示すことがあります。たとえば、辞書に、名詞として使用される単語の単一のエントリと、別の言語の同じ単語に翻訳されない英語の動詞、またはUI要素がある場合などです。 / designは文化(L / Rオリエンテーション)には適していません。

したがって、l10nは「一般的に」i18nの後に発生しますが、i18nにフィードバックしてさらに再設計が必要になる場合があるため、いくつかのローカライズを行うまで、アプリを完全に国際化することはできません。


11

ウィキペディアによると

国際化とは、さまざまな言語や地域に適応できるようにソフトウェアアプリケーションを設計するプロセスですwithout engineering changes

ローカリゼーションは、adapting internationalized softwareロケール固有のコンポーネントを追加してテキストを翻訳することにより、特定の地域または言語のプロセスです。

また、ローカリゼーション(異なるロケールに対して複数回実行される可能性があります)はinfrastructure or flexibility provided by internationalization(理想的には1回だけ実行されるか、進行中の開発の不可欠な部分として実行されます)を使用します。


8

グローバリゼーション(G11n):多言語ソフトウェア製品を開発してグローバル市場に売り込むプロセスです。

多言語ソフトウェアの開発は現在2つの段階を経ています。最初の段階は国際化であり、2番目の段階はローカリゼーションです。

国際化(I18n):製品を一般化するプロセスであり、再設計(言語と文化に依存しない)を必要とせずに複数の言語と文化的慣習を処理できます。

ローカリゼーション(L10n):製品を取得し、それが使用および販売されるターゲットロケール(国/地域および言語)(言語および文化に固有)に言語的および文化的に適切にするプロセスです。


8

たくさんの答え、たくさんの正しい情報、しかし私の答えは少し別の見方です。

国際化 -開発者が特定の言語のコードに直接メッセージ/エラーメッセージ/ボタン名/ラベルキャプションなどを持たず、翻訳関数に渡されるキーがあり、現在のユーザーのロケールに応じた翻訳関数が最終テキストを返す場合英語/フランス/その他...
翻訳機能はストレージ(db / files /連想配列/ etc)で動作します。
ストレージにはキーが含まれていますは、coodeでれると、アプリケーションがサポートする特定の言語のテキストである値が。

ローカリゼーション - キーに適した新しい言語(スペインなど)で新しい値を追加するプロセス、開発者をこのプロセスに関与させることなくにをストレージプロセスです。

たとえば、次のストレージがあります。

key   | english    | italian           |
------+------------+-------------------+
title | Welcome    | Benvenuto         |
agree | I agree    | Sono d'accordo    |
thank | Thank you  | Grazie            |

またはLocalizationのconfirm(t(agree));代わりに、コードで使用している国際化-ストレージに新しいロケールを追加します。confirm("I agree");confirm("Sono d'accordo");

key   | english    | italian           | spanish          |
------+------------+-------------------+------------------+
title | Welcome    | Benvenuto         | Bienvenido       |
agree | I agree    | Sono d'accordo    | Estoy de acuerdo |
thank | Thank you  | Grazie            | Gracias          |

そして、ここで開発者は更新コードを必要としません、翻訳機能は適切なテキストを正しく運ぶでしょう。


3
とてもわかりやすい。
Vinh Nguyen

1
素晴らしい例!
ジンジノフ

6

以下の定義に従えば、非常に簡単です。

i18n(国際化)

アプリケーションをプログラムで変更することなく、別の言語に変更する機能を備え たアプリケーション設計するプロセス。

l10n(ローカリゼーション)

実際の言語固有のテキストとフォーマット作成するプロセス。


3

ここには非常に良い答えがいくつかあるので、私はそれらをリサイクルしません。ただし、ある時点で、通常は国際化テストとローカリゼーション言語テストの間で、国際化とローカリゼーションが重複する傾向があります。ある人は国際化にフィードバックするl10nについて言及していますが、高品質のi18nテストを実行し、疑似ローカライズされたコンテンツを作成する場合、ローカライズ中の開発問題の反復は例外であり、規則ではありません。インターフェースのサイズ変更、特にアラビア語やヘブライ語のような双方向言語をサポートするためのページの適応も、ローカリゼーションの問題と国際化エンジニアリングの両方を融合させる傾向があります。

十分に言うと、国際化にはソースに変更を加えて、要件に基づいてロケールをサポートすることが含まれます。国際化がうまくできていれば...

...ローカリゼーションには、特定のターゲット市場(ロケール)のニーズに最適に対応できるように、コンテンツといくつかのレベルのプレゼンテーション(太字のタグなど)の調整が含まれます。

ここで参照できるたくさんの記事とホワイトペーパー:http : //www.lingoport.com/software-internationalization-articles


3

国際化-i18n-特定の言語/文化からのアプリケーションの抽象化。

ローカリゼーション-l10n-特定の言語/文化/ロケールの具体的なサポートを上記のi18nフレームワークにプラグインします。

基本的にi18nを最初に実行することで、l10nをPITAのはるかに少なくします。

対照的に、最初に具体的なロケールでアプリケーションを作成し、その後それを国際化しようとすると、大規模なPITAになります。具体的な英語の文字列を "Hello World"とResource.Global.HelloWorldに交換するという単純な問題ではありません。

言語が異なれば、必要なスペース、レイアウト、強調、色なども異なります。

複数のロケールをサポートする必要があると思われる場合でも、上記の違いに対してロケール間の切り替えを簡単にサポートするには、最初からi18nフレームワークが必要です。

後でアプリケーションに組み込むのは非常に困難です。あなた(または他の誰か)が最初に行ったアーキテクチャ上の考慮事項と制約の全体を再訪する必要があります。


2

ローカライゼーションは国際化なしで行くことができると思いますが、ローカライゼーションを伴う国際化は行われるべきではありません...


2

類似のハメ撮り:1つのサイズの本を4x4インチしか持てないライブラリの棚を想像してみてください。国際化とは、あらゆる種類の本やサイズに対応できるように、あらゆる種類のコンパートメントで棚を構築することです。そして、ローカリゼーションはすべての本を正しいセクションに設定することになります。データベース、ビジネスロジック、UIを棚、さまざまな言語、通貨、テキストの向きを本と考えてください。


2

最初にロケールを理解しましょう

ロケール -ユーザーの言語、地域、およびユーザーがユーザーインターフェースで表示したい特別なバリアント設定を定義する一連のパラメーター。通常、ロケール識別子は、少なくとも言語識別子と地域識別子で構成されます。

i18n-複数のロケールをサポートするソフトウェアの設計と開発。

l10nこれは、ソフトウェアがi18nをサポートしている場合にのみ可能です。しかし、l10nは、言語、日付形式、通貨形式などが特定のロケールのコンテキストで表示されることを確認します。

例えば、

#1。1977年6月3日は、スペイン語に3977年6月3日として翻訳されます。

#2。一部の国の通貨は「。」で区切られています。対「、」

#3。ロケールの国に基づいてそれぞれの通貨記号を表示する

#1、#2、および#3は、ローカリゼーションのユースケースです。

ソフトウェアが#1 OR#2 ORをサポートするように設計されている場合ユーザーロケールに基づいて#3製品はl10n対応です。

複数のロケールをサポートしている場合は、i18nが有効になっています。


1

単に、

国際化(I18N)は、ソフトウェアをさまざまな言語、地域、文化に適応できるようにするプロセスです。

ローカリゼーション(L10N)は、ソフトウェアを複数の言語に翻訳するプロセスです。しかし、ソフトウェアをローカライズする前に、それを国際化します。


-1

i18nとl10nには多くの定義があります。私が使用するものは:

国際化(i18n):アプリケーションの言語固有の適応(翻訳)

ローカリゼーション(l10n):アプリケーションのロケール固有の適応(金額、数値形式、日付形式...)。

たとえば、フランスとスイス(少なくともスイスの一部の地域ではフランス語を話します)で配布されるアプリケーションに同じ言語を使用できますが、EURをCHFに変更するための調整が必要です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.