// Translate country codes and names to Czech nationality names
export function translateNationality(code?: string): string {
  if (!code) return '';
  
  // Country code translations (2-letter codes)
  const codeTranslations: Record<string, string> = {
    'CZ': 'Česká republika',
    'SK': 'Slovensko',
    'PL': 'Polsko',
    'DE': 'Německo',
    'AT': 'Rakousko',
    'UA': 'Ukrajina',
    'FR': 'Francie',
    'ES': 'Španělsko',
    'IT': 'Itálie',
    'GB': 'Anglie',
    'UK': 'Velká Británie',
    'US': 'USA',
    'BR': 'Brazílie',
    'AR': 'Argentina',
    'PT': 'Portugalsko',
    'NL': 'Nizozemsko',
    'BE': 'Belgie',
    'CH': 'Švýcarsko',
    'SE': 'Švédsko',
    'NO': 'Norsko',
    'DK': 'Dánsko',
    'FI': 'Finsko',
    'RU': 'Rusko',
    'HR': 'Chorvatsko',
    'RS': 'Srbsko',
    'SI': 'Slovinsko',
    'HU': 'Maďarsko',
    'RO': 'Rumunsko',
    'BG': 'Bulharsko',
    'GR': 'Řecko',
    'TR': 'Turecko',
    'JP': 'Japonsko',
    'CN': 'Čína',
    'KR': 'Jižní Korea',
    'AU': 'Austrálie',
    'NZ': 'Nový Zéland',
    'CA': 'Kanada',
    'MX': 'Mexiko',
    'IE': 'Irsko',
    'IS': 'Island',
  };

  // Full country name translations (from REST Countries API)
  const nameTranslations: Record<string, string> = {
    'Czechia': 'Česká republika',
    'Czech Republic': 'Česká republika',
    'Slovakia': 'Slovensko',
    'Poland': 'Polsko',
    'Germany': 'Německo',
    'Austria': 'Rakousko',
    'Ukraine': 'Ukrajina',
    'France': 'Francie',
    'Spain': 'Španělsko',
    'Italy': 'Itálie',
    'England': 'Anglie',
    'United Kingdom': 'Velká Británie',
    'United States': 'USA',
    'Brazil': 'Brazílie',
    'Argentina': 'Argentina',
    'Portugal': 'Portugalsko',
    'Netherlands': 'Nizozemsko',
    'Belgium': 'Belgie',
    'Switzerland': 'Švýcarsko',
    'Sweden': 'Švédsko',
    'Norway': 'Norsko',
    'Denmark': 'Dánsko',
    'Finland': 'Finsko',
    'Russia': 'Rusko',
    'Croatia': 'Chorvatsko',
    'Serbia': 'Srbsko',
    'Slovenia': 'Slovinsko',
    'Hungary': 'Maďarsko',
    'Romania': 'Rumunsko',
    'Bulgaria': 'Bulharsko',
    'Greece': 'Řecko',
    'Turkey': 'Turecko',
    'Japan': 'Japonsko',
    'China': 'Čína',
    'South Korea': 'Jižní Korea',
    'Australia': 'Austrálie',
    'New Zealand': 'Nový Zéland',
    'Canada': 'Kanada',
    'Mexico': 'Mexiko',
    'Ireland': 'Irsko',
    'Iceland': 'Island',
    'Bosnia and Herzegovina': 'Bosna a Hercegovina',
    'Montenegro': 'Černá Hora',
    'North Macedonia': 'Severní Makedonie',
    'Albania': 'Albánie',
    'Luxembourg': 'Lucembursko',
    'Moldova': 'Moldavsko',
    'Lithuania': 'Litva',
    'Latvia': 'Lotyšsko',
    'Estonia': 'Estonsko',
    'Belarus': 'Bělorusko',
  };

  // Try code translation first (for 2-letter codes)
  const upperCode = code.toUpperCase();
  if (codeTranslations[upperCode]) {
    return codeTranslations[upperCode];
  }

  // Try full name translation (case-insensitive)
  const lowerName = code.toLowerCase();
  for (const [englishName, czechName] of Object.entries(nameTranslations)) {
    if (englishName.toLowerCase() === lowerName) {
      return czechName;
    }
  }

  // Return original if no translation found
  return code;
}
