113 lines
2.3 KiB
TypeScript
113 lines
2.3 KiB
TypeScript
/**
|
|
* Application configuration
|
|
*/
|
|
|
|
/**
|
|
* Countries that are currently supported for document analysis
|
|
* Uses ISO 3166-1 alpha-3 country codes
|
|
*/
|
|
export const SUPPORTED_COUNTRIES = [
|
|
'DEU', // Germany
|
|
'UKR', // Ukraine
|
|
'PHL', // Philippines
|
|
'TUR', // Turkey
|
|
'BIH', // Bosnia & Herzegovina
|
|
'ALB', // Albania
|
|
'VNM', // Vietnam
|
|
'MEX', // Mexico
|
|
'IND', // India
|
|
'TUN', // Tunisia
|
|
'SYR', // Syria
|
|
] as const
|
|
|
|
export const SUPPORTED_COUNTRY_NAMES: Record<(typeof SUPPORTED_COUNTRIES)[number], string> = {
|
|
DEU: 'Germany',
|
|
UKR: 'Ukraine',
|
|
PHL: 'Philippines',
|
|
TUR: 'Turkey',
|
|
BIH: 'Bosnia & Herzegovina',
|
|
ALB: 'Albania',
|
|
VNM: 'Vietnam',
|
|
MEX: 'Mexico',
|
|
IND: 'India',
|
|
TUN: 'Tunisia',
|
|
SYR: 'Syria',
|
|
}
|
|
|
|
/**
|
|
* Supported application locales
|
|
* Maps locale codes to their display information
|
|
*/
|
|
export const SUPPORTED_LOCALES = {
|
|
en: {
|
|
code: 'en',
|
|
name: 'English',
|
|
flag: 'https://flagcdn.com/us.svg',
|
|
},
|
|
de: {
|
|
code: 'de',
|
|
name: 'Deutsch',
|
|
flag: 'https://flagcdn.com/de.svg',
|
|
},
|
|
uk: {
|
|
code: 'uk',
|
|
name: 'Українська',
|
|
flag: 'https://flagcdn.com/ua.svg',
|
|
},
|
|
fil: {
|
|
code: 'fil',
|
|
name: 'Filipino',
|
|
flag: 'https://flagcdn.com/ph.svg',
|
|
},
|
|
tr: {
|
|
code: 'tr',
|
|
name: 'Türkçe',
|
|
flag: 'https://flagcdn.com/tr.svg',
|
|
},
|
|
bs: {
|
|
code: 'bs',
|
|
name: 'Bosanski',
|
|
flag: 'https://flagcdn.com/ba.svg',
|
|
},
|
|
sq: {
|
|
code: 'sq',
|
|
name: 'Shqip',
|
|
flag: 'https://flagcdn.com/al.svg',
|
|
},
|
|
vi: {
|
|
code: 'vi',
|
|
name: 'Tiếng Việt',
|
|
flag: 'https://flagcdn.com/vn.svg',
|
|
},
|
|
es: {
|
|
code: 'es',
|
|
name: 'Español',
|
|
flag: 'https://flagcdn.com/mx.svg',
|
|
},
|
|
hi: {
|
|
code: 'hi',
|
|
name: 'हिन्दी',
|
|
flag: 'https://flagcdn.com/in.svg',
|
|
},
|
|
ar: {
|
|
code: 'ar',
|
|
name: 'العربية',
|
|
flag: 'https://flagcdn.com/tn.svg',
|
|
},
|
|
} as const
|
|
|
|
export const LOCALES = Object.keys(SUPPORTED_LOCALES) as SupportedLocale[]
|
|
export const DEFAULT_LOCALE: SupportedLocale = 'en'
|
|
|
|
/**
|
|
* Languages array for language selector components
|
|
*/
|
|
export const LANGUAGES = Object.values(SUPPORTED_LOCALES).map(locale => ({
|
|
label: locale.name,
|
|
value: locale.code,
|
|
flag: locale.flag,
|
|
}))
|
|
|
|
export type SupportedLocale = keyof typeof SUPPORTED_LOCALES
|
|
export type SupportedCountry = typeof SUPPORTED_COUNTRIES[number]
|