import type { Language } from '@/contexts/language'; export interface LanguageOption { code: Language; name: string; nativeName: string; flag: string; /** Kept for stored preferences, but omitted from the visible picker. */ hidden?: boolean; } /** * Every locale the picker can show. Kept out of the component file so Fast * Refresh still works (a component module must only export components). */ export const LANGUAGE_OPTIONS: LanguageOption[] = [ { code: 'en', name: 'English', nativeName: 'English', flag: '/flags/gb-eng.svg' }, { code: 'es', name: 'Spanish', nativeName: 'Español', flag: '🇪🇸' }, { code: 'ca', name: 'Catalan', nativeName: 'Català', flag: '/flags/ca.svg' }, { code: 'eu', name: 'Basque', nativeName: 'Euskara', flag: '/flags/eu.svg' }, { code: 'gl', name: 'Galician', nativeName: 'Galego', flag: '/flags/gl.svg' }, { code: 'pt', name: 'Portuguese (Brazil)', nativeName: 'Português (Brasil)', flag: '🇧🇷' }, { code: 'pt-PT', name: 'Portuguese (Portugal)', nativeName: 'Português (Portugal)', flag: '🇵🇹' }, { code: 'fr', name: 'French', nativeName: 'Français', flag: '🇫🇷' }, { code: 'de', name: 'German', nativeName: 'Deutsch', flag: '🇩🇪' }, { code: 'it', name: 'Italian', nativeName: 'Italiano', flag: '🇮🇹' }, { code: 'nl', name: 'Dutch', nativeName: 'Nederlands', flag: '🇳🇱' }, { code: 'pl', name: 'Polish', nativeName: 'Polski', flag: '🇵🇱' }, { code: 'ru', name: 'Russian', nativeName: 'Русский', flag: '🇷🇺' }, { code: 'ko', name: 'Korean', nativeName: '한국어', flag: '🇰🇷' }, // North Korean reuses the Korean dictionary; hide the duplicate from the // picker while keeping the code valid for existing stored preferences. { code: 'ko-KP', name: 'Korean (North)', nativeName: '조선어', flag: '🇰🇵', hidden: true }, { code: 'th', name: 'Thai', nativeName: 'ไทย', flag: '🇹🇭' }, { code: 'ja', name: 'Japanese', nativeName: '日本語', flag: '🇯🇵' }, { code: 'zh-CN', name: 'Chinese (Simplified)', nativeName: '简体中文', flag: '🇨🇳' }, { code: 'zh-TW', name: 'Chinese (Traditional)', nativeName: '繁體中文', flag: '🇹🇼' }, { code: 'uk', name: 'Ukrainian', nativeName: 'Українська', flag: '🇺🇦' }, { code: 'id', name: 'Indonesian', nativeName: 'Bahasa Indonesia', flag: '🇮🇩' }, { code: 'cs', name: 'Czech', nativeName: 'Čeština', flag: '🇨🇿' }, { code: 'ro', name: 'Romanian', nativeName: 'Română', flag: '🇷🇴' }, { code: 'sv', name: 'Swedish', nativeName: 'Svenska', flag: '🇸🇪' }, { code: 'el', name: 'Greek', nativeName: 'Ελληνικά', flag: '🇬🇷' }, { code: 'vi', name: 'Vietnamese', nativeName: 'Tiếng Việt', flag: '🇻🇳' }, { code: 'tr', name: 'Turkish', nativeName: 'Türkçe', flag: '🇹🇷' }, { code: 'hi', name: 'Hindi', nativeName: 'हिन्दी', flag: '🇮🇳' }, ];