Utility FunctionsLocales
getLocaleName
スタンドアロン関数 getLocaleName のAPIリファレンス
概要
単体の getLocaleName 関数は、GT クラスのインスタンスなしでロケールコードの表示名を取得します。
Intl.DisplayNames API を用いて、有効な BCP-47 ロケールコードに対するローカライズ済みのロケール名を提供します。
import { getLocaleName } from 'generaltranslation';
const name = getLocaleName('fr-CA', 'en');
console.log(name); // 「French (Canada)」参考資料
パラメータ
Prop
Type
パラメータの説明
| パラメータ | 説明 | 
|---|---|
| locale | 表示名を取得する対象の BCP-47 ロケールコード | 
| defaultLocale | 表示名のローカライズに使用するロケール(既定は 'en') | 
| customMapping | ロケールコードや名称に対する任意のカスタムマッピング | 
戻り値
string - locale のローカライズ済み表示名称。
挙動
表示言語の決定順序
この関数は次の優先度で名称をローカライズします:
- defaultLocaleパラメータ(指定されている場合)
- ライブラリの既定のロケール('en')
カスタムマッピングの統合
- カスタムマッピングは、ロケールコードと名称の両方に対して優先的に参照されます
- エイリアス解決とカスタム表示名をサポート
- マッピングされていないコードは標準の Intl.DisplayNames にフォールバックします
名称解決の方針
- カスタムマッピングの名称(最優先)
- 既定ロケールの Intl.DisplayNames
- ライブラリ既定('en')の Intl.DisplayNames
- ロケールコード自体(フォールバック)
例
import { getLocaleName } from 'generaltranslation';
// 英語での表示名
console.log(getLocaleName('es', 'en')); // "Spanish (Spain)"
console.log(getLocaleName('ja', 'en')); // "Japanese (Japan)"
console.log(getLocaleName('zh', 'en')); // "Chinese (China)"locale の options を設定する
import { getLocaleName, getLocaleEmoji } from 'generaltranslation';
function buildLocaleOptions(
  supportedLocales: string[],
  displayLocale: string = 'en'
) {
  return supportedLocales.map(locale => ({
    value: locale,
    label: getLocaleName(locale, displayLocale),
    emoji: getLocaleEmoji(locale)
  }));
}
const options = buildLocaleOptions([
  'en',
  'es',
  'fr',
  'de',
  'ja'
], 'en');
console.log(options);
// [
//   { value: 'en', label: '英語(米国)', emoji: '🇺🇸' },
//   { value: 'es', label: 'スペイン語(スペイン)', emoji: '🇪🇸' },
//   ...
// ]注意事項
- カスタムマッピングは、標準の Intl.DisplayNames より優先されます
- 表示名を特定できない場合は、ロケールコード自体を返します
- 表示ロケールのパラメータによって、返される名称の言語が決まります
次のステップ
- getLocaleEmojiで locale の emoji を取得する
- 状態を扱う処理には、GT クラスのメソッド getLocaleNameを使用する
- CustomMapping型 について学ぶ
このガイドはどうでしたか?

