GT ClassMethodsLocales
resolveCanonicalLocale
GT の resolveCanonicalLocale メソッドの APIリファレンス
概要
ロケールのエイリアス(例: cn -> zh)に関するコンテキストで使用される resolveCanonicalLocale メソッドは、カスタムマッピングが設定されている場合、エイリアスのロケールコードを正準的な BCP-47 ロケールコードに解決します。
リファレンス
パラメータ
Prop
Type
パラメータの説明
| パラメータ | 説明 | 
|---|---|
| locale | 正規形に解決するためのロケールコードのエイリアス。未指定の場合はインスタンスの targetLocaleを使用します | 
| customMapping | インスタンス既定のマッピングの代わりに使用できる任意のカスタムマッピング | 
返り値
string - マッピングがある場合は正規の BCP-47 ロケールコード、ない場合は元のロケールコード
例外
- Error- locale が指定されておらず、かつインスタンスに- targetLocaleが設定されていない場合
例
const gt = new GT({
  sourceLocale: 'en',
  customMapping: {
    'cn': { code: 'zh', name: 'Mandarin' },
  }
});
// エイリアスを正規ロケールに変換
const canonical = gt.resolveCanonicalLocale('cn');
console.log(canonical); // "zh"
// 通常のBCP-47コードは変更されずそのまま通る
const unchanged = gt.resolveCanonicalLocale('fr-FR');
console.log(unchanged); // "fr-FR"注意事項
- エイリアスのロケールコードを正規の BCP-47 ロケールコードに変換します
- customMapping が存在しない場合は、元のロケールを返します
- GT のコンストラクタの customMapping設定と連携して動作します
- 入力および出力のロケールコードに対する検証は行いません
次のステップ
- resolveAliasLocaleでエイリアスに解決する
- isValidLocaleで対応ロケールを検証する
- standardizeLocaleで locale の形式を標準化する
このガイドはどうでしたか?

