/**
 * Маппинг ISO 3166-1 alpha-2 → locale (как в localization-service).
 * Используется когда localization-service недоступен, а geo-context (погода) работает.
 */
const COUNTRY_TO_LOCALE: Record<string, string> = {
  RU: 'ru',
  UA: 'uk',
  BY: 'be',
  KZ: 'kk',
  US: 'en',
  GB: 'en',
  AU: 'en',
  CA: 'en',
  DE: 'de',
  AT: 'de',
  CH: 'de',
  FR: 'fr',
  BE: 'fr',
  ES: 'es',
  MX: 'es',
  AR: 'es',
  IT: 'it',
  PT: 'pt',
  BR: 'pt',
  PL: 'pl',
  NL: 'nl',
  SE: 'sv',
  NO: 'nb',
  DK: 'da',
  FI: 'fi',
  CZ: 'cs',
  SK: 'sk',
  HU: 'hu',
  RO: 'ro',
  BG: 'bg',
  HR: 'hr',
  RS: 'sr',
  GR: 'el',
  TR: 'tr',
  JP: 'ja',
  CN: 'zh',
  TW: 'zh-TW',
  KR: 'ko',
  IN: 'hi',
  TH: 'th',
  VI: 'vi',
  ID: 'id',
  MY: 'ms',
  SA: 'ar',
  AE: 'ar',
  EG: 'ar',
  IL: 'he',
  IR: 'fa',
};

export function localeFromCountryCode(
  countryCode: string | null | undefined,
): string {
  if (!countryCode) return 'en';
  return COUNTRY_TO_LOCALE[countryCode.toUpperCase()] ?? 'en';
}
