Files
shahikitchen-prod/presentation/i18n/translations.ts
T

1719 lines
97 KiB
TypeScript

import type { Language, LanguageOption } from '@/domain/language/entities';
import { arTranslations } from './languages/ar';
import { trTranslations } from './languages/tr';
import { mergeTranslations } from './merge';
import {
HINDI_MENU_DESCRIPTIONS,
MENU_DESCRIPTION_SUPPLEMENT,
} from './menu/description-supplement';
export type { Language };
export const languages: LanguageOption[] = [
{ code: 'sv', name: 'Swedish', native: 'Svenska', flag: '🇸🇪' },
{ code: 'en', name: 'English', native: 'English', flag: '🇬🇧' },
{ code: 'ar', name: 'Arabic', native: 'العربية', flag: '🇸🇦' },
{ code: 'tr', name: 'Turkish', native: 'Türkçe', flag: '🇹🇷' },
{ code: 'hi', name: 'Hindi', native: 'हिंदी', flag: '🇮🇳' },
{ code: 'ur', name: 'Urdu', native: 'اردو', flag: '🇵🇰' },
];
export const translations = {
en: {
// Navbar
nav: {
home: 'Home',
menu: 'Menu',
catering: 'Catering',
locations: 'Locations',
login: 'Login',
experience: 'Experience',
contact: 'Contact',
},
reserve: 'Reserve Table',
cart: 'Cart',
wishlist: 'Wishlist',
// Table Booking / Reserve Page
booking: {
title: 'Reserve Your Table',
subtitle: 'Book a table or plan a private celebration at Askim or Backaplan. Pre-order your favorites for a seamless arrival.',
formTitle: 'Your Booking Details',
signInRequiredTitle: 'Sign in to continue',
signInRequiredSubtitle: 'Log in with Google to continue with your booking.',
signedInAs: 'Signed in as',
locationLabel: 'Location',
locationPlaceholder: 'Select location',
dateLabel: 'Date',
timeLabel: 'Time',
guestsLabel: 'Number of Guests',
nameLabel: 'Full Name',
namePlaceholder: 'Your full name',
phoneLabel: 'Phone Number',
phonePlaceholder: '+46 70 123 4567',
emailLabel: 'Email (optional)',
emailPlaceholder: 'your@email.com',
notesLabel: 'Special Requests (optional)',
notesPlaceholder: 'e.g. cake setup, dietary needs, décor preferences, seating layout',
continueBtn: 'Continue to Pre-Order Menu',
menuTitle: 'Pre-order Food (Optional)',
menuSubtitle: 'Select dishes to prepare in advance for your arrival.',
searchPlaceholder: 'Search dishes...',
addToPreOrder: 'Add to Pre-Order',
yourPreOrder: 'Your Pre-Order',
emptyPreOrder: 'No items selected yet. Add dishes above to pre-order.',
total: 'Pre-order Total',
sendInquiry: 'Send Booking & Pre-Order via WhatsApp',
inquiryNote: 'This opens WhatsApp with a pre-filled inquiry. We will confirm availability and your pre-order.',
successTitle: 'Inquiry Sent!',
successMessage: 'Thank you! We will confirm your table and pre-order shortly via WhatsApp or phone.',
editBooking: 'Edit Booking Details',
backHome: 'Back to Home',
askim: 'Askim (Sisjön)',
backaplan: 'Backaplan',
},
// Hero
hero: {
badge: 'Shahi Indian & Pakistani Since 2016',
welcome: 'Welcome to',
title: 'ShahiKitchen Online',
subtitle: 'Experience the warmth of Shahi hospitality and the richness of authentic Indian and Pakistani flavors — now brought to you with elegance, from the heart of Gothenburg.',
exploreMenu: 'Explore the Menu',
viewExperience: 'The Shahi Experience',
},
// Signature Menu
signatureMenu: {
title: 'Signature Menu',
subtitle: 'A curated selection of our most beloved dishes.',
filterAll: 'All',
filterCurry: 'Curry',
filterRice: 'Rice',
filterGrill: 'Grill',
filterSweets: 'Sweets',
filterMeat: 'Meat',
filterStreet: 'Street Food',
filterRoll: 'Roll',
addToTable: 'Add to Table',
viewFullMenu: 'VIEW THE COMPLETE MENU — 40+ DISHES',
},
signatureMenuItems: {
"chicken-biryani": "Fragrant aged basmati layered with spiced chicken, saffron & caramelized onions",
"bong-nihari": "Slow-cooked beef shank in rich aromatic gravy with ginger, lemon & fresh naan",
"panipuri": "Crispy hollow puris filled with spiced chickpeas, potatoes & tangy tamarind water",
"lamm-palak": "Tender lamb cooked with fresh spinach in a flavorful mild gravy",
"chicken-karahi": "Wok-tossed chicken in a robust tomato, chili & ginger gravy",
"chicken-haleem": "Slow-cooked shredded chicken with lentils, wheat & aromatic spices",
"tikka-boti-roll": "Juicy chicken tikka wrapped in soft naan with mint chutney & onions",
"jalebi": "Crispy golden saffron spirals soaked in fragrant sugar syrup",
"kulfi": "Traditional frozen milk dessert with cardamom, pistachio & saffron",
},
menuDescriptions: {
"samosa-aloo": "Crispy fried triangular pastries filled with spiced potatoes and peas.",
"samosa-keema": "Flaky pastries stuffed with spiced minced meat filling.",
"samosa-chat": "Crispy samosas topped with spicy chickpeas, yogurt, chutneys and fresh herbs.",
"chana-chat": "Tangy spiced chickpeas mixed with potatoes, onions, tomatoes and chutneys.",
"panipuri": "Crispy hollow puris filled with spiced chickpeas and potatoes, served with tangy tamarind water.",
"keema-naan-starter": "Soft naan bread stuffed with spiced minced meat, baked until golden.",
"palak-paneer": "Cottage cheese cooked in a creamy spinach gravy with mild spices and aromatic herbs.",
"shahi-paneer": "Soft cottage cheese in a rich, creamy cashew and tomato gravy with Indian spices.",
"malai-kofta": "Soft vegetable koftas simmered in a rich and creamy onion-tomato gravy with mild spices.",
"daal-makhani": "Slow-cooked black lentils in a buttery, creamy tomato gravy with aromatic spices.",
"lahore-chana": "Spiced chickpeas cooked in a tangy onion-tomato gravy with traditional Punjabi spices.",
"lamm-palak": "Tender lamb cooked with fresh spinach in a mild, flavorful gravy.",
"lamm-vindaloo": "Spicy and tangy lamb curry in a vinegar and chili-based sauce.",
"lamm-rogan-josh": "Aromatic lamb curry simmered in a rich yogurt and Kashmiri spice gravy.",
"lamm-karahi": "Lamb pieces stir-fried in a wok with tomatoes, ginger, garlic and spices.",
"bong-nihari": "Slow-cooked beef shank in a rich, aromatic gravy, traditionally served with naan.",
"paye": "Slow-simmered lamb trotters in a thick, spicy and flavorful gravy.",
"shahi-burger": "Juicy spiced meat patty in a soft bun with special sauces, lettuce and tomatoes.",
"shami-sandwich": "Spiced minced meat shami kebab patties served in bread with chutney and onions.",
"chicken-biryani": "Fragrant aged basmati rice layered with tender spiced chicken, saffron and caramelized onions.",
"chicken-tikka": "Boneless chicken pieces marinated in yogurt and spices, grilled in a tandoor.",
"chicken-karahi": "Wok-tossed chicken in a robust tomato, chili and ginger gravy.",
"lahore-sizzler": "Sizzling platter of marinated chicken with vegetables and spicy sauces.",
"butter-chicken": "Tender chicken in a creamy tomato and butter gravy with mild spices.",
"chicken-haleem": "Slow-cooked shredded chicken with lentils, wheat and aromatic spices.",
"lahore-pizza": "Pizza topped with spiced chicken, onions and special Lahori sauces on a crispy base.",
"kebab-pizza": "Pizza with minced meat kebab topping, cheese, onions and aromatic spices.",
"tikka-boti-pizza": "Pizza featuring grilled chicken tikka, cheese, tomatoes and fresh herbs.",
"peshawari-pizza": "Naan-style pizza with tender meat, nuts, raisins and Peshawari spices.",
"veg-pizza": "Vegetarian pizza loaded with fresh vegetables, cheese and tomato sauce.",
"tikka-boti-roll": "Grilled chicken tikka wrapped in soft naan with mint chutney and onions.",
"kebab-roll": "Spiced minced meat kebab wrapped in naan with chutney, salad and sauces.",
"falafel-roll": "Crispy falafel wrapped in naan with vegetables, hummus and tangy sauces.",
"paneer-roll": "Grilled paneer cubes wrapped in naan with spices, chutney and fresh vegetables.",
"namakpare": "Crispy, savory fried flour snacks seasoned with carom seeds and salt.",
"jalebi": "Crispy golden saffron spirals soaked in fragrant sugar syrup.",
"gajar-halwa": "Sweet carrot pudding cooked slowly with milk, sugar, ghee and nuts.",
"rasmalai": "Soft cheese dumplings soaked in chilled sweetened milk with cardamom and saffron.",
"kulfi": "Creamy traditional frozen milk dessert with cardamom, pistachios and saffron.",
"masala-chai": "Traditional spiced tea brewed with milk, cardamom, ginger and aromatic spices.",
"mango-lassi": "Refreshing sweet yogurt drink blended with ripe mango and cardamom.",
"coca-cola": "Classic chilled cola soft drink.",
"pepsi-fanta": "Refreshing cola or orange flavored carbonated beverage.",
"sprite-ramlosa": "Crisp lemon-lime soda or sparkling mineral water.",
"energy-drink": "Caffeinated beverage for an instant energy boost.",
"juice": "Fresh fruit juice, typically mango or other seasonal flavors.",
"coffee": "Freshly brewed hot coffee.",
"latte": "Espresso coffee with steamed milk and a light layer of foam.",
"cappuccino": "Espresso topped with steamed milk and thick foam.",
"tea": "Traditional hot black tea, served plain or with milk.",
},
// Experience
experience: {
badge: 'THE SHAHI WAY',
title: 'Warmth like a feast.\nCalm like a palace.',
heritage: {
title: 'Shahi Heritage',
text: 'Recipes passed through generations. Every dish tells a story of Punjab and the shahi kitchens of the subcontinent.',
},
generous: {
title: 'Generous & Honest',
text: 'Large portions. No shortcuts. We treat every guest like family — the way hospitality was meant to be.',
},
grace: {
title: 'Modern Grace',
text: 'Beautiful spaces in Askim & Backaplan. Fast, thoughtful service. Packaging worthy of a gift.',
},
},
// Locations
locations: {
badge: 'TWO HOMES IN GOTHENBURG',
title: 'Come as guests.\nLeave as family.',
},
// Footer
footer: {
tagline: 'Authentic Indian & Pakistani cuisine in Gothenburg since 2016.',
locations: 'OUR LOCATIONS',
explore: 'EXPLORE',
follow: 'FOLLOW US',
},
catering: {
badge: 'Events & Celebrations',
title: 'Shahi Catering',
subtitle:
'Premium per-head packages for weddings, corporate events, and family gatherings — authentic Shahi flavours, beautifully served.',
perHead: 'per guest',
contactForPricing: 'Contact us for pricing',
packagePricingInquiry:
'Hello Shahi Kitchen 👋\n\nI would like pricing for the {{package}} catering package.\n\nPlease contact me with availability and options.\n\nThank you!',
includedDishes: 'Included dishes',
mostPopular: 'Most Popular',
guestNote: 'Custom menus available — contact us to tailor your event.',
catalogBadge: 'Full catering menu',
catalogTitle: 'Available catering dishes',
catalogSubtitle:
'All packages draw from our master catering menu. Mix and match for bespoke events.',
sendInquiry: 'Send Inquiry',
inquiryMessage:
'Hello Shahi Kitchen 👋\n\nI would like to inquire about catering for an event.\n\nPlease contact me with availability and package options.\n\nThank you!',
categories: {
lamb: 'Lamb dishes',
chicken: 'Chicken dishes',
beef: 'Beef dishes',
vegetarian: 'Vegetarian dishes',
sides: 'Sides',
},
packages: {
silver: 'Silver Package',
gold: 'Gold Package',
royal: 'Royal Shahi Package',
},
packageDescriptions: {
silver:
'A refined introduction to Shahi catering — one signature curry, dal, rice, naan and fresh salad. Ideal for office lunches and intimate gatherings.',
gold:
'Our most popular celebration menu — biryani, two curries, a vegetarian classic, rice, naan, raita and salad. Perfect for weddings and family events.',
royal:
'The full Shahi experience — biryani, tikka masala, premium lamb, seekh kebab, paneer, dal, and complete sides. For grand occasions that demand royalty.',
},
},
// Common
add: 'Add',
viewCart: 'View Cart',
// Cart Drawer (fully language-aware)
cartDrawer: {
title: 'Your Basket',
item: 'item',
items: 'items',
clear: 'Clear',
empty: 'Your basket is empty',
browseMenu: 'Browse the menu →',
clearBasket: 'Clear basket',
total: 'Total',
pickupNote: 'Estimated order pickup time is 30 minutes, but it can vary depending on workload and availability.',
pickupInquiry: 'Pickup Inquiry',
deliveryInquiry: 'Delivery Inquiry',
inquiryHint: 'Opens WhatsApp with your order ready to send. We confirm availability manually.',
call: 'Call 031-28 89 10',
continueBrowsing: 'Continue browsing',
remove: 'Remove',
inquiryModalTitlePickup: 'Pickup inquiry',
inquiryModalTitleDelivery: 'Delivery inquiry',
signInRequiredTitle: 'Sign in to continue',
signInRequiredSubtitle: 'Log in with Google to send your pickup or delivery inquiry.',
signedInAs: 'Signed in as',
nameLabel: 'Full name',
namePlaceholder: 'Your name',
emailLabel: 'Email',
emailPlaceholder: 'your@email.com',
emailRequired: 'Please sign in so we can use your Google email.',
phoneLabel: 'Phone number',
phonePlaceholder: '+46 70 123 4567',
branchLabel: 'Restaurant branch',
branchPlaceholder: 'Select branch',
branchAskim: 'Askim',
branchBackaplan: 'Backaplan',
branchRequired: 'Please select a branch.',
askimOnlineUnavailable: 'Coming soon, the branch is not delivering online',
addressLabel: 'Delivery address (optional)',
addressPlaceholder: 'Start typing your street address…',
addressHint: 'Only Gothenburg addresses can be selected. Pick one from the suggestions.',
addressFallbackPlaceholder: 'Street, postcode, city…',
addressFallbackHint:
'Address search is temporarily unavailable. Type your full delivery address manually.',
addressSearching: 'Searching addresses…',
addressNoResults: 'No matching addresses. Try street name and number.',
addressOutsideGothenburg: 'This address is outside Gothenburg. We only deliver within the city.',
addressSelectSuggestion: 'Please pick an address from the suggestions.',
addressInvalid: 'Select a valid Gothenburg address from the list.',
preferredDateLabel: 'Preferred date (optional)',
preferredDatePlaceholder: 'Select date',
dateToday: 'Today',
dateTomorrow: 'Tomorrow',
preferredTimeLabel: 'Preferred time (optional)',
scheduleOptionalHint: 'Optional: choose today or tomorrow. If you pick today, time must be at least 30 minutes from now.',
scheduleIncomplete: 'Please select both date and time, or leave both empty.',
scheduleTooSoon: 'Please choose a time at least 30 minutes from now.',
submitPickup: 'Send via WhatsApp',
submitDelivery: 'Send via WhatsApp',
inquiryCancel: 'Cancel',
inquiryClose: 'Close',
nameRequired: 'Please enter your name.',
phoneRequired: 'Please enter your phone number.',
addressRequired: 'Please enter your delivery address.',
timeRequired: 'Please enter a preferred delivery time.',
inquiryPickupIntro: "Hi! I'd like to check availability for pickup:",
inquiryDeliveryIntro: "Hi! I'd like to order home delivery:",
messageTotal: 'Total',
messageName: 'Name',
messageEmail: 'Email',
messagePhone: 'Phone',
messageBranch: 'Branch',
messageAddress: 'Address',
messagePreferredDate: 'Preferred date',
messagePreferredTime: 'Preferred time',
deliverySwishNote: "I'll send Swish payment confirmation here once the order is confirmed.",
},
wishlistDrawer: {
title: 'Your Wishlist',
item: 'dish',
items: 'dishes',
clear: 'Clear',
empty: 'Your wishlist is empty',
browseMenu: 'Browse the menu →',
addToCart: 'Add to Cart',
remove: 'Remove',
hint: 'Save your favorite dishes and add them to your order anytime.',
continueBrowsing: 'Continue browsing',
},
// Authentication — Customer & Staff Login
auth: {
tabs: {
customer: 'Customer',
staff: 'Staff',
},
customer: {
badge: 'CUSTOMER PORTAL',
title: 'Customer Login',
subtitle: 'Sign in with your Google account to access your Shahi Kitchen profile.',
signInWithGoogle: 'Continue with Google',
footerNote: 'More customer features are coming soon.',
notConfigured: 'Google sign-in is not configured yet. Please add GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET to your environment.',
googleDenied: 'Google sign-in was cancelled. Please try again.',
googleFailed: 'Could not sign in with Google. Please try again.',
loading: 'Loading your account…',
welcomeTitle: 'Welcome to Shahi Kitchen',
welcomeSubtitle: 'You are successfully signed in. More features for customers will arrive soon.',
loggedInAs: 'You are logged in as',
logout: 'Sign out',
menuManagement: 'Menu Management',
},
title: 'Staff Login',
subtitle: 'Secure access for Shahi Kitchen team members at our locations',
usernameLabel: 'Username',
usernamePlaceholder: 'Enter your username',
passwordLabel: 'Password',
passwordPlaceholder: 'Enter your password',
siteLabel: 'Select Site',
sitePlaceholder: 'Choose your branch',
askim: 'Askim (Sisjön)',
backaplan: 'Backaplan',
submit: 'Sign In',
submitting: 'Signing in...',
accessDenied: 'Access denied. Please contact the administrator.',
construction: {
title: 'Authentication Under Construction',
message: 'Our staff login system is currently under development. The backend authentication service is not yet available. Please try again later. For immediate assistance with orders or reservations, please contact the restaurant directly via phone or WhatsApp.',
contact: 'Contact Restaurant',
tryAgain: 'Close & Try Later',
},
footerNote: 'This portal is for authorized Shahi Kitchen staff only.',
},
// Full Menu Page
menu: {
title: 'Our Menu',
subtitle: 'Traditional recipes. Generous portions. Made with heart.',
searchPlaceholder: 'Search dishes...',
showVegetarian: 'Show Vegetarian',
vegetarianOnly: 'Vegetarian Only',
clearFilters: 'Clear filters',
noResults: 'No dishes found matching your filters.',
dishes: 'dishes',
allDishes: 'All Dishes',
perHalfKg: 'kr / ½ kg',
perKg: 'kr / kg',
seeDetails: 'Click here to see details',
ingredients: 'Ingredients',
closeDetails: 'Close details',
},
// In-Restaurant Display Screens (screen1/screen2) — desktop fullscreen only, mesmerizing menu + animations
screen: {
brand: 'Shahi Kitchen',
display1: 'DISPLAY 1',
display2: 'DISPLAY 2',
menuTitle: 'The Menu',
kitchenTitle: 'In the Kitchen',
kitchenSubtitle: 'Watch your favorites come to life',
featuredTag: 'Signature',
prepared: 'Freshly prepared in our kitchen',
viewFull: 'Full menu at shahikitchen.se',
// screen3 - Live Order Display (for customers & delivery riders)
display3: 'DISPLAY 3',
orderBoard: 'Live Order Board',
orderSubtitle: 'In-house tables & online delivery — real-time for customers and riders',
inHouse: 'In-Restaurant',
online: 'Online Delivery',
statuses: {
received: 'Order Received',
review: 'In Review',
preparing: 'Preparing',
packing: 'Packing / Plating',
ready: 'Ready',
},
readyForPickup: 'READY FOR PICKUP',
serving: 'SERVING NOW',
elapsed: 'elapsed',
eta: 'ETA',
mins: 'min',
table: 'Table',
riderNote: 'Riders: look for your platform order number',
liveUpdates: 'Live updates • Backend coming soon',
},
// Table ordering via QR (orderfromtable page)
tableOrder: {
title: 'Order from your table',
branchAskim: 'Shahi Kitchen Askim',
branchBackaplan: 'Shahi Kitchen Backaplan',
tableLabel: 'Table',
invalidTitle: 'Invalid table QR code',
invalidMessage: 'Please ask restaurant staff for help.',
selectTitle: 'Select your dishes',
selectSubtitle: 'Tap any dish to add it to your order.',
searchPlaceholder: 'Search dishes...',
showVegetarian: 'Vegetarian only',
yourOrder: 'Your order',
emptyOrder: 'No items yet. Tap dishes above to build your order.',
notesLabel: 'Notes for the kitchen (optional)',
notesPlaceholder: 'e.g. no onions, extra spicy, allergies...',
sendOrder: 'Send order',
total: 'Total',
confirmationTitle: 'Order sent!',
confirmationMessage: 'Your order has been sent. A person from the restaurant will come to your table soon to confirm your order.',
orderAnother: 'Order more',
},
},
sv: {
nav: {
home: 'Hem',
menu: 'Meny',
catering: 'Catering',
locations: 'Platser',
login: 'Logga in',
experience: 'Upplevelse',
contact: 'Kontakt',
},
reserve: 'Boka Bord',
cart: 'Varukorg',
wishlist: 'Önskelista',
// Table Booking / Reserve Page
booking: {
title: 'Boka Bord',
subtitle: 'Boka bord på Askim eller Backaplan. Förbeställ dina favoriter från hela menyn för en smidig upplevelse.',
formTitle: 'Dina Bokningsuppgifter',
signInRequiredTitle: 'Logga in för att fortsätta',
signInRequiredSubtitle: 'Logga in med Google för att fortsätta med din bokning.',
signedInAs: 'Inloggad som',
locationLabel: 'Plats',
locationPlaceholder: 'Välj plats',
dateLabel: 'Datum',
timeLabel: 'Tid',
guestsLabel: 'Antal gäster',
nameLabel: 'Fullständigt namn',
namePlaceholder: 'Ditt fullständiga namn',
phoneLabel: 'Telefonnummer',
phonePlaceholder: '+46 70 123 4567',
emailLabel: 'E-post (valfritt)',
emailPlaceholder: 'din@email.se',
notesLabel: 'Speciella önskemål (valfritt)',
notesPlaceholder: 't.ex. fönsterbord, födelsedag, allergier',
continueBtn: 'Fortsätt till Förbeställning',
menuTitle: 'Förbeställ Mat (Valfritt)',
menuSubtitle: 'Välj rätter att förbereda i förväg för din ankomst.',
searchPlaceholder: 'Sök rätter...',
addToPreOrder: 'Lägg till i förbeställning',
yourPreOrder: 'Din Förbeställning',
emptyPreOrder: 'Inga rätter valda ännu. Lägg till ovan för att förbeställa.',
total: 'Förbeställning totalt',
sendInquiry: 'Skicka Bokning & Förbeställning via WhatsApp',
inquiryNote: 'Detta öppnar WhatsApp med en ifylld förfrågan. Vi bekräftar tillgänglighet och din förbeställning.',
successTitle: 'Förfrågan skickad!',
successMessage: 'Tack! Vi bekräftar ditt bord och din förbeställning inom kort via WhatsApp eller telefon.',
editBooking: 'Redigera bokningsuppgifter',
backHome: 'Tillbaka till startsidan',
askim: 'Askim (Sisjön)',
backaplan: 'Backaplan',
},
hero: {
badge: 'Kunglig Indisk & Pakistansk Sedan 2016',
welcome: 'Välkommen till',
title: 'ShahiKitchen Online',
subtitle: 'Upplev värmen från shahi gästfrihet och rikedomen av autentiska indiska och pakistanska smaker — nu med elegans, från Göteborgs hjärta.',
exploreMenu: 'Utforska Menyn',
viewExperience: 'Shahi-upplevelsen',
},
signatureMenu: {
title: 'Signaturmeny',
subtitle: 'Ett noga utvalt urval av våra mest älskade rätter.',
filterAll: 'Alla',
filterCurry: 'Curry',
filterRice: 'Ris',
filterGrill: 'Grill',
filterSweets: 'Sötsaker',
filterMeat: 'Kött',
filterStreet: 'Gatumat',
filterRoll: 'Rulle',
addToTable: 'Lägg till',
viewFullMenu: 'SE HELA MENYN — 40+ RÄTTER',
},
signatureMenuItems: {
"chicken-biryani": "Doftande åldrad basmatiris med lager av kryddad kyckling, saffran och karamelliserade lökar",
"bong-nihari": "Långsamt kokt nötköttsskaft i rik aromatisk sås med ingefära, citron och färsk naan",
"panipuri": "Knapriga ihåliga puris fyllda med kryddade kikärtor, potatis och syrlig tamarindvatten",
"lamm-palak": "Mört lamm tillagat med färsk spenat i en smakrik mild sås",
"chicken-karahi": "Wokad kyckling i en robust tomat-, chili- och ingefärssås",
"chicken-haleem": "Långsamt kokt strimlad kyckling med linser, vete och aromatiska kryddor",
"tikka-boti-roll": "Saftig kyckling tikka insvept i mjuk naan med myntachutney och lök",
"jalebi": "Knapriga gyllene saffranspiraler indränkta i doftande sockersirap",
"kulfi": "Traditionell fryst mjölkdessert med kardemumma, pistasch och saffran",
},
menuDescriptions: {
"samosa-aloo": "Knapriga stekta triangulära bakverk fyllda med kryddade potatisar och ärtor.",
"samosa-keema": "Flakiga bakverk fyllda med kryddat malet kött.",
"samosa-chat": "Knapriga samosas toppade med kryddade kikärtor, yoghurt, chutney och färska örter.",
"chana-chat": "Syrliga kryddade kikärtor blandade med potatis, lök, tomater och chutney.",
"panipuri": "Knapriga ihåliga puris fyllda med kryddade kikärtor och potatis, serveras med syrlig tamarindvatten.",
"keema-naan-starter": "Mjuk naanbröd fylld med kryddat malet kött, bakad tills gyllene.",
"palak-paneer": "Kesoost tillagad i en krämig spenatsås med milda kryddor och aromatiska örter.",
"shahi-paneer": "Mjuk kesoost i en rik, krämig cashew- och tomatsås med indiska kryddor.",
"malai-kofta": "Mjuka grönsakskoftor sjudna i en rik och krämig lök-tomat sås med milda kryddor.",
"daal-makhani": "Långsamt kokta svarta linser i en smörig, krämig tomatsås med aromatiska kryddor.",
"lahore-chana": "Kryddade kikärtor tillagade i en syrlig lök-tomat sås med traditionella punjabiska kryddor.",
"lamm-palak": "Mört lamm tillagat med färsk spenat i en mild, smakrik sås.",
"lamm-vindaloo": "Kryddig och syrlig lammcurry i en vinäger- och chilbaserad sås.",
"lamm-rogan-josh": "Aromatisk lammcurry sjudd i en rik yoghurt- och kashmirisk kryddsås.",
"lamm-karahi": "Lammbitar stekta i wok med tomater, ingefära, vitlök och kryddor.",
"bong-nihari": "Långsamt kokt nötköttsskaft i en rik, aromatisk sås, traditionellt serverad med naan.",
"paye": "Långsamt sjudna lammfötter i en tjock, kryddig och smakrik sås.",
"shahi-burger": "Saftig kryddad köttfärsbiff i mjuk bulle med speciella såser, sallad och tomater.",
"shami-sandwich": "Kryddade malet kött shami kebab-patties serverade i bröd med chutney och lök.",
"chicken-biryani": "Doftande åldrad basmatiris med lager av kryddad kyckling, saffran och karamelliserade lökar.",
"chicken-tikka": "Benfri kyckling marinerad i yoghurt och kryddor, grillad i tandoorugn.",
"chicken-karahi": "Wokad kyckling i en robust tomat-, chili- och ingefärssås.",
"lahore-sizzler": "Surrande fat med marinerad kyckling med grönsaker och kryddiga såser.",
"butter-chicken": "Mör kyckling i en krämig tomat- och smörsås med milda kryddor.",
"chicken-haleem": "Långsamt kokt strimlad kyckling med linser, vete och aromatiska kryddor.",
"lahore-pizza": "Pizza toppad med kryddad kyckling, lök och speciella lahoriska såser på krispig botten.",
"kebab-pizza": "Pizza med malet kött kebab topping, ost, lök och aromatiska kryddor.",
"tikka-boti-pizza": "Pizza med grillad kyckling tikka, ost, tomater och färska örter.",
"peshawari-pizza": "Naan-stil pizza med mört kött, nötter, russin och peshawari kryddor.",
"veg-pizza": "Vegetarisk pizza laddad med färska grönsaker, ost och tomatsås.",
"tikka-boti-roll": "Grillad kyckling tikka insvept i mjuk naan med myntachutney och lök.",
"kebab-roll": "Kryddat malet kött kebab insvept i naan med chutney, sallad och såser.",
"falafel-roll": "Knaprig falafel insvept i naan med grönsaker, hummus och syrliga såser.",
"paneer-roll": "Grillade paneer kuber insvepta i naan med kryddor, chutney och färska grönsaker.",
"namakpare": "Knapriga, salta stekta mjöl snacks kryddade med kumminfrön och salt.",
"jalebi": "Knapriga gyllene saffranspiraler indränkta i doftande sockersirap.",
"gajar-halwa": "Söt morotspudding långsamt kokt med mjölk, socker, ghee och nötter.",
"rasmalai": "Mjuka ost dumplings indränkta i kyld sötad mjölk med kardemumma och saffran.",
"kulfi": "Krämig traditionell fryst mjölkdessert med kardemumma, pistasch och saffran.",
"masala-chai": "Traditionellt kryddat te bryggt med mjölk, kardemumma, ingefära och aromatiska kryddor.",
"mango-lassi": "Uppfriskande söt yoghurt dryck blandad med mogen mango och kardemumma.",
"coca-cola": "Klassisk kyld cola läskedryck.",
"pepsi-fanta": "Uppfriskande cola eller apelsin smaksatt kolsyrad dryck.",
"sprite-ramlosa": "Krispig citron-lime läsk eller mousserande mineralvatten.",
"energy-drink": "Koffeinhaltig energidryck för en snabb kick.",
"juice": "Färsk fruktjuice, vanligtvis mango eller säsongsbetonade varianter.",
"coffee": "Nybryggt varmt kaffe.",
"latte": "Espresso kaffe med ångad mjölk och ett lätt lager skum.",
"cappuccino": "Espresso toppad med ångad mjölk och tjockt skum.",
"tea": "Traditionellt varmt svart te, serverat naturellt eller med mjölk.",
},
experience: {
badge: 'SHAHI-SÄTTET',
title: 'Värme som en fest.\nLugn som ett palats.',
heritage: {
title: 'Shahi Arv',
text: 'Recept som gått i arv i generationer. Varje rätt berättar en historia från Punjab och de shahi köken på subkontinenten.',
},
generous: {
title: 'Generöst & Ärligt',
text: 'Stora portioner. Inga genvägar. Vi behandlar varje gäst som familj — så som gästfrihet ska vara.',
},
grace: {
title: 'Modern Elegans',
text: 'Vackra lokaler i Askim & Backaplan. Snabb och omtänksam service. Förpackning värdig en gåva.',
},
},
locations: {
badge: 'TVÅ HEM I GÖTEBORG',
title: 'Kom som gäst.\nLämna som familj.',
},
footer: {
tagline: 'Autentisk indisk och pakistansk mat i Göteborg sedan 2016.',
locations: 'VÅRA PLATSER',
explore: 'UPPTÄCK',
follow: 'FÖLJ OSS',
},
catering: {
badge: 'Event & Festligheter',
title: 'Shahi Catering',
subtitle:
'Premium paket per gäst för bröllop, företagsevent och familjefester — autentiska Shahi-smaker, vackert serverade.',
perHead: 'per gäst',
contactForPricing: 'Kontakta oss för pris',
packagePricingInquiry:
'Hej Shahi Kitchen 👋\n\nJag vill ha pris för {{package}} cateringpaketet.\n\nVänligen kontakta mig med tillgänglighet och alternativ.\n\nTack!',
includedDishes: 'Ingående rätter',
mostPopular: 'Mest populär',
guestNote: 'Skräddarsydda menyer finns — kontakta oss för att anpassa ditt event.',
catalogBadge: 'Full cateringmeny',
catalogTitle: 'Tillgängliga cateringrätter',
catalogSubtitle:
'Alla paket bygger på vår master cateringmeny. Mixa och matcha för skräddarsydda event.',
sendInquiry: 'Skicka förfrågan',
inquiryMessage:
'Hej Shahi Kitchen 👋\n\nJag vill fråga om catering för ett event.\n\nVänligen kontakta mig med tillgänglighet och paketalternativ.\n\nTack!',
categories: {
lamb: 'Lammrätter',
chicken: 'Kycklingrätter',
beef: 'Nöträtter',
vegetarian: 'Vegetariska rätter',
sides: 'Tillbehör',
},
packages: {
silver: 'Silverpaket',
gold: 'Guldpaket',
royal: 'Royal Shahi-paket',
},
packageDescriptions: {
silver:
'En raffinerad introduktion till Shahi catering — en signaturcurry, dal, ris, naan och färsk sallad. Idealiskt för kontorsluncher och mindre sammankomster.',
gold:
'Vår mest populära festmeny — biryani, två curryrätter, en vegetarisk klassiker, ris, naan, raita och sallad. Perfekt för bröllop och familjeevent.',
royal:
'Den fullständiga Shahi-upplevelsen — biryani, tikka masala, premium lamm, seekh kebab, paneer, dal och kompletta tillbehör. För storslagna tillfällen.',
},
},
add: 'Lägg till',
viewCart: 'Visa Varukorg',
// Cart Drawer (fully language-aware)
cartDrawer: {
title: 'Din varukorg',
item: 'vara',
items: 'varor',
clear: 'Rensa',
empty: 'Din varukorg är tom',
browseMenu: 'Bläddra i menyn →',
clearBasket: 'Rensa varukorg',
total: 'Totalt',
pickupNote: 'Uppskattad upphämtningstid är cirka 30 minuter, men den kan variera beroende på arbetsbelastning och tillgänglighet.',
pickupInquiry: 'Hämtningsförfrågan',
deliveryInquiry: 'Leveransförfrågan',
inquiryHint: 'Öppnar WhatsApp med din beställning färdig att skicka. Vi bekräftar manuellt.',
call: 'Ring 031-28 89 10',
continueBrowsing: 'Fortsätt bläddra',
remove: 'Ta bort',
inquiryModalTitlePickup: 'Förfrågan om upphämtning',
inquiryModalTitleDelivery: 'Förfrågan om hemleverans',
signInRequiredTitle: 'Logga in för att fortsätta',
signInRequiredSubtitle: 'Logga in med Google för att skicka din hämtnings- eller leveransförfrågan.',
signedInAs: 'Inloggad som',
nameLabel: 'Fullständigt namn',
namePlaceholder: 'Ditt namn',
emailLabel: 'E-post',
emailPlaceholder: 'din@epost.se',
emailRequired: 'Logga in så att vi kan använda din Google-e-post.',
phoneLabel: 'Telefonnummer',
phonePlaceholder: '+46 70 123 4567',
branchLabel: 'Restaurangfilial',
branchPlaceholder: 'Välj filial',
branchAskim: 'Askim',
branchBackaplan: 'Backaplan',
branchRequired: 'Välj en filial.',
askimOnlineUnavailable: 'Kommer snart, filialen levererar inte online ännu',
addressLabel: 'Leveransadress (valfritt)',
addressPlaceholder: 'Börja skriva din gatuadress…',
addressHint: 'Endast Göteborg-adresser kan väljas. Välj ett förslag från listan.',
addressFallbackPlaceholder: 'Gata, postnummer, stad…',
addressFallbackHint:
'Adresssökning är tillfälligt otillgänglig. Skriv din fullständiga leveransadress manuellt.',
addressSearching: 'Söker adresser…',
addressNoResults: 'Inga träffar. Prova gatunamn och nummer.',
addressOutsideGothenburg: 'Adressen ligger utanför Göteborg. Vi levererar bara inom staden.',
addressSelectSuggestion: 'Välj en adress från förslagen.',
addressInvalid: 'Välj en giltig Göteborg-adress från listan.',
preferredDateLabel: 'Önskat datum (valfritt)',
preferredDatePlaceholder: 'Välj datum',
dateToday: 'Idag',
dateTomorrow: 'Imorgon',
preferredTimeLabel: 'Önskad tid (valfritt)',
scheduleOptionalHint: 'Valfritt: välj idag eller imorgon. Väljer du idag måste tiden vara minst 30 minuter från nu.',
scheduleIncomplete: 'Välj både datum och tid, eller lämna båda tomma.',
scheduleTooSoon: 'Välj en tid minst 30 minuter från nu.',
submitPickup: 'Skicka via WhatsApp',
submitDelivery: 'Skicka via WhatsApp',
inquiryCancel: 'Avbryt',
inquiryClose: 'Stäng',
nameRequired: 'Ange ditt namn.',
phoneRequired: 'Ange ditt telefonnummer.',
addressRequired: 'Ange din leveransadress.',
timeRequired: 'Ange önskad leveranstid.',
inquiryPickupIntro: 'Hej! Jag vill kolla tillgänglighet för upphämtning:',
inquiryDeliveryIntro: 'Hej! Jag vill beställa hemleverans:',
messageTotal: 'Totalt',
messageName: 'Namn',
messageEmail: 'E-post',
messagePhone: 'Telefon',
messageBranch: 'Filial',
messageAddress: 'Adress',
messagePreferredDate: 'Önskat datum',
messagePreferredTime: 'Önskad tid',
deliverySwishNote: 'Jag skickar Swish-betalningsbekräftelse här när beställningen är bekräftad.',
},
wishlistDrawer: {
title: 'Din önskelista',
item: 'rätt',
items: 'rätter',
clear: 'Rensa',
empty: 'Din önskelista är tom',
browseMenu: 'Bläddra i menyn →',
addToCart: 'Lägg i varukorg',
remove: 'Ta bort',
hint: 'Spara dina favoriträtter och lägg till dem i din beställning när som helst.',
continueBrowsing: 'Fortsätt bläddra',
},
// Authentication — Customer & Staff Login
auth: {
tabs: {
customer: 'Kund',
staff: 'Personal',
},
customer: {
badge: 'KUNDPORTAL',
title: 'Kundinloggning',
subtitle: 'Logga in med ditt Google-konto för att komma åt din Shahi Kitchen-profil.',
signInWithGoogle: 'Fortsätt med Google',
footerNote: 'Fler kundfunktioner kommer snart.',
notConfigured: 'Google-inloggning är inte konfigurerad ännu.',
googleDenied: 'Google-inloggning avbröts. Försök igen.',
googleFailed: 'Kunde inte logga in med Google. Försök igen.',
loading: 'Laddar ditt konto…',
welcomeTitle: 'Välkommen till Shahi Kitchen',
welcomeSubtitle: 'Du är nu inloggad. Fler kundfunktioner kommer snart.',
loggedInAs: 'Du är inloggad som',
logout: 'Logga ut',
menuManagement: 'Menyhantering',
},
title: 'Personalloggning',
subtitle: 'Säker åtkomst för Shahi Kitchen teammedlemmar vid våra platser',
usernameLabel: 'Användarnamn',
usernamePlaceholder: 'Ange ditt användarnamn',
passwordLabel: 'Lösenord',
passwordPlaceholder: 'Ange ditt lösenord',
siteLabel: 'Välj plats',
sitePlaceholder: 'Välj din restaurang',
askim: 'Askim (Sisjön)',
backaplan: 'Backaplan',
submit: 'Logga in',
submitting: 'Loggar in...',
accessDenied: 'Åtkomst nekad. Kontakta administratören.',
construction: {
title: 'Autentisering under uppbyggnad',
message: 'Vårt personallogginssystem är för närvarande under utveckling. Backend-autentiseringstjänsten är inte tillgänglig ännu. Vänligen försök igen senare. För omedelbar hjälp med beställningar eller bokningar, kontakta restaurangen direkt via telefon eller WhatsApp.',
contact: 'Kontakta restaurangen',
tryAgain: 'Stäng & försök senare',
},
footerNote: 'Denna portal är endast för auktoriserad Shahi Kitchen-personal.',
},
// Full Menu Page
menu: {
title: 'Vår Meny',
subtitle: 'Traditionella recept. Generösa portioner. Tillagade med hjärta.',
searchPlaceholder: 'Sök rätter...',
showVegetarian: 'Visa vegetariskt',
vegetarianOnly: 'Endast vegetariskt',
clearFilters: 'Rensa filter',
noResults: 'Inga rätter matchar dina filter.',
dishes: 'rätter',
allDishes: 'Alla rätter',
perHalfKg: 'kr / ½ kg',
perKg: 'kr / kg',
seeDetails: 'Klicka här för att se detaljer',
ingredients: 'Ingredienser',
closeDetails: 'Stäng detaljer',
},
// In-Restaurant Display Screens (screen1/screen2) — desktop fullscreen only, mesmerizing menu + animations
screen: {
brand: 'Shahi Kitchen',
display1: 'DISPLAY 1',
display2: 'DISPLAY 2',
menuTitle: 'Menyn',
kitchenTitle: 'I Köket',
kitchenSubtitle: 'Se hur vi tillagar dina favoriter',
featuredTag: 'Signatur',
prepared: 'Färskt tillagad i vårt kök',
viewFull: 'Hela menyn på shahikitchen.se',
// screen3 - Live Order Display (for customers & delivery riders)
display3: 'DISPLAY 3',
orderBoard: 'Live Order Board',
orderSubtitle: 'Bordsbeställningar & online-leverans — realtid för gäster och riders',
inHouse: 'I Restaurangen',
online: 'Online Leverans',
statuses: {
received: 'Order Mottagen',
review: 'Under Granskning',
preparing: 'Tillagas',
packing: 'Packas / Pläteras',
ready: 'Klar',
},
readyForPickup: 'KLAR FÖR UPPHÄMTNING',
serving: 'SERVERAS NU',
elapsed: 'förfluten',
eta: 'ETA',
mins: 'min',
table: 'Bord',
riderNote: 'Riders: sök efter ditt plattforms ordernummer',
liveUpdates: 'Live uppdateringar • Backend kommer snart',
},
// Table ordering via QR (orderfromtable page)
tableOrder: {
title: 'Beställ från ditt bord',
branchAskim: 'Shahi Kitchen Askim',
branchBackaplan: 'Shahi Kitchen Backaplan',
tableLabel: 'Bord',
invalidTitle: 'Ogiltig QR-kod för bord',
invalidMessage: 'Vänligen be restaurangpersonalen om hjälp.',
selectTitle: 'Välj dina rätter',
selectSubtitle: 'Tryck på en rätt för att lägga till den i din beställning.',
searchPlaceholder: 'Sök rätter...',
showVegetarian: 'Endast vegetariskt',
yourOrder: 'Din beställning',
emptyOrder: 'Inga rätter än. Tryck på rätter ovan för att bygga din beställning.',
notesLabel: 'Meddelande till köket (valfritt)',
notesPlaceholder: 't.ex. utan lök, extra starkt, allergier...',
sendOrder: 'Skicka beställning',
total: 'Totalt',
confirmationTitle: 'Beställning skickad!',
confirmationMessage: 'Din beställning har skickats. En person från restaurangen kommer snart till ditt bord för att bekräfta din beställning.',
orderAnother: 'Beställ mer',
},
},
hi: {
nav: {
home: 'होम',
menu: 'मेन्यू',
catering: 'कैटरिंग',
locations: 'स्थान',
login: 'लॉगिन',
experience: 'अनुभव',
contact: 'संपर्क',
},
reserve: 'टेबल बुक करें',
cart: 'कार्ट',
wishlist: 'विशलिस्ट',
// Table Booking / Reserve Page
booking: {
title: 'टेबल बुक करें',
subtitle: 'अस्किम या बैकप्लान पर टेबल बुक करें। एक सहज अनुभव के लिए पूर्ण मेनू से अपने पसंदीदा व्यंजनों को पहले से ऑर्डर करें।',
formTitle: 'आपकी बुकिंग विवरण',
signInRequiredTitle: 'Sign in to continue',
signInRequiredSubtitle: 'Log in with Google to continue with your booking.',
signedInAs: 'Signed in as',
locationLabel: 'स्थान',
locationPlaceholder: 'स्थान चुनें',
dateLabel: 'तारीख',
timeLabel: 'समय',
guestsLabel: 'मेहमानों की संख्या',
nameLabel: 'पूरा नाम',
namePlaceholder: 'आपका पूरा नाम',
phoneLabel: 'फोन नंबर',
phonePlaceholder: '+46 70 123 4567',
emailLabel: 'ईमेल (वैकल्पिक)',
emailPlaceholder: 'your@email.com',
notesLabel: 'विशेष अनुरोध (वैकल्पिक)',
notesPlaceholder: 'जैसे विंडो सीट, जन्मदिन, एलर्जी',
continueBtn: 'मेनू से प्री-ऑर्डर करें',
menuTitle: 'प्री-ऑर्डर भोजन (वैकल्पिक)',
menuSubtitle: 'अपने आगमन के लिए पहले से तैयार करने के लिए व्यंजन चुनें।',
searchPlaceholder: 'व्यंजन खोजें...',
addToPreOrder: 'प्री-ऑर्डर में जोड़ें',
yourPreOrder: 'आपका प्री-ऑर्डर',
emptyPreOrder: 'अभी तक कोई आइटम नहीं चुना गया। ऊपर से व्यंजन जोड़ें।',
total: 'प्री-ऑर्डर कुल',
sendInquiry: 'व्हाट्सएप पर बुकिंग और प्री-ऑर्डर भेजें',
inquiryNote: 'यह व्हाट्सएप को पहले से भरे विवरण के साथ खोलेगा। हम उपलब्धता और आपके प्री-ऑर्डर की पुष्टि करेंगे।',
successTitle: 'पूछताछ भेजी गई!',
successMessage: 'धन्यवाद! हम जल्द ही आपके टेबल और प्री-ऑर्डर की पुष्टि व्हाट्सएप या फोन पर करेंगे।',
editBooking: 'बुकिंग विवरण संपादित करें',
backHome: 'होम पर वापस जाएं',
askim: 'Askim (Sisjön)',
backaplan: 'Backaplan',
},
hero: {
badge: '2016 से शाही भारतीय और पाकिस्तानी',
welcome: 'स्वागत है',
title: 'ShahiKitchen Online',
subtitle: 'शाही आतिथ्य की गर्माहट और असली भारतीय-पाकिस्तानी स्वादों की समृद्धि का अनुभव करें — अब गॉथेनबर्ग के दिल से, शान के साथ।',
exploreMenu: 'मेन्यू देखें',
viewExperience: 'शाही अनुभव',
},
signatureMenu: {
title: 'सिग्नेचर मेन्यू',
subtitle: 'हमारी सबसे पसंदीदा व्यंजनों का विशेष चयन।',
filterAll: 'सभी',
filterCurry: 'करी',
filterRice: 'चावल',
filterGrill: 'ग्रिल',
filterSweets: 'मिठाइयाँ',
filterStreet: 'स्ट्रीट फूड',
addToTable: 'ऐड करें',
viewFullMenu: 'पूरी मेन्यू देखें — 40+ व्यंजन',
},
signatureMenuItems: {
"chicken-biryani": "Fragrant aged basmati layered with spiced chicken, saffron & caramelized onions",
"bong-nihari": "Slow-cooked beef shank in rich aromatic gravy with ginger, lemon & fresh naan",
"panipuri": "Crispy hollow puris filled with spiced chickpeas, potatoes & tangy tamarind water",
"lamm-palak": "Tender lamb cooked with fresh spinach in a flavorful mild gravy",
"chicken-karahi": "Wok-tossed chicken in a robust tomato, chili & ginger gravy",
"chicken-haleem": "Slow-cooked shredded chicken with lentils, wheat & aromatic spices",
"tikka-boti-roll": "Juicy chicken tikka wrapped in soft naan with mint chutney & onions",
"jalebi": "Crispy golden saffron spirals soaked in fragrant sugar syrup",
"kulfi": "Traditional frozen milk dessert with cardamom, pistachio & saffron",
},
menuDescriptions: {
"samosa-aloo": "Crispy fried triangular pastries filled with spiced potatoes and peas.",
"samosa-keema": "Flaky pastries stuffed with spiced minced meat filling.",
"samosa-chat": "Crispy samosas topped with spicy chickpeas, yogurt, chutneys and fresh herbs.",
"chana-chat": "Tangy spiced chickpeas mixed with potatoes, onions, tomatoes and chutneys.",
"panipuri": "Crispy hollow puris filled with spiced chickpeas and potatoes, served with tangy tamarind water.",
"keema-naan-starter": "Soft naan bread stuffed with spiced minced meat, baked until golden.",
"palak-paneer": "Cottage cheese cooked in a creamy spinach gravy with mild spices and aromatic herbs.",
"shahi-paneer": "Soft cottage cheese in a rich, creamy cashew and tomato gravy with Indian spices.",
"malai-kofta": "Soft vegetable koftas simmered in a rich and creamy onion-tomato gravy with mild spices.",
"daal-makhani": "Slow-cooked black lentils in a buttery, creamy tomato gravy with aromatic spices.",
"lahore-chana": "Spiced chickpeas cooked in a tangy onion-tomato gravy with traditional Punjabi spices.",
"lamm-palak": "Tender lamb cooked with fresh spinach in a mild, flavorful gravy.",
"lamm-vindaloo": "Spicy and tangy lamb curry in a vinegar and chili-based sauce.",
"lamm-rogan-josh": "Aromatic lamb curry simmered in a rich yogurt and Kashmiri spice gravy.",
"lamm-karahi": "Lamb pieces stir-fried in a wok with tomatoes, ginger, garlic and spices.",
"bong-nihari": "Slow-cooked beef shank in a rich, aromatic gravy, traditionally served with naan.",
"paye": "Slow-simmered lamb trotters in a thick, spicy and flavorful gravy.",
"shahi-burger": "Juicy spiced meat patty in a soft bun with special sauces, lettuce and tomatoes.",
"shami-sandwich": "Spiced minced meat shami kebab patties served in bread with chutney and onions.",
"chicken-biryani": "Fragrant aged basmati rice layered with tender spiced chicken, saffron and caramelized onions.",
"chicken-tikka": "Boneless chicken pieces marinated in yogurt and spices, grilled in a tandoor.",
"chicken-karahi": "Wok-tossed chicken in a robust tomato, chili and ginger gravy.",
"lahore-sizzler": "Sizzling platter of marinated chicken with vegetables and spicy sauces.",
"butter-chicken": "Tender chicken in a creamy tomato and butter gravy with mild spices.",
"chicken-haleem": "Slow-cooked shredded chicken with lentils, wheat and aromatic spices.",
"lahore-pizza": "Pizza topped with spiced chicken, onions and special Lahori sauces on a crispy base.",
"kebab-pizza": "Pizza with minced meat kebab topping, cheese, onions and aromatic spices.",
"tikka-boti-pizza": "Pizza featuring grilled chicken tikka, cheese, tomatoes and fresh herbs.",
"peshawari-pizza": "Naan-style pizza with tender meat, nuts, raisins and Peshawari spices.",
"veg-pizza": "Vegetarian pizza loaded with fresh vegetables, cheese and tomato sauce.",
"tikka-boti-roll": "Grilled chicken tikka wrapped in soft naan with mint chutney and onions.",
"kebab-roll": "Spiced minced meat kebab wrapped in naan with chutney, salad and sauces.",
"falafel-roll": "Crispy falafel wrapped in naan with vegetables, hummus and tangy sauces.",
"paneer-roll": "Grilled paneer cubes wrapped in naan with spices, chutney and fresh vegetables.",
"namakpare": "Crispy, savory fried flour snacks seasoned with carom seeds and salt.",
"jalebi": "Crispy golden saffron spirals soaked in fragrant sugar syrup.",
"gajar-halwa": "Sweet carrot pudding cooked slowly with milk, sugar, ghee and nuts.",
"rasmalai": "Soft cheese dumplings soaked in chilled sweetened milk with cardamom and saffron.",
"kulfi": "Creamy traditional frozen milk dessert with cardamom, pistachios and saffron.",
"masala-chai": "Traditional spiced tea brewed with milk, cardamom, ginger and aromatic spices.",
"mango-lassi": "Refreshing sweet yogurt drink blended with ripe mango and cardamom.",
"coca-cola": "Classic chilled cola soft drink.",
"pepsi-fanta": "Refreshing cola or orange flavored carbonated beverage.",
"sprite-ramlosa": "Crisp lemon-lime soda or sparkling mineral water.",
"energy-drink": "Caffeinated beverage for an instant energy boost.",
"juice": "Fresh fruit juice, typically mango or other seasonal flavors.",
"coffee": "Freshly brewed hot coffee.",
"latte": "Espresso coffee with steamed milk and a light layer of foam.",
"cappuccino": "Espresso topped with steamed milk and thick foam.",
"tea": "Traditional hot black tea, served plain or with milk.",
},
// Full Menu Page (fallback to English for now)
menu: {
title: 'Our Menu',
subtitle: 'Traditional recipes. Generous portions. Made with heart.',
searchPlaceholder: 'Search dishes...',
showVegetarian: 'Show Vegetarian',
vegetarianOnly: 'Vegetarian Only',
clearFilters: 'Clear filters',
noResults: 'No dishes found matching your filters.',
dishes: 'dishes',
allDishes: 'All Dishes',
perHalfKg: 'kr / ½ kg',
perKg: 'kr / kg',
},
// In-Restaurant Display Screens (screen1/screen2) — desktop fullscreen only, mesmerizing menu + animations
screen: {
brand: 'Shahi Kitchen',
display1: 'DISPLAY 1',
display2: 'DISPLAY 2',
menuTitle: 'मेन्यू',
kitchenTitle: 'रसोई में',
kitchenSubtitle: 'देखें आपके पसंदीदा कैसे तैयार होते हैं',
featuredTag: 'सिग्नेचर',
prepared: 'हमारी रसोई में ताज़ा तैयार',
viewFull: 'पूरी मेनू shahikitchen.se पर देखें',
// screen3 - Live Order Display (for customers & delivery riders)
display3: 'DISPLAY 3',
orderBoard: 'Live Order Board',
orderSubtitle: 'इन-हाउस टेबल और ऑनलाइन डिलीवरी — ग्राहकों और राइडर्स के लिए रियल-टाइम',
inHouse: 'रेस्तरां में',
online: 'ऑनलाइन डिलीवरी',
statuses: {
received: 'ऑर्डर प्राप्त',
review: 'समीक्षा में',
preparing: 'तैयार हो रहा है',
packing: 'पैकिंग / प्लेटिंग',
ready: 'तैयार',
},
readyForPickup: 'पिकअप के लिए तैयार',
serving: 'अभी सर्व किया जा रहा',
elapsed: 'बीता समय',
eta: 'ETA',
mins: 'मिनट',
table: 'टेबल',
riderNote: 'राइडर्स: अपने प्लेटफॉर्म ऑर्डर नंबर देखें',
liveUpdates: 'लाइव अपडेट • बैकएंड जल्द आ रहा',
},
// Table ordering via QR (orderfromtable page)
tableOrder: {
title: 'अपने टेबल से ऑर्डर करें',
branchAskim: 'Shahi Kitchen Askim',
branchBackaplan: 'Shahi Kitchen Backaplan',
tableLabel: 'टेबल',
invalidTitle: 'अमान्य टेबल QR कोड',
invalidMessage: 'कृपया रेस्तरां स्टाफ से मदद मांगें।',
selectTitle: 'अपने व्यंजन चुनें',
selectSubtitle: 'किसी भी डिश पर टैप करके उसे अपने ऑर्डर में जोड़ें।',
searchPlaceholder: 'डिश खोजें...',
showVegetarian: 'केवल शाकाहारी',
yourOrder: 'आपका ऑर्डर',
emptyOrder: 'अभी कोई आइटम नहीं। ऊपर डिश पर टैप करके ऑर्डर बनाएं।',
notesLabel: 'रसोई के लिए नोट्स (वैकल्पिक)',
notesPlaceholder: 'जैसे बिना प्याज, बहुत मसालेदार, एलर्जी...',
sendOrder: 'ऑर्डर भेजें',
total: 'कुल',
confirmationTitle: 'ऑर्डर भेज दिया गया!',
confirmationMessage: 'आपका ऑर्डर भेज दिया गया है। रेस्तरां का एक व्यक्ति जल्द ही आपके टेबल पर पुष्टि करने आएगा।',
orderAnother: 'और ऑर्डर करें',
},
experience: {
badge: 'शाही तरीका',
title: 'दावत जैसी गर्माहट।\nमहल जैसा सुकून।',
heritage: {
title: 'शाही विरासत',
text: 'पीढ़ियों से चले आ रहे रेसिपी। हर व्यंजन पंजाब और उपमहाद्वीप के शाही रसोईघरों की कहानी कहता है।',
},
generous: {
title: 'उदार और ईमानदार',
text: 'बड़ी सर्विंग्स। कोई शॉर्टकट नहीं। हम हर मेहमान को परिवार की तरह मानते हैं — जैसी आतिथ्य होनी चाहिए।',
},
grace: {
title: 'आधुनिक शान',
text: 'अस्किम और बैकाप्लान में खूबसूरत जगहें। तेज़ और सोच-समझकर की गई सेवा। तोहफे जैसी पैकेजिंग।',
},
},
locations: {
badge: 'गॉथेनबर्ग में दो घर',
title: 'मेहमान बनकर आएं।\nपरिवार बनकर जाएं।',
},
footer: {
tagline: '2016 से गॉथेनबर्ग में असली भारतीय और पाकिस्तानी खाना।',
locations: 'हमारे स्थान',
explore: 'एक्सप्लोर करें',
follow: 'हमें फॉलो करें',
},
catering: {
badge: 'इवेंट और उत्सव',
title: 'शाही कैटरिंग',
subtitle:
'शादियों, कॉर्पोरेट इवेंट और पारिवारिक समारोहों के लिए प्रीमियम प्रति व्यक्ति पैकेज — प्रामाणिक शाही स्वाद, सुंदर परोसा।',
perHead: 'प्रति अतिथि',
contactForPricing: 'मूल्य जानने के लिए हमसे संपर्क करें',
packagePricingInquiry:
'नमस्ते Shahi Kitchen 👋\n\nमुझे {{package}} कैटरिंग पैकेज की कीमत जाननी है।\n\nकृपया उपलब्धता और विकल्पों के साथ मुझसे संपर्क करें।\n\nधन्यवाद!',
includedDishes: 'शामिल व्यंजन',
mostPopular: 'सबसे लोकप्रिय',
guestNote: 'कस्टम मेनू उपलब्ध — अपने इवेंट के लिए हमसे संपर्क करें।',
catalogBadge: 'पूर्ण कैटरिंग मेनू',
catalogTitle: 'उपलब्ध कैटरिंग व्यंजन',
catalogSubtitle:
'सभी पैकेज हमारे मास्टर कैटरिंग मेनू से तैयार होते हैं। विशेष इवेंट के लिए मिश्रण करें।',
sendInquiry: 'पूछताछ भेजें',
inquiryMessage:
'नमस्ते Shahi Kitchen 👋\n\nमैं एक इवेंट के लिए कैटरिंग के बारे में पूछताछ करना चाहता/चाहती हूँ।\n\nकृपया उपलब्धता और पैकेज विकल्पों के साथ मुझसे संपर्क करें।\n\nधन्यवाद!',
categories: {
lamb: 'लैम्ब व्यंजन',
chicken: 'चिकन व्यंजन',
beef: 'बीफ व्यंजन',
vegetarian: 'शाकाहारी व्यंजन',
sides: 'साइड डिश',
},
packages: {
silver: 'सिल्वर पैकेज',
gold: 'गोल्ड पैकेज',
royal: 'रॉयल शाही पैकेज',
},
packageDescriptions: {
silver:
'शाही कैटरिंग की परिचय — एक सिग्नेचर करी, दाल, चावल, नान और ताज़ा सलाद। छोटे समारोहों के लिए आदर्श।',
gold:
'हमारा सबसे लोकप्रिय उत्सव मेनू — बिरयानी, दो करी, एक शाकाहारी क्लासिक, चावल, नान, रायता और सलाद।',
royal:
'पूर्ण शाही अनुभव — बिरयानी, टिक्का मसाला, प्रीमियम लैम्ब, सीख कबाब, पनीर, दाल और सभी साइड्स।',
},
},
add: 'ऐड करें',
viewCart: 'कार्ट देखें',
// Cart Drawer (fully language-aware)
cartDrawer: {
title: 'आपकी टोकरी',
item: 'आइटम',
items: 'आइटम',
clear: 'साफ करें',
empty: 'आपकी टोकरी खाली है',
browseMenu: 'मेन्यू ब्राउज़ करें →',
clearBasket: 'टोकरी साफ करें',
total: 'कुल',
pickupNote: 'अनुमानित ऑर्डर पिकअप समय 30 मिनट है, लेकिन कार्यभार और उपलब्धता के आधार पर भिन्न हो सकता है।',
pickupInquiry: 'पिकअप पूछताछ',
deliveryInquiry: 'डिलीवरी पूछताछ',
inquiryHint: 'व्हाट्सएप आपके ऑर्डर के साथ खुलेगा। हम मैन्युअल रूप से पुष्टि करेंगे।',
call: 'कॉल करें 031-28 89 10',
continueBrowsing: 'ब्राउज़िंग जारी रखें',
remove: 'हटाएं',
inquiryModalTitlePickup: 'पिकअप पूछताछ',
inquiryModalTitleDelivery: 'होम डिलीवरी पूछताछ',
signInRequiredTitle: 'Sign in to continue',
signInRequiredSubtitle: 'Log in with Google to send your pickup or delivery inquiry.',
signedInAs: 'Signed in as',
nameLabel: 'पूरा नाम',
namePlaceholder: 'आपका नाम',
emailLabel: 'Email',
emailPlaceholder: 'your@email.com',
emailRequired: 'Please sign in so we can use your Google email.',
phoneLabel: 'फ़ोन नंबर',
phonePlaceholder: '+46 70 123 4567',
branchLabel: 'रेस्तरां शाखा',
branchPlaceholder: 'शाखा चुनें',
branchAskim: 'Askim',
branchBackaplan: 'Backaplan',
branchRequired: 'कृपया एक शाखा चुनें।',
askimOnlineUnavailable: 'जल्द आ रहा है, यह शाखा अभी ऑनलाइन डिलीवरी नहीं करती',
addressLabel: 'डिलीवरी पता (वैकल्पिक)',
addressPlaceholder: 'सड़क, पिन कोड, शहर…',
preferredDateLabel: 'पसंदीदा तारीख (वैकल्पिक)',
preferredDatePlaceholder: 'तारीख चुनें',
dateToday: 'आज',
dateTomorrow: 'कल',
preferredTimeLabel: 'पसंदीदा समय (वैकल्पिक)',
scheduleOptionalHint: 'वैकल्पिक: आज या कल चुनें। आज चुनने पर समय अभी से कम से कम 30 मिनट बाद होना चाहिए।',
scheduleIncomplete: 'कृपया तारीख और समय दोनों चुनें, या दोनों खाली छोड़ दें।',
scheduleTooSoon: 'कृपया अभी से कम से कम 30 मिनट बाद का समय चुनें।',
submitPickup: 'व्हाट्सएप पर भेजें',
submitDelivery: 'व्हाट्सएप पर भेजें',
inquiryCancel: 'रद्द करें',
inquiryClose: 'बंद करें',
nameRequired: 'कृपया अपना नाम दर्ज करें।',
phoneRequired: 'कृपया अपना फ़ोन नंबर दर्ज करें।',
addressRequired: 'कृपया अपना डिलीवरी पता दर्ज करें।',
timeRequired: 'कृपया पसंदीदा डिलीवरी समय दर्ज करें।',
inquiryPickupIntro: 'नमस्ते! मैं पिकअप की उपलब्धता जानना चाहता/चाहती हूँ:',
inquiryDeliveryIntro: 'नमस्ते! मैं होम डिलीवरी ऑर्डर करना चाहता/चाहती हूँ:',
messageTotal: 'कुल',
messageName: 'नाम',
messageEmail: 'Email',
messagePhone: 'फ़ोन',
messageBranch: 'शाखा',
messageAddress: 'पता',
messagePreferredDate: 'पसंदीदा तारीख',
messagePreferredTime: 'पसंदीदा समय',
deliverySwishNote: 'ऑर्डर की पुष्टि होने के बाद मैं Swish भुगतान की पुष्टि यहाँ भेजूँगा/भेजूँगी।',
},
wishlistDrawer: {
title: 'आपकी विशलिस्ट',
item: 'व्यंजन',
items: 'व्यंजन',
clear: 'साफ़ करें',
empty: 'आपकी विशलिस्ट खाली है',
browseMenu: 'मेनू देखें →',
addToCart: 'कार्ट में जोड़ें',
remove: 'हटाएं',
hint: 'अपने पसंदीदा व्यंजन सहेजें और कभी भी ऑर्डर में जोड़ें।',
continueBrowsing: 'ब्राउज़िंग जारी रखें',
},
// Authentication — Customer & Staff Login
auth: {
tabs: { customer: 'ग्राहक', staff: 'स्टाफ' },
customer: {
badge: 'CUSTOMER PORTAL',
title: 'Customer Login',
subtitle: 'Sign in with your Google account to access your Shahi Kitchen profile.',
signInWithGoogle: 'Continue with Google',
footerNote: 'More customer features are coming soon.',
notConfigured: 'Google sign-in is not configured yet.',
googleDenied: 'Google sign-in was cancelled. Please try again.',
googleFailed: 'Could not sign in with Google. Please try again.',
loading: 'Loading your account…',
welcomeTitle: 'Welcome to Shahi Kitchen',
welcomeSubtitle: 'You are successfully signed in. More features for customers will arrive soon.',
loggedInAs: 'You are logged in as',
logout: 'Sign out',
menuManagement: 'Menu Management',
},
title: 'स्टाफ लॉगिन',
subtitle: 'शाही किचन टीम सदस्यों के लिए सुरक्षित पहुंच',
usernameLabel: 'उपयोगकर्ता नाम',
usernamePlaceholder: 'अपना उपयोगकर्ता नाम दर्ज करें',
passwordLabel: 'पासवर्ड',
passwordPlaceholder: 'अपना पासवर्ड दर्ज करें',
siteLabel: 'साइट चुनें',
sitePlaceholder: 'अपनी शाखा चुनें',
askim: 'Askim (Sisjön)',
backaplan: 'Backaplan',
submit: 'साइन इन करें',
submitting: 'साइन इन हो रहा है...',
accessDenied: 'Access denied. Please contact the administrator.',
construction: {
title: 'प्रमाणीकरण निर्माणाधीन',
message: 'हमारा स्टाफ लॉगिन सिस्टम वर्तमान में विकास के अधीन है। बैकएंड प्रमाणीकरण सेवा अभी उपलब्ध नहीं है। कृपया बाद में पुनः प्रयास करें। तत्काल सहायता के लिए, कृपया रेस्तरां से सीधे फोन या व्हाट्सएप के माध्यम से संपर्क करें।',
contact: 'रेस्तरां से संपर्क करें',
tryAgain: 'बंद करें और बाद में प्रयास करें',
},
footerNote: 'यह पोर्टल केवल अधिकृत शाही किचन स्टाफ के लिए है।',
},
},
ur: {
nav: {
home: 'ہوم',
menu: 'مینو',
catering: 'کیٹرنگ',
locations: 'مقامات',
login: 'لاگ ان',
experience: 'تجربہ',
contact: 'رابطہ',
},
reserve: 'ٹیبل بک کریں',
cart: 'کارٹ',
wishlist: 'پسندیدہ',
// Table Booking / Reserve Page
booking: {
title: 'ٹیبل بک کریں',
subtitle: 'اسکیم یا بیکپلان پر ٹیبل بک کریں۔ ایک ہموار تجربے کے لیے مکمل مینو سے اپنے پسندیدہ پکوان پہلے سے آرڈر کریں۔',
formTitle: 'آپ کی بکنگ کی تفصیلات',
signInRequiredTitle: 'Sign in to continue',
signInRequiredSubtitle: 'Log in with Google to continue with your booking.',
signedInAs: 'Signed in as',
locationLabel: 'مقام',
locationPlaceholder: 'مقام منتخب کریں',
dateLabel: 'تاریخ',
timeLabel: 'وقت',
guestsLabel: 'مہمانوں کی تعداد',
nameLabel: 'پورا نام',
namePlaceholder: 'آپ کا پورا نام',
phoneLabel: 'فون نمبر',
phonePlaceholder: '+46 70 123 4567',
emailLabel: 'ای میل (اختیاری)',
emailPlaceholder: 'your@email.com',
notesLabel: 'خصوصی درخواستیں (اختیاری)',
notesPlaceholder: 'جیسے ونڈو سیٹ، سالگرہ، الرجی',
continueBtn: 'مینو سے پری آرڈر کریں',
menuTitle: 'پری آرڈر فوڈ (اختیاری)',
menuSubtitle: 'اپنی آمد کے لیے پہلے سے تیار کرنے کے لیے پکوان منتخب کریں۔',
searchPlaceholder: 'پکوان تلاش کریں...',
addToPreOrder: 'پری آرڈر میں شامل کریں',
yourPreOrder: 'آپ کا پری آرڈر',
emptyPreOrder: 'ابھی تک کوئی آئٹم منتخب نہیں کیا گیا۔ اوپر سے پکوان شامل کریں۔',
total: 'پری آرڈر کل',
sendInquiry: 'واٹس ایپ پر بکنگ اور پری آرڈر بھیجیں',
inquiryNote: 'یہ واٹس ایپ کو پہلے سے بھرے ہوئے تفصیلات کے ساتھ کھولے گا۔ ہم دستیابی اور آپ کے پری آرڈر کی تصدیق کریں گے۔',
successTitle: 'انکوائری بھیج دی گئی!',
successMessage: 'شکریہ! ہم جلد ہی واٹس ایپ یا فون پر آپ کے ٹیبل اور پری آرڈر کی تصدیق کریں گے۔',
editBooking: 'بکنگ کی تفصیلات میں ترمیم کریں',
backHome: 'ہوم پر واپس جائیں',
askim: 'Askim (Sisjön)',
backaplan: 'Backaplan',
},
hero: {
badge: '2016 سے شاہی انڈین اور پاکستانی',
welcome: 'خوش آمدید',
title: 'ShahiKitchen Online',
subtitle: 'شاہی مہمان نوازی کی گرمی اور اصلی انڈین پاکستانی ذائقوں کی دولت کا تجربہ کریں — اب گوٹنبرگ کے دل سے، شان و شوکت کے ساتھ۔',
exploreMenu: 'مینو دیکھیں',
viewExperience: 'شاہی تجربہ',
},
signatureMenu: {
title: 'سگنیچر مینو',
subtitle: 'ہمارے سب سے پسندیدہ پکوانوں کا منتخب انتخاب۔',
filterAll: 'سب',
filterCurry: 'کری',
filterRice: 'چاول',
filterGrill: 'گرل',
filterSweets: 'مٹھائیاں',
filterStreet: 'سٹریٹ فوڈ',
addToTable: 'شامل کریں',
viewFullMenu: 'مکمل مینو دیکھیں — 40+ پکوان',
},
signatureMenuItems: {
"chicken-biryani": "خوشبودار پرانی باسمتی چاول کی تہوں میں مصالحہ دار چکن، زعفران اور کاراملائزڈ پیاز",
"bong-nihari": "دھیمی آنچ پر پکایا گیا گائے کا گوشت کا ٹانگ کا حصہ، امیر خوشبودار گریوی میں ادرک، لیموں اور تازہ نان کے ساتھ",
"panipuri": "کرسپی کھوکھلے پوری جو مصالحہ دار چنے، آلو اور کھٹے املی کے پانی سے بھرے ہوتے ہیں",
"lamm-palak": "نرم بھیڑ کا گوشت تازہ پالک کے ساتھ ہلکے مزیدار گریوی میں پکایا گیا",
"chicken-karahi": "ووک میں تلے ہوئے چکن کا مضبوط ٹماٹر، مرچ اور ادرک کی گریوی میں",
"chicken-haleem": "دھیمی آنچ پر پکایا گیا کٹا ہوا چکن جو دالوں، گندم اور خوشبودار مصالحوں کے ساتھ",
"tikka-boti-roll": "رس دار چکن ٹکا نرم نان میں لپیٹا ہوا پودینے کی چٹنی اور پیاز کے ساتھ",
"jalebi": "کرسپی سنہری زعفرانی گول دائرے جو خوشبودار چینی کے شربت میں بھیگے ہوئے",
"kulfi": "روایتی منجمد دودھ کی مٹھائی جو الائچی، پستہ اور زعفران سے مزین",
},
menuDescriptions: {
"samosa-aloo": "کرسپی تلے ہوئے مثلثی پیسٹری جو مصالحہ دار آلو اور مٹر سے بھری ہوتی ہیں۔",
"samosa-keema": "کرسپی پیسٹری جو مصالحہ دار کییما سے بھری ہوتی ہیں۔",
"samosa-chat": "کرسپی سموسے جو مصالحہ دار چنے، دہی، چٹنیوں اور تازہ جڑی بوٹیوں سے ٹاپ کیے جاتے ہیں۔",
"chana-chat": "کھٹے مصالحہ دار چنے جو آلو، پیاز، ٹماٹر اور چٹنیوں کے ساتھ مکس کیے جاتے ہیں۔",
"panipuri": "کرسپی کھوکھلے پوری جو مصالحہ دار چنے اور آلو سے بھرے ہوتے ہیں، کھٹے املی کے پانی کے ساتھ پیش کیے جاتے ہیں۔",
"keema-naan-starter": "نرم نان جو مصالحہ دار کییما سے بھرا ہوا، سنہری رنگ میں بیک کیا گیا۔",
"palak-paneer": "پنیر جو کریمی پالک کی گریوی میں ہلکے مصالحوں اور خوشبودار جڑی بوٹیوں کے ساتھ پکایا جاتا ہے۔",
"shahi-paneer": "نرم پنیر جو امیر، کریمی کاجو اور ٹماٹر کی گریوی میں ہندوستانی مصالحوں کے ساتھ۔",
"malai-kofta": "نرم سبزیوں کے کوفتے جو امیر اور کریمی پیاز ٹماٹر کی گریوی میں ہلکے مصالحوں کے ساتھ سجائے جاتے ہیں۔",
"daal-makhani": "دھیمی آنچ پر پکائی گئی کالی دالیں جو مکھن والی، کریمی ٹماٹر کی گریوی میں خوشبودار مصالحوں کے ساتھ۔",
"lahore-chana": "مصالحہ دار چنے جو تیز پیاز ٹماٹر کی گریوی میں روایتی پنجابی مصالحوں کے ساتھ پکائے جاتے ہیں۔",
"lamm-palak": "نرم بھیڑ کا گوشت تازہ پالک کے ساتھ ہلکے مزیدار گریوی میں۔",
"lamm-vindaloo": "تیز اور کھٹا بھیڑ کا گوشت کا سالن جو سرکہ اور مرچوں پر مبنی ساس میں۔",
"lamm-rogan-josh": "خوشبودار بھیڑ کا گوشت کا سالن جو امیر دہی اور کشمیری مصالحوں کی گریوی میں سجایا گیا۔",
"lamm-karahi": "بھیڑ کے ٹکڑے جو ووک میں ٹماٹر، ادرک، لہسن اور مصالحوں کے ساتھ تلے جاتے ہیں۔",
"bong-nihari": "دھیمی آنچ پر پکایا گیا گائے کا گوشت کا ٹانگ کا حصہ، امیر خوشبودار گریوی میں، روایتی طور پر نان کے ساتھ۔",
"paye": "دھیمی آنچ پر سجایا گیا بھیڑ کے پاؤں کا سالن جو گاڑھی، تیز اور مزیدار گریوی میں۔",
"shahi-burger": "رس دار مصالحہ دار گوشت کی پیٹی نرم بن میں خصوصی ساس، لیٹش اور ٹماٹر کے ساتھ۔",
"shami-sandwich": "مصالحہ دار کییما کے شامی کباب پیٹیز بریڈ میں چٹنی اور پیاز کے ساتھ۔",
"chicken-biryani": "خوشبودار پرانی باسمتی چاول کی تہوں میں نرم مصالحہ دار چکن، زعفران اور کاراملائزڈ پیاز۔",
"chicken-tikka": "ہڈیوں والے چکن کے ٹکڑے دہی اور مصالحوں میں مرینیٹ کیے گئے، ٹینڈور میں گرل کیے گئے۔",
"chicken-karahi": "ووک میں تلے ہوئے چکن کا مضبوط ٹماٹر، مرچ اور ادرک کی گریوی میں۔",
"lahore-sizzler": "مرینیٹ کیے گئے چکن کا سٹیلنگ پلیٹر سبزیوں اور تیز ساس کے ساتھ۔",
"butter-chicken": "نرم چکن کریمی ٹماٹر اور مکھن کی گریوی میں ہلکے مصالحوں کے ساتھ۔",
"chicken-haleem": "دھیمی آنچ پر پکایا گیا کٹا ہوا چکن جو دالوں، گندم اور خوشبودار مصالحوں کے ساتھ۔",
"lahore-pizza": "پizza جو مصالحہ دار چکن، پیاز اور خاص لاہوری ساس سے ٹاپ کیا گیا کرسپی بیس پر۔",
"kebab-pizza": "پizza جس میں کییما کباب ٹاپنگ، پنیر، پیاز اور خوشبودار مصالحے۔",
"tikka-boti-pizza": "پizza جس میں گرل چکن ٹکا، پنیر، ٹماٹر اور تازہ جڑی بوٹیاں۔",
"peshawari-pizza": "نان سٹائل pizza نرم گوشت، گری دار میوے، کشمش اور پشاوری مصالحوں کے ساتھ۔",
"veg-pizza": "سبزیوں والی pizza تازہ سبزیوں، پنیر اور ٹماٹر ساس سے بھری ہوئی۔",
"tikka-boti-roll": "گرل چکن ٹکا نرم نان میں لپیٹا ہوا پودینے کی چٹنی اور پیاز کے ساتھ۔",
"kebab-roll": "مصالحہ دار کییما کباب نان میں لپیٹا ہوا چٹنی، سلاد اور ساس کے ساتھ۔",
"falafel-roll": "کرسپی فلافل نان میں سبزیوں، حمص اور کھٹی ساس کے ساتھ۔",
"paneer-roll": "گرل پنیر کے کیوب نان میں مصالحوں، چٹنی اور تازہ سبزیوں کے ساتھ۔",
"namakpare": "کرسپی، نمکین تلے ہوئے آٹے کے سنیکس جو اجوائن کے بیجوں اور نمک سے سیزن کیے گئے۔",
"jalebi": "کرسپی سنہری زعفرانی گول دائرے جو خوشبودار چینی کے شربت میں بھیگے ہوئے۔",
"gajar-halwa": "میٹھی گاجر کی حلوہ جو دودھ، چینی، گھی کے ساتھ آہستہ پکایا جاتا ہے اور گری دار میووں سے سجایا جاتا ہے۔",
"rasmalai": "نرم پنیر کے ڈمپلنگ ٹھنڈی میٹھی دودھ میں الائچی اور زعفران کے ساتھ بھیگی ہوئی۔",
"kulfi": "روایتی منجمد دودھ کی مٹھائی جو الائچی، پستہ اور زعفران سے مزین۔",
"masala-chai": "روایتی مصالحہ دار چائے جو دودھ، الائچی، ادرک اور خوشبودار مصالحوں کے ساتھ تیار کی جاتی ہے۔",
"mango-lassi": "تازگی بخش میٹھی دہی کی ڈرنک جو پکے ہوئے آم اور الائچی کے ساتھ مکس کی جاتی ہے۔",
"coca-cola": "کلاسک ٹھنڈی کولا سافٹ ڈرنک۔",
"pepsi-fanta": "تازگی بخش کولا یا اورنج فلیور والی کاربونیٹڈ مشروب۔",
"sprite-ramlosa": "کرسپی لیموں لائم سوڈا یا چمکتا ہوا منرل واٹر۔",
"energy-drink": "فوری انرجی بوسٹ کے لیے کیفین والی انرجی ڈرنک۔",
"juice": "تازہ پھل کا رس، عام طور پر آم یا دیگر موسمی ذائقے۔",
"coffee": "تازہ تیار گرم کافی۔",
"latte": "ایسپریسو کافی سٹیمڈ دودھ اور ہلکے فوم کے ساتھ۔",
"cappuccino": "ایسپریسو سٹیمڈ دودھ اور گاڑھے فوم سے ٹاپ کی گئی۔",
"tea": "روایتی گرم بلیک ٹی، سادہ یا دودھ کے ساتھ۔",
},
// Full Menu Page
menu: {
title: 'ہمارا مینو',
subtitle: 'روایتی ترکیبیں۔ فراخ حصے۔ دل سے بنائے گئے۔',
searchPlaceholder: 'پکوان تلاش کریں...',
showVegetarian: 'سبزی خور دکھائیں',
vegetarianOnly: 'صرف سبزی خور',
clearFilters: 'فلٹرز صاف کریں',
noResults: 'آپ کے فلٹرز سے مماثل کوئی پکوان نہیں ملے۔',
dishes: 'پکوان',
allDishes: 'تمام پکوان',
perHalfKg: 'kr / ½ kg',
perKg: 'kr / kg',
},
// In-Restaurant Display Screens (screen1/screen2) — desktop fullscreen only, mesmerizing menu + animations
screen: {
brand: 'Shahi Kitchen',
display1: 'DISPLAY 1',
display2: 'DISPLAY 2',
menuTitle: 'مینو',
kitchenTitle: 'باورچی خانے میں',
kitchenSubtitle: 'دیکھیں آپ کے پسندیدہ کھانے کیسے تیار ہوتے ہیں',
featuredTag: 'سگنیچر',
prepared: 'ہماری کچن میں تازہ تیار کردہ',
viewFull: 'مکمل مینو shahikitchen.se پر دیکھیں',
// screen3 - Live Order Display (for customers & delivery riders)
display3: 'DISPLAY 3',
orderBoard: 'Live Order Board',
orderSubtitle: 'ان ہاؤس ٹیبلز اور آن لائن ڈیلیوری — کسٹمرز اور رائیڈرز کے لیے ریئل ٹائم',
inHouse: 'ریستوراں میں',
online: 'آن لائن ڈیلیوری',
statuses: {
received: 'آرڈر موصول',
review: 'جائزے میں',
preparing: 'تیار کیا جا رہا',
packing: 'پیکنگ / پلیٹنگ',
ready: 'تیار',
},
readyForPickup: 'پک اپ کے لیے تیار',
serving: 'ابھی سرونگ',
elapsed: 'گزرا وقت',
eta: 'ETA',
mins: 'منٹ',
table: 'ٹیبل',
riderNote: 'رائیڈرز: اپنا پلیٹ فارم آرڈر نمبر دیکھیں',
liveUpdates: 'لائیو اپ ڈیٹس • بیک اینڈ جلد آ رہا',
},
// Table ordering via QR (orderfromtable page)
tableOrder: {
title: 'اپنے ٹیبل سے آرڈر کریں',
branchAskim: 'Shahi Kitchen Askim',
branchBackaplan: 'Shahi Kitchen Backaplan',
tableLabel: 'ٹیبل',
invalidTitle: 'غلط ٹیبل QR کوڈ',
invalidMessage: 'براہ مہربانی ریستوراں کے عملے سے مدد لیں۔',
selectTitle: 'اپنے ڈشز منتخب کریں',
selectSubtitle: 'کسی بھی ڈش پر ٹیپ کرکے اسے اپنے آرڈر میں شامل کریں۔',
searchPlaceholder: 'ڈشز تلاش کریں...',
showVegetarian: 'صرف سبزی خور',
yourOrder: 'آپ کا آرڈر',
emptyOrder: 'ابھی کوئی آئٹم نہیں۔ اوپر ڈش پر ٹیپ کرکے آرڈر بنائیں۔',
notesLabel: 'کچن کے لیے نوٹس (اختیاری)',
notesPlaceholder: 'جیسے پیاز کے بغیر، زیادہ مسالہ دار، الرجی...',
sendOrder: 'آرڈر بھیجیں',
total: 'کل',
confirmationTitle: 'آرڈر بھیج دیا گیا!',
confirmationMessage: 'آپ کا آرڈر بھیج دیا گیا ہے۔ ریستوراں کا ایک شخص جلد ہی آپ کے ٹیبل پر تصدیق کے لیے آئے گا۔',
orderAnother: 'مزید آرڈر کریں',
},
experience: {
badge: 'شاہی طریقہ',
title: 'دعوت جیسی گرمی۔\nمحل جیسا سکون۔',
heritage: {
title: 'شاہی وراثت',
text: 'نسلوں سے چلے آ رہے نسخے۔ ہر پکوان پنجاب اور برصغیر کی شاہی رasoئیوں کی کہانی سناتا ہے۔',
},
generous: {
title: 'سخی اور ایماندار',
text: 'بڑی سرونگ۔ کوئی شارٹ کٹ نہیں۔ ہم ہر مہمان کو خاندان کی طرح مانتے ہیں — جیسے مہمان نوازی ہونی چاہیے۔',
},
grace: {
title: 'جدید شان',
text: 'اسکیم اور بیکاپلان میں خوبصورت جگہیں۔ تیز اور سوچ سمجھ کر کی گئی سروس۔ تحفے جیسی پیکنگ۔',
},
},
locations: {
badge: 'گوٹنبرگ میں دو گھر',
title: 'مہمان بن کر آئیں۔\nخاندان بن کر جائیں۔',
},
footer: {
tagline: '2016 سے گوٹنبرگ میں اصلی انڈین اور پاکستانی کھانا۔',
locations: 'ہمارے مقامات',
explore: 'دریافت کریں',
follow: 'ہمیں فالو کریں',
},
catering: {
badge: 'تقریبات اور جشن',
title: 'شاہی کیٹرنگ',
subtitle:
'شادیوں، کارپوریٹ ایونٹس اور خاندانی محفلوں کے لیے پریمیم فی مہمان پیکج — مستند شاہی ذائقے، خوبصورت پیشکش۔',
perHead: 'فی مہمان',
contactForPricing: 'قیمت کے لیے ہم سے رابطہ کریں',
packagePricingInquiry:
'ہیلو Shahi Kitchen 👋\n\nمجھے {{package}} کیٹرنگ پیکج کی قیمت جاننی ہے۔\n\nبراہ مہربانی دستیابی اور اختیارات کے ساتھ مجھ سے رابطہ کریں۔\n\nشکریہ!',
includedDishes: 'شامل کھانے',
mostPopular: 'سب سے مقبول',
guestNote: 'حسب ضرورت مینو دستیاب — اپنے ایونٹ کے لیے ہم سے رابطہ کریں۔',
catalogBadge: 'مکمل کیٹرنگ مینو',
catalogTitle: 'دستیاب کیٹرنگ ڈشز',
catalogSubtitle:
'تمام پیکجز ہمارے ماسٹر کیٹرنگ مینو سے تیار ہوتے ہیں۔ خصوصی ایونٹس کے لیے ملا کر بنائیں۔',
sendInquiry: 'استفسار بھیجیں',
inquiryMessage:
'ہیلو Shahi Kitchen 👋\n\nمیں ایک ایونٹ کے لیے کیٹرنگ کے بارے میں پوچھنا چاہتا/چاہتی ہوں۔\n\nبراہ مہربانی دستیابی اور پیکج کے اختیارات کے ساتھ مجھ سے رابطہ کریں۔\n\nشکریہ!',
categories: {
lamb: 'لیمب ڈشز',
chicken: 'چکن ڈشز',
beef: 'بیف ڈشز',
vegetarian: 'سبزیاتی ڈشز',
sides: 'سائیڈز',
},
packages: {
silver: 'سلور پیکج',
gold: 'گولڈ پیکج',
royal: 'رائل شاہی پیکج',
},
packageDescriptions: {
silver:
'شاہی کیٹرنگ کا بہترین آغاز — ایک دستخطی کڑی، دال، چاول، نان اور تازہ سلاد۔ چھوٹے اجتماعات کے لیے بہترین۔',
gold:
'ہمارا سب سے مقبول جشن مینو — بریانی، دو کڑیاں، ایک سبزیاتی کلاسک، چاول، نان، رائتہ اور سلاد۔',
royal:
'مکمل شاہی تجربہ — بریانی، ٹکہ مسالہ، پریمیم لیمب، سیخ کباب، پنیر، دال اور تمام سائیڈز۔',
},
},
add: 'شامل کریں',
viewCart: 'کارٹ دیکھیں',
// Cart Drawer (fully language-aware)
cartDrawer: {
title: 'آپ کی ٹوکری',
item: 'آئٹم',
items: 'آئٹمز',
clear: 'صاف کریں',
empty: 'آپ کی ٹوکری خالی ہے',
browseMenu: 'مینو دیکھیں →',
clearBasket: 'ٹوکری صاف کریں',
total: 'کل',
pickupNote: 'تخمینی آرڈر پک اپ کا وقت 30 منٹ ہے، لیکن کام کے بوجھ اور دستیابی کے مطابق مختلف ہو سکتا ہے۔',
pickupInquiry: 'پک اپ استفسار',
deliveryInquiry: 'ڈیلیوری استفسار',
inquiryHint: 'واٹس ایپ آپ کے آرڈر کے ساتھ کھلے گا۔ ہم دستی تصدیق کریں گے۔',
call: 'کال کریں 031-28 89 10',
continueBrowsing: 'براؤزنگ جاری رکھیں',
remove: 'ہٹائیں',
inquiryModalTitlePickup: 'پک اپ استفسار',
inquiryModalTitleDelivery: 'گھر ڈیلیوری استفسار',
signInRequiredTitle: 'Sign in to continue',
signInRequiredSubtitle: 'Log in with Google to send your pickup or delivery inquiry.',
signedInAs: 'Signed in as',
nameLabel: 'پورا نام',
namePlaceholder: 'آپ کا نام',
emailLabel: 'Email',
emailPlaceholder: 'your@email.com',
emailRequired: 'Please sign in so we can use your Google email.',
phoneLabel: 'فون نمبر',
phonePlaceholder: '+46 70 123 4567',
branchLabel: 'ریسٹورانٹ برانچ',
branchPlaceholder: 'برانچ منتخب کریں',
branchAskim: 'Askim',
branchBackaplan: 'Backaplan',
branchRequired: 'براہ کرم ایک برانچ منتخب کریں۔',
askimOnlineUnavailable: 'جلد آ رہا ہے، یہ برانچ ابھی آن لائن ڈیلیوری نہیں کرتی',
addressLabel: 'ڈیلیوری پتہ (اختیاری)',
addressPlaceholder: 'گلی، پوسٹ کوڈ، شہر…',
preferredDateLabel: 'پسندیدہ تاریخ (اختیاری)',
preferredDatePlaceholder: 'تاریخ منتخب کریں',
dateToday: 'آج',
dateTomorrow: 'کل',
preferredTimeLabel: 'پسندیدہ وقت (اختیاری)',
scheduleOptionalHint: 'اختیاری: آج یا کل منتخب کریں۔ آج منتخب کرنے پر وقت اب سے کم از کم 30 منٹ بعد ہونا چاہیے۔',
scheduleIncomplete: 'براہ کرم تاریخ اور وقت دونوں منتخب کریں، یا دونوں خالی چھوڑ دیں۔',
scheduleTooSoon: 'براہ کرم اب سے کم از کم 30 منٹ بعد کا وقت منتخب کریں۔',
submitPickup: 'واٹس ایپ پر بھیجیں',
submitDelivery: 'واٹس ایپ پر بھیجیں',
inquiryCancel: 'منسوخ',
inquiryClose: 'بند کریں',
nameRequired: 'براہ کرم اپنا نام درج کریں۔',
phoneRequired: 'براہ کرم اپنا فون نمبر درج کریں۔',
addressRequired: 'براہ کرم ڈیلیوری پتہ درج کریں۔',
timeRequired: 'براہ کرم پسندیدہ ڈیلیوری وقت درج کریں۔',
inquiryPickupIntro: 'ہیلو! میں پک اپ کی دستیابی جاننا چاہتا ہوں:',
inquiryDeliveryIntro: 'ہیلو! میں گھر ڈیلیوری آرڈر کرنا چاہتا ہوں:',
messageTotal: 'کل',
messageName: 'نام',
messageEmail: 'Email',
messagePhone: 'فون',
messageBranch: 'برانچ',
messageAddress: 'پتہ',
messagePreferredDate: 'پسندیدہ تاریخ',
messagePreferredTime: 'پسندیدہ وقت',
deliverySwishNote: 'آرڈر کی تصدیق کے بعد میں Swish ادائیگی کی تصدیق یہاں بھیجوں گا۔',
},
wishlistDrawer: {
title: 'آپ کی پسندیدہ فہرست',
item: 'ڈش',
items: 'ڈشز',
clear: 'صاف کریں',
empty: 'آپ کی پسندیدہ فہرست خالی ہے',
browseMenu: 'مینو دیکھیں ←',
addToCart: 'کارٹ میں شامل کریں',
remove: 'ہٹائیں',
hint: 'اپنے پسندیدہ کھانے محفوظ کریں اور کسی بھی وقت آرڈر میں شامل کریں۔',
continueBrowsing: 'براؤزنگ جاری رکھیں',
},
// Authentication — Customer & Staff Login
auth: {
tabs: { customer: 'کسٹمر', staff: 'اسٹاف' },
customer: {
badge: 'CUSTOMER PORTAL',
title: 'Customer Login',
subtitle: 'Sign in with your Google account to access your Shahi Kitchen profile.',
signInWithGoogle: 'Continue with Google',
footerNote: 'More customer features are coming soon.',
notConfigured: 'Google sign-in is not configured yet.',
googleDenied: 'Google sign-in was cancelled. Please try again.',
googleFailed: 'Could not sign in with Google. Please try again.',
loading: 'Loading your account…',
welcomeTitle: 'Welcome to Shahi Kitchen',
welcomeSubtitle: 'You are successfully signed in. More features for customers will arrive soon.',
loggedInAs: 'You are logged in as',
logout: 'Sign out',
menuManagement: 'Menu Management',
},
title: 'اسٹاف لاگ ان',
subtitle: 'شاہی کچن ٹیم کے ممبران کے لیے محفوظ رسائی',
usernameLabel: 'صارف نام',
usernamePlaceholder: 'اپنا صارف نام درج کریں',
passwordLabel: 'پاس ورڈ',
passwordPlaceholder: 'اپنا پاس ورڈ درج کریں',
siteLabel: 'سائٹ منتخب کریں',
sitePlaceholder: 'اپنی برانچ منتخب کریں',
askim: 'Askim (Sisjön)',
backaplan: 'Backaplan',
submit: 'سائن ان کریں',
submitting: 'سائن ان ہو رہا ہے...',
accessDenied: 'Access denied. Please contact the administrator.',
construction: {
title: 'تصدیق زیر تعمیر',
message: 'ہمارا اسٹاف لاگ ان سسٹم فی الحال ترقی کے مراحل میں ہے۔ بیک اینڈ تصدیقی سروس ابھی دستیاب نہیں ہے۔ براہ کرم بعد میں دوبارہ کوشش کریں۔ فوری مدد کے لیے، براہ کرم براہ راست فون یا واٹس ایپ کے ذریعے ریستوراں سے رابطہ کریں۔',
contact: 'ریستوراں سے رابطہ کریں',
tryAgain: 'بند کریں اور بعد میں کوشش کریں',
},
footerNote: 'یہ پورٹل صرف مجاز شاہی کچن اسٹاف کے لیے ہے۔',
},
},
} as const;
export type TranslationBundle = (typeof translations)['en'];
const arBundle = mergeTranslations(
translations.en,
arTranslations as unknown as Partial<TranslationBundle>
);
const trBundle = mergeTranslations(
translations.en,
trTranslations as unknown as Partial<TranslationBundle>
);
function withMenuText(lang: Language, bundle: TranslationBundle): TranslationBundle {
const baseDescriptions = { ...bundle.menuDescriptions };
const hiDescriptions =
lang === 'hi' ? { ...baseDescriptions, ...HINDI_MENU_DESCRIPTIONS } : baseDescriptions;
const supplement = MENU_DESCRIPTION_SUPPLEMENT[lang];
const menuDescriptions = supplement
? { ...hiDescriptions, ...supplement }
: hiDescriptions;
return { ...bundle, menuDescriptions };
}
export function getTranslation(lang: Language): TranslationBundle {
if (lang === 'ar') return withMenuText(lang, arBundle as TranslationBundle);
if (lang === 'tr') return withMenuText(lang, trBundle as TranslationBundle);
const bundle = translations[lang] ?? translations.sv;
return withMenuText(lang, bundle as TranslationBundle);
}