{"version":3,"file":"localeMap.cjs","sources":["../../src/intl/localeMap.ts"],"sourcesContent":["import type { locales } from './locales'\n\nexport type Locale = keyof typeof locales\n\n/*\n  localeMap は LanguageSwitcher で言語切替をするためにも使用されます。そのため、このオブジェクトの並び順が言語切替 UI の並び順にも反映されます。\n  配置ロジック（新しい言語追加時の判断軸）\n  ・認知負荷を減らす：利用頻度を考慮し、ユーザーが直感的に探せるようにする。\n  ・見栄えを考慮：アルファベット系・漢字系といった系統を意識して並べ、視覚的にも整理する。\n\n  下記の設計を基準にすれば、新しい言語を追加する際も既存の分類に沿って挿入するだけで済み、秩序を維持できる。\n  1. 日本語：デフォルト言語のため、常に最上位。\n  2. 英語：i18n文脈における事実上のデフォルト言語として、常に第二位。\n  3. 他のアルファベット系言語（インドネシア語、ポルトガル語、ベトナム語）：常に中央に配置し、アルファベット順で整列。\n  4. 韓国語：アルファベット系と漢字系の橋渡し（トランジション）として配置。\n  5. 中国語（簡体字・繁体字）：ユーザー数が多く安定している漢字系言語であるため、常に後半にまとめて配置。\n  6. やさしい日本語：日本語の派生であり、補助的な言語という位置づけを示すため、常に最後に配置。\n*/\nexport const localeMap: Record<Locale, string> = {\n  ja: '日本語',\n  'en-us': 'English',\n  'id-id': 'Bahasa Indonesia',\n  pt: 'Português',\n  vi: 'Tiếng Việt',\n  ko: '한국어',\n  'zh-cn': '简体中文',\n  'zh-tw': '繁體中文',\n  'ja-easy': 'やさしい日本語',\n}\n\n// 渡される言語の揺れを許容して smarthr-ui で使っている言語コードに変換する\nexport const convertLang = (rawLang: string): keyof typeof locales => {\n  const lang = rawLang.toLowerCase().replace(/_/g, '-')\n\n  // 日本語とやさしい日本語の対応\n  if (lang.startsWith('ja')) {\n    if (lang.includes('-easy')) {\n      return 'ja-easy'\n    }\n\n    return 'ja'\n  }\n\n  // 简体中文と繁體中文\n  if (lang.startsWith('zh')) {\n    const regionOrScript = lang.split('-')[1] ?? ''\n\n    if (['tw', 'hant'].includes(regionOrScript)) {\n      return 'zh-tw'\n    }\n\n    return 'zh-cn'\n  }\n\n  if (lang.startsWith('en')) return 'en-us' // 英語\n  if (lang.startsWith('pt')) return 'pt' // ポルトガル語\n  if (lang.startsWith('vi')) return 'vi' // ベトナム語\n  if (lang.startsWith('ko')) return 'ko' // 韓国語\n  if (lang.startsWith('id')) return 'id-id' // インドネシア語\n\n  // 何にも一致しない場合はフォールバックとして 'ja' を返す\n  return 'ja'\n}\n"],"names":[],"mappings":";;AAIA;;;;;;;;;;;;;AAaE;AACK,MAAM,SAAS,GAA2B;AAC/C,IAAA,EAAE,EAAE,KAAK;AACT,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,OAAO,EAAE,kBAAkB;AAC3B,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,KAAK;AACT,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,SAAS,EAAE,SAAS;;AAGtB;AACO,MAAM,WAAW,GAAG,CAAC,OAAe,KAA0B;AACnE,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;;AAGrD,IAAA,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACzB,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AAC1B,YAAA,OAAO,SAAS;QAClB;AAEA,QAAA,OAAO,IAAI;IACb;;AAGA,IAAA,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACzB,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;QAE/C,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;AAC3C,YAAA,OAAO,OAAO;QAChB;AAEA,QAAA,OAAO,OAAO;IAChB;AAEA,IAAA,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,OAAO,CAAA;AACzC,IAAA,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;AACtC,IAAA,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;AACtC,IAAA,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;AACtC,IAAA,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,OAAO,CAAA;;AAGzC,IAAA,OAAO,IAAI;AACb;;;;;"}