GT ClassMethodsLocales
standardizeLocale
GT の standardizeLocale メソッドに関する APIリファレンス
概要
standardizeLocale メソッドは、BCP-47 のロケールコードを標準化し、正しいフォーマットと大文字・小文字の表記を保証します。
ロケールコードを正準形式に変換し、国際化 API での利用に適した形にするとともに、アプリケーション全体での一貫性を確保します。
リファレンス
パラメータ
Prop
Type
パラメータの説明
| パラメータ | 説明 | 
|---|---|
| locale | 標準化する BCP-47 のロケールコード。指定がない場合はインスタンスの targetLocaleを使用します | 
返り値
string - 標準化された BCP-47 のロケールコード。入力が無効な場合は空文字列を返します
例外
- Error- locale が指定されておらず、かつインスタンスに- targetLocaleが設定されていない場合
動作
適用される一般的な書式の修正:
- en_US→- en-US(アンダースコアをハイフンに)
- zh_cn→- zh-CN(アンダースコアをハイフンに、適切な大文字小文字)
- EN-gb→- en-GB(言語コードは小文字、地域コードは大文字)
- Fr-ca→- fr-CA(全体を適切な大文字小文字に)
- ja_jp→- ja-JP(アンダースコアをハイフンに、適切な大文字小文字)
例
const gt = new GT({
  sourceLocale: 'en',
  targetLocale: 'es-ES'
});
// 様々なロケール形式を標準化
console.log(gt.standardizeLocale('en_us')); // "en-US"
console.log(gt.standardizeLocale('zh_cn')); // "zh-CN"
console.log(gt.standardizeLocale('EN-gb')); // "en-GB"
console.log(gt.standardizeLocale('fr-ca')); // "fr-CA"
// 既に標準化されたロケールはそのまま通る
console.log(gt.standardizeLocale('es-ES')); // "es-ES"
console.log(gt.standardizeLocale('ja-JP')); // "ja-JP"注意事項
- アンダースコアをハイフンに変換し、文字の大小を正規化します
- 無効なロケールコードの場合は空文字列を返します
- 言語コードは小文字に、地域コードは大文字になります
- 存在する場合はロケールの拡張およびバリアントを保持します
次のステップ
- 標準化された対応ロケールを isValidLocaleで検証する
- 正準ロケールを resolveCanonicalLocaleで解決する
- ロケールのプロパティを getLocalePropertiesで取得する
このガイドはどうでしたか?

