Files
shahikitchen-prod/presentation/i18n/menu/category-names.ts
T

95 lines
3.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { Language } from '@/domain/language/entities';
const EN: Record<string, string> = {
"street-food": "Street Food & Starters",
"vegetarian": "Vegetarian",
"meat": "Meat",
"burger-sandwich": "Burger & Sandwich",
"chicken": "Chicken",
"pizza": "Pizza",
"naan-roll": "Naan Roll",
"sweets": "Sweets / Mithai",
"drinks": "Drinks"
};
const LOCALIZED: Partial<Record<Language, Record<string, string>>> = {
"sv": {
"street-food": "Gatumat & Förrätter",
"vegetarian": "Vegetariskt",
"meat": "Kött",
"burger-sandwich": "Burgare & Smörgås",
"chicken": "Kyckling",
"pizza": "Pizza",
"naan-roll": "Naanrulle",
"sweets": "Sötsaker / Mithai",
"drinks": "Drycker"
},
"ar": {
"street-food": "طعام الشارع والمقبلات",
"vegetarian": "نباتي",
"meat": "لحوم",
"burger-sandwich": "برغر وساندويتش",
"chicken": "دجاج",
"pizza": "بيتزا",
"naan-roll": "رول نان",
"sweets": "حلويات / ميثاي",
"drinks": "مشروبات"
},
"tr": {
"street-food": "Sokak Yemeği ve Başlangıçlar",
"vegetarian": "Vejetaryen",
"meat": "Et",
"burger-sandwich": "Burger ve Sandviç",
"chicken": "Tavuk",
"pizza": "Pizza",
"naan-roll": "Naan Dürüm",
"sweets": "Tatlılar / Mithai",
"drinks": "İçecekler"
},
"hi": {
"street-food": "स्ट्रीट फूड और स्टार्टर्स",
"vegetarian": "शाकाहारी",
"meat": "मांस",
"burger-sandwich": "बर्गर और सैंडविच",
"chicken": "चिकन",
"pizza": "पिज़्ज़ा",
"naan-roll": "नान रोल",
"sweets": "मिठाइयाँ / मिठाई",
"drinks": "पेय"
},
"ur": {
"street-food": "اسٹریٹ فوڈ اور سٹارٹرز",
"vegetarian": "سبزی خور",
"meat": "گوشت",
"burger-sandwich": "برگر اور سینڈوچ",
"chicken": "چکن",
"pizza": "پیزا",
"naan-roll": "نان رول",
"sweets": "مٹھائیاں / مٹھائی",
"drinks": "مشروبات"
}
};
const INCLUSION_CATEGORIES = new Set(['meat', 'chicken', 'vegetarian']);
const DISH_INCLUSION_NOTE_EN = '1x Naan or Rice included';
const DISH_INCLUSION_NOTE_LOCALIZED: Partial<Record<Language, string>> = {
sv: '1x Naan eller ris ingår',
ar: '1x نان أو أرز مشمول',
tr: '1x Naan veya pilav dahil',
hi: '1x नान या चावल शामिल',
ur: '1x نان یا چاول شامل',
};
export function getCategoryName(lang: Language, categoryId: string, fallback: string): string {
if (lang === 'en') return EN[categoryId] ?? fallback;
return LOCALIZED[lang]?.[categoryId] ?? EN[categoryId] ?? fallback;
}
export function getMenuItemInclusionNote(lang: Language, categoryId: string): string | undefined {
if (!INCLUSION_CATEGORIES.has(categoryId)) return undefined;
if (lang === 'en') return DISH_INCLUSION_NOTE_EN;
return DISH_INCLUSION_NOTE_LOCALIZED[lang] ?? DISH_INCLUSION_NOTE_EN;
}