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 のローカライズ済み表示名称。

挙動

表示言語の決定順序

この関数は次の優先度で名称をローカライズします:

  1. defaultLocale パラメータ(指定されている場合)
  2. ライブラリの既定のロケール('en')

カスタムマッピングの統合

  • カスタムマッピングは、ロケールコードと名称の両方に対して優先的に参照されます
  • エイリアス解決とカスタム表示名をサポート
  • マッピングされていないコードは標準の Intl.DisplayNames にフォールバックします

名称解決の方針

  1. カスタムマッピングの名称(最優先)
  2. 既定ロケールの Intl.DisplayNames
  3. ライブラリ既定('en')の Intl.DisplayNames
  4. ロケールコード自体(フォールバック)

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 より優先されます
  • 表示名を特定できない場合は、ロケールコード自体を返します
  • 表示ロケールのパラメータによって、返される名称の言語が決まります

次のステップ

このガイドはどうでしたか?

getLocaleName