国際化 (i18n)
国際化(i18n)とは、コードの変更を必要とせずに、製品やウェブサイトをさまざまな言語や地域に適応させられるように設計および構築するプロセスです。テキスト文字列の抽象化、日付形式の変数化、特殊文字のUnicodeサポートなどが含まれます。
ローカライゼーションの基盤構築
コードが対応していなければサイトを翻訳することはできません。i18nは「準備作業」であり、壁を塗る前に家の骨組みを建てるようなものです。<p>Hello World</p>のようなハードコードされたテキストは、ソースコードを編集しなければ翻訳不可能です。国際化されたコードは変数を使用します:<p>{greeting_text}</p> はどの言語にも切り替えることができます。同様に、データベースは中国語の文字を格納するためにUTF-8エンコーディングをサポートする必要があり、UIレイアウトはドイツ語のテキスト(英語より30%長い)に対応するために柔軟である必要があり、日付システムはDD/MM/YYYYとMM/DD/YYYYを処理できる必要があります。i18nは開発中に一度行われます。ローカライゼーションは新しい市場ごとに繰り返し行われます。
ハードコーディング vs 国際化(i18n)
現実世界への影響
SaaSアプリには500以上のReactコンポーネントに英語のテキストがハードコードされています
フランス語版のリリースには500ファイルの編集が必要
6ヶ月の開発、20万ドルの費用、高いバグリスク
アプリは初日からi18nで構築、すべてのテキストは言語ファイルに
フランス語版のリリースには新しいfr.json翻訳ファイルが1つ必要
2週間、$15Kのコスト、コード変更ゼロ