// i18n.jsx — translations for English / Suomi / العربية.
// The app keeps canonical ENGLISH in state (item.name, item.cat, list.name,
// checkedLabel, unit) and translates at RENDER time via window.I18N_T(locale).
// Unknown/custom strings (user-typed items, custom lists) fall back to as-typed.
(function () {
  const I18N = {
    en: {
      dir: 'ltr', langName: 'English',
      ui: {
        myLists: 'My Lists', toGet: 'to get', toDo: 'to do',
        sortBy: 'Sort by', byAisle: 'By aisle', atoz: 'A to Z', recent: 'Recently added', quantity: 'Quantity',
        renameList: 'Rename list', uncheckAll: 'Uncheck all', clear: 'Clear', deleteList: 'Delete list',
        allDone: 'All done here', allDoneHint: 'Add something below to get started.',
        addItem: 'Add an item\u2026', addTask: 'Add a task\u2026',
        uncheck: 'Uncheck', delete: 'Delete',
        chooseIcon: 'Choose an icon', searchIcons: 'Search icons\u2026', noIcons: 'No icons match',
        editItem: 'Edit item', changeIcon: 'Change icon', itemName: 'Item name', addNote: 'Add a note (optional)', done: 'Done',
        newList: 'New list', listName: 'List name', listType: 'List type', save: 'Save', createList: 'Create list',
        settings: 'Settings', appearance: 'Appearance', layout: 'Layout', region: 'Region', about: 'About',
        mode: 'Mode', finish: 'Finish', finishHint: 'Glass adds a frosted, translucent look.', accent: 'Accent color',
        corners: 'Corners', density: 'Density', itemIcons: 'Item icons', itemIconsHint: 'Show an emoji thumbnail beside each item.',
        units: 'Units', unitsHint: 'Metric uses kg · litres. Imperial uses lb · oz.',
        language: 'Language', aboutTagline: 'Shopping & to-do lists', madeWith: 'Made with care',
        buyAgain: 'Buy again', share: 'Share', shareList: 'Share list', members: 'Members', invite: 'Invite by link', copyLink: 'Copy link', copied: 'Copied!',
        welcomeTitle: 'Welcome to Lista', welcomeBody: 'Smart lists that sort themselves by aisle — shop faster, together.', getStarted: 'Get started',
        celebrate: 'All done!', celebrateSub: 'Nice work — your list is complete.',
        companion: 'Companion', custom: 'Custom', showRecents: 'Buy-again suggestions', showRecentsHint: 'Suggest items you check off often.',
        dark: 'Dark', light: 'Light', solid: 'Solid', glass: 'Glass', rounded: 'Rounded', sharp: 'Sharp',
        cozy: 'Cozy', compact: 'Compact', metric: 'Metric', imperial: 'Imperial',
      },
      cats: {}, items: {}, lists: {}, listTypes: {}, checkedLabels: {}, units: {},
    },

    fi: {
      dir: 'ltr', langName: 'Suomi',
      ui: {
        myLists: 'Listani', toGet: 'hankittavaa', toDo: 'teht\u00e4v\u00e4\u00e4',
        sortBy: 'J\u00e4rjest\u00e4', byAisle: 'Hyllyj\u00e4rjestys', atoz: 'A\u2013\u00d6', recent: 'Viimeksi lis\u00e4tyt', quantity: 'M\u00e4\u00e4r\u00e4',
        renameList: 'Nime\u00e4 lista', uncheckAll: 'Poista valinnat', clear: 'Tyhjenn\u00e4', deleteList: 'Poista lista',
        allDone: 'Kaikki valmista', allDoneHint: 'Lis\u00e4\u00e4 jotain alta aloittaaksesi.',
        addItem: 'Lis\u00e4\u00e4 tuote\u2026', addTask: 'Lis\u00e4\u00e4 teht\u00e4v\u00e4\u2026',
        uncheck: 'Peru', delete: 'Poista',
        chooseIcon: 'Valitse kuvake', searchIcons: 'Hae kuvakkeita\u2026', noIcons: 'Ei osumia haulle',
        editItem: 'Muokkaa tuotetta', changeIcon: 'Vaihda kuvake', itemName: 'Tuotteen nimi', addNote: 'Lis\u00e4\u00e4 muistiinpano (valinnainen)', done: 'Valmis',
        newList: 'Uusi lista', listName: 'Listan nimi', listType: 'Listan tyyppi', save: 'Tallenna', createList: 'Luo lista',
        settings: 'Asetukset', appearance: 'Ulkoasu', layout: 'Asettelu', region: 'Alue', about: 'Tietoja',
        mode: 'Tila', finish: 'Pinta', finishHint: 'Lasi tuo huurteisen, l\u00e4pikuultavan ilmeen.', accent: 'Korostusv\u00e4ri',
        corners: 'Kulmat', density: 'Tiheys', itemIcons: 'Tuotekuvakkeet', itemIconsHint: 'N\u00e4yt\u00e4 emoji jokaisen tuotteen vieress\u00e4.',
        units: 'Yksik\u00f6t', unitsHint: 'Metrinen: kg · litra. Brittil\u00e4inen: lb · oz.',
        language: 'Kieli', aboutTagline: 'Ostos- ja teht\u00e4v\u00e4listat', madeWith: 'Tehty huolella',
        buyAgain: 'Osta uudelleen', share: 'Jaa', shareList: 'Jaa lista', members: 'Jäsenet', invite: 'Kutsu linkillä', copyLink: 'Kopioi linkki', copied: 'Kopioitu!',
        welcomeTitle: 'Tervetuloa Listaan', welcomeBody: 'Älykkäät listat, jotka järjestyvät hyllyjärjestykseen — kaupassa nopeammin, yhdessä.', getStarted: 'Aloita',
        celebrate: 'Kaikki tehty!', celebrateSub: 'Hienoa työtä — lista on valmis.',
        companion: 'Kaveri', custom: 'Oma', showRecents: 'Osta uudelleen -ehdotukset', showRecentsHint: 'Ehdota usein ostamiasi tuotteita.',
        dark: 'Tumma', light: 'Vaalea', solid: 'Kiinte\u00e4', glass: 'Lasi', rounded: 'Py\u00f6re\u00e4', sharp: 'Ter\u00e4v\u00e4',
        cozy: 'V\u00e4lj\u00e4', compact: 'Tiivis', metric: 'Metrinen', imperial: 'Brittil\u00e4inen',
      },
      cats: {
        'Produce': 'Hedelm\u00e4t & vihannekset', 'Bakery': 'Leipomo', 'Dairy & Eggs': 'Maito & munat',
        'Meat & Seafood': 'Liha & kala', 'Pantry': 'Kuivatuotteet', 'Frozen': 'Pakasteet', 'Snacks': 'Naposteltavat',
        'Drinks': 'Juomat', 'Household': 'Kodintarvikkeet', 'Other': 'Muut', 'Clothes': 'Vaatteet',
        'Toiletries': 'Hygienia', 'Beach': 'Ranta', 'Docs & Money': 'Asiakirjat & raha', 'Tech': 'Elektroniikka',
      },
      lists: { 'Groceries': 'Ruokaostokset', 'Beach Trip': 'Rantareissu', 'Weekend To-Do': 'Viikonlopun teht\u00e4v\u00e4t' },
      listTypes: { 'Shopping': 'Ostokset', 'Packing': 'Pakkaus', 'To-do': 'Teht\u00e4v\u00e4t' },
      checkedLabels: { 'In cart': 'Korissa', 'Packed': 'Pakattu', 'Done': 'Valmis' },
      units: { dozen: 'tusina', bunch: 'nippu', bag: 'pussi', loaf: 'limppu', pack: 'pkt', can: 'tlk', box: 'rasia', bar: 'levy', kg: 'kg', g: 'g', l: 'l', dl: 'dl', lb: 'lb', oz: 'oz' },
      items: {
        'Milk': 'Maito', 'Greek yogurt': 'Kreikkalainen jogurtti', 'Butter': 'Voi', 'Cheddar': 'Cheddar', 'Eggs': 'Munat',
        'Bananas': 'Banaanit', 'Avocados': 'Avokadot', 'Baby spinach': 'Pinaatti', 'Tomatoes': 'Tomaatit', 'Lemons': 'Sitruunat',
        'Onions': 'Sipulit', 'Garlic': 'Valkosipuli', 'Apples': 'Omenat', 'Carrots': 'Porkkanat', 'Sourdough': 'Hapanjuurileip\u00e4',
        'Bagels': 'Bagelit', 'Tortillas': 'Tortillat', 'Chicken thighs': 'Kanan koipireidet', 'Ground beef': 'Jauheliha',
        'Salmon': 'Lohi', 'Bacon': 'Pekoni', 'Olive oil': 'Oliivi\u00f6ljy', 'Pasta': 'Pasta', 'Rice': 'Riisi',
        'Diced tomatoes': 'Tomaattimurska', 'Black beans': 'Mustapavut', 'Peanut butter': 'Maap\u00e4hkin\u00e4voi', 'Coffee': 'Kahvi',
        'Cereal': 'Murot', 'Frozen peas': 'Pakasteherneet', 'Ice cream': 'J\u00e4\u00e4tel\u00f6', 'Frozen berries': 'Pakastemarjat',
        'Tortilla chips': 'Tortillalastut', 'Dark chocolate': 'Tumma suklaa', 'Hummus': 'Hummus', 'Sparkling water': 'Kivenn\u00e4isvesi',
        'Orange juice': 'Appelsiinimehu', 'Paper towels': 'Talouspaperi', 'Dish soap': 'Astianpesuaine', 'Trash bags': 'Roskapussit',
        'T-shirts': 'T-paidat', 'Swimsuit': 'Uimapuku', 'Shorts': 'Shortsit', 'Sandals': 'Sandaalit', 'Sun hat': 'Aurinkohattu',
        'Light jacket': 'Ohut takki', 'Sunscreen': 'Aurinkorasva', 'Toothbrush': 'Hammasharja', 'Toothpaste': 'Hammastahna',
        'Deodorant': 'Deodorantti', 'Aloe vera': 'Aloe vera', 'Beach towels': 'Rantapyyhkeet', 'Umbrella': 'Sateenvarjo',
        'Cooler': 'Kylm\u00e4laukku', 'Snorkel set': 'Snorklaussetti', 'Passports': 'Passit', 'Boarding passes': 'Boarding-kortit',
        'Cash': 'K\u00e4teinen', 'Phone charger': 'Puhelinlaturi', 'Power bank': 'Varavirtal\u00e4hde', 'Headphones': 'Kuulokkeet', 'Camera': 'Kamera',
        'Book dentist appointment': 'Varaa hammasl\u00e4\u00e4k\u00e4riaika', 'Reply to Sam\u2019s email': 'Vastaa Samin s\u00e4hk\u00f6postiin',
        'Renew library books': 'Uusi kirjastolainat', 'Plan Sunday hike': 'Suunnittele sunnuntain vaellus',
        'Pick up dry cleaning': 'Hae pesulasta', 'Call the plumber': 'Soita putkimiehelle', 'Pay credit card': 'Maksa luottokortti',
        'Back up laptop': 'Varmuuskopioi l\u00e4pp\u00e4ri', 'Water the plants': 'Kastele kasvit', 'Schedule car service': 'Varaa auton huolto',
      },
    },

    ar: {
      dir: 'rtl', langName: '\u0627\u0644\u0639\u0631\u0628\u064a\u0629',
      ui: {
        myLists: '\u0642\u0648\u0627\u0626\u0645\u064a', toGet: '\u0644\u0644\u0634\u0631\u0627\u0621', toDo: '\u0644\u0644\u0625\u0646\u062c\u0627\u0632',
        sortBy: '\u062a\u0631\u062a\u064a\u0628 \u062d\u0633\u0628', byAisle: '\u062d\u0633\u0628 \u0627\u0644\u0642\u0633\u0645', atoz: '\u0623\u0628\u062c\u062f\u064a\u064b\u0627', recent: '\u0627\u0644\u0645\u0636\u0627\u0641 \u062d\u062f\u064a\u062b\u064b\u0627', quantity: '\u0627\u0644\u0643\u0645\u064a\u0629',
        renameList: '\u0625\u0639\u0627\u062f\u0629 \u062a\u0633\u0645\u064a\u0629 \u0627\u0644\u0642\u0627\u0626\u0645\u0629', uncheckAll: '\u0625\u0644\u063a\u0627\u0621 \u062a\u062d\u062f\u064a\u062f \u0627\u0644\u0643\u0644', clear: '\u0645\u0633\u062d', deleteList: '\u062d\u0630\u0641 \u0627\u0644\u0642\u0627\u0626\u0645\u0629',
        allDone: '\u062a\u0645 \u0643\u0644 \u0634\u064a\u0621', allDoneHint: '\u0623\u0636\u0641 \u0634\u064a\u0626\u064b\u0627 \u0623\u062f\u0646\u0627\u0647 \u0644\u0644\u0628\u062f\u0621.',
        addItem: '\u0623\u0636\u0641 \u0639\u0646\u0635\u0631\u064b\u0627\u2026', addTask: '\u0623\u0636\u0641 \u0645\u0647\u0645\u0629\u2026',
        uncheck: '\u062a\u0631\u0627\u062c\u0639', delete: '\u062d\u0630\u0641',
        chooseIcon: '\u0627\u062e\u062a\u0631 \u0623\u064a\u0642\u0648\u0646\u0629', searchIcons: '\u0627\u0628\u062d\u062b \u0639\u0646 \u0623\u064a\u0642\u0648\u0646\u0629\u2026', noIcons: '\u0644\u0627 \u062a\u0648\u062c\u062f \u0623\u064a\u0642\u0648\u0646\u0627\u062a \u0645\u0637\u0627\u0628\u0642\u0629',
        editItem: '\u062a\u0639\u062f\u064a\u0644 \u0627\u0644\u0639\u0646\u0635\u0631', changeIcon: '\u062a\u063a\u064a\u064a\u0631 \u0627\u0644\u0623\u064a\u0642\u0648\u0646\u0629', itemName: '\u0627\u0633\u0645 \u0627\u0644\u0639\u0646\u0635\u0631', addNote: '\u0623\u0636\u0641 \u0645\u0644\u0627\u062d\u0638\u0629 (\u0627\u062e\u062a\u064a\u0627\u0631\u064a)', done: '\u062a\u0645',
        newList: '\u0642\u0627\u0626\u0645\u0629 \u062c\u062f\u064a\u062f\u0629', listName: '\u0627\u0633\u0645 \u0627\u0644\u0642\u0627\u0626\u0645\u0629', listType: '\u0646\u0648\u0639 \u0627\u0644\u0642\u0627\u0626\u0645\u0629', save: '\u062d\u0641\u0638', createList: '\u0625\u0646\u0634\u0627\u0621 \u0642\u0627\u0626\u0645\u0629',
        settings: '\u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a', appearance: '\u0627\u0644\u0645\u0638\u0647\u0631', layout: '\u0627\u0644\u062a\u062e\u0637\u064a\u0637', region: '\u0627\u0644\u0645\u0646\u0637\u0642\u0629', about: '\u062d\u0648\u0644',
        mode: '\u0627\u0644\u0648\u0636\u0639', finish: '\u0627\u0644\u0633\u0637\u062d', finishHint: '\u064a\u0636\u064a\u0641 \u0627\u0644\u0632\u062c\u0627\u062c \u0645\u0638\u0647\u0631\u064b\u0627 \u0634\u0641\u0627\u0641\u064b\u0627 \u0636\u0628\u0627\u0628\u064a\u064b\u0627.', accent: '\u0644\u0648\u0646 \u0627\u0644\u062a\u0645\u064a\u064a\u0632',
        corners: '\u0627\u0644\u0632\u0648\u0627\u064a\u0627', density: '\u0627\u0644\u0643\u062b\u0627\u0641\u0629', itemIcons: '\u0623\u064a\u0642\u0648\u0646\u0627\u062a \u0627\u0644\u0639\u0646\u0627\u0635\u0631', itemIconsHint: '\u0625\u0638\u0647\u0627\u0631 \u0631\u0645\u0632 \u062a\u0639\u0628\u064a\u0631\u064a \u0628\u062c\u0627\u0646\u0628 \u0643\u0644 \u0639\u0646\u0635\u0631.',
        units: '\u0627\u0644\u0648\u062d\u062f\u0627\u062a', unitsHint: '\u0627\u0644\u0645\u062a\u0631\u064a: \u0643\u063a · \u0644\u062a\u0631. \u0627\u0644\u0625\u0645\u0628\u0631\u0627\u0637\u0648\u0631\u064a: \u0631\u0637\u0644 · \u0623\u0648\u0646\u0635\u0629.',
        language: '\u0627\u0644\u0644\u063a\u0629', aboutTagline: '\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062a\u0633\u0648\u0642 \u0648\u0627\u0644\u0645\u0647\u0627\u0645', madeWith: '\u0635\u064f\u0646\u0639 \u0628\u0639\u0646\u0627\u064a\u0629',
        buyAgain: 'اشترِ مجددًا', share: 'مشاركة', shareList: 'مشاركة القائمة', members: 'الأعضاء', invite: 'دعوة عبر رابط', copyLink: 'نسخ الرابط', copied: 'تم النسخ!',
        welcomeTitle: 'مرحبًا بك في Lista', welcomeBody: 'قوائم ذكية تُرتّب نفسها حسب القسم — تسوّق أسرع، معًا.', getStarted: 'لنبدأ',
        celebrate: 'تم كل شيء!', celebrateSub: 'أحسنت — اكتملت قائمتك.',
        companion: 'الرفيق', custom: 'مخصص', showRecents: 'اقتراحات الشراء مجددًا', showRecentsHint: 'اقتراح العناصر التي تشتريها كثيرًا.',
        dark: '\u062f\u0627\u0643\u0646', light: '\u0641\u0627\u062a\u062d', solid: '\u0635\u0644\u0628', glass: '\u0632\u062c\u0627\u062c', rounded: '\u062f\u0627\u0626\u0631\u064a', sharp: '\u062d\u0627\u062f',
        cozy: '\u0645\u0631\u064a\u062d', compact: '\u0645\u062f\u0645\u062c', metric: '\u0645\u062a\u0631\u064a', imperial: '\u0625\u0645\u0628\u0631\u0627\u0637\u0648\u0631\u064a',
      },
      cats: {
        'Produce': '\u062e\u0636\u0627\u0631 \u0648\u0641\u0648\u0627\u0643\u0647', 'Bakery': '\u0645\u062e\u0628\u0648\u0632\u0627\u062a', 'Dairy & Eggs': '\u0623\u0644\u0628\u0627\u0646 \u0648\u0628\u064a\u0636',
        'Meat & Seafood': '\u0644\u062d\u0648\u0645 \u0648\u0645\u0623\u0643\u0648\u0644\u0627\u062a \u0628\u062d\u0631\u064a\u0629', 'Pantry': '\u0645\u0624\u0646', 'Frozen': '\u0645\u062c\u0645\u062f\u0627\u062a', 'Snacks': '\u0648\u062c\u0628\u0627\u062a \u062e\u0641\u064a\u0641\u0629',
        'Drinks': '\u0645\u0634\u0631\u0648\u0628\u0627\u062a', 'Household': '\u0645\u0646\u0632\u0644\u064a\u0629', 'Other': '\u0623\u062e\u0631\u0649', 'Clothes': '\u0645\u0644\u0627\u0628\u0633',
        'Toiletries': '\u0623\u062f\u0648\u0627\u062a \u0646\u0638\u0627\u0641\u0629', 'Beach': '\u0627\u0644\u0634\u0627\u0637\u0626', 'Docs & Money': '\u0648\u062b\u0627\u0626\u0642 \u0648\u0645\u0627\u0644', 'Tech': '\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a\u0627\u062a',
      },
      lists: { 'Groceries': '\u0645\u0634\u062a\u0631\u064a\u0627\u062a \u0627\u0644\u0628\u0642\u0627\u0644\u0629', 'Beach Trip': '\u0631\u062d\u0644\u0629 \u0627\u0644\u0634\u0627\u0637\u0626', 'Weekend To-Do': '\u0645\u0647\u0627\u0645 \u0646\u0647\u0627\u064a\u0629 \u0627\u0644\u0623\u0633\u0628\u0648\u0639' },
      listTypes: { 'Shopping': '\u062a\u0633\u0648\u0642', 'Packing': '\u0623\u0645\u062a\u0639\u0629', 'To-do': '\u0645\u0647\u0627\u0645' },
      checkedLabels: { 'In cart': '\u0641\u064a \u0627\u0644\u0633\u0644\u0629', 'Packed': '\u0645\u064f\u0639\u0628\u0623', 'Done': '\u062a\u0645' },
      units: { dozen: '\u062f\u0632\u064a\u0646\u0629', bunch: '\u062d\u0632\u0645\u0629', bag: '\u0643\u064a\u0633', loaf: '\u0631\u063a\u064a\u0641', pack: '\u0639\u0628\u0648\u0629', can: '\u0639\u0644\u0628\u0629', box: '\u0635\u0646\u062f\u0648\u0642', bar: '\u0644\u0648\u062d', kg: '\u0643\u063a', g: '\u063a', l: '\u0644', dl: '\u062f\u0644', lb: '\u0631\u0637\u0644', oz: '\u0623\u0648\u0646\u0635\u0629' },
      items: {
        'Milk': '\u062d\u0644\u064a\u0628', 'Greek yogurt': '\u0632\u0628\u0627\u062f\u064a \u064a\u0648\u0646\u0627\u0646\u064a', 'Butter': '\u0632\u0628\u062f\u0629', 'Cheddar': '\u062c\u0628\u0646\u0629 \u0634\u064a\u062f\u0631', 'Eggs': '\u0628\u064a\u0636',
        'Bananas': '\u0645\u0648\u0632', 'Avocados': '\u0623\u0641\u0648\u0643\u0627\u062f\u0648', 'Baby spinach': '\u0633\u0628\u0627\u0646\u062e', 'Tomatoes': '\u0637\u0645\u0627\u0637\u0645', 'Lemons': '\u0644\u064a\u0645\u0648\u0646',
        'Onions': '\u0628\u0635\u0644', 'Garlic': '\u062b\u0648\u0645', 'Apples': '\u062a\u0641\u0627\u062d', 'Carrots': '\u062c\u0632\u0631', 'Sourdough': '\u062e\u0628\u0632 \u0627\u0644\u0639\u062c\u064a\u0646 \u0627\u0644\u0645\u062e\u0645\u0631',
        'Bagels': '\u062e\u0628\u0632 \u0628\u064a\u063a\u0644', 'Tortillas': '\u062e\u0628\u0632 \u062a\u0648\u0631\u062a\u064a\u0644\u0627', 'Chicken thighs': '\u0623\u0641\u062e\u0627\u0630 \u062f\u062c\u0627\u062c', 'Ground beef': '\u0644\u062d\u0645 \u0645\u0641\u0631\u0648\u0645',
        'Salmon': '\u0633\u0644\u0645\u0648\u0646', 'Bacon': '\u0644\u062d\u0645 \u0645\u0642\u062f\u062f', 'Olive oil': '\u0632\u064a\u062a \u0632\u064a\u062a\u0648\u0646', 'Pasta': '\u0645\u0639\u0643\u0631\u0648\u0646\u0629', 'Rice': '\u0623\u0631\u0632',
        'Diced tomatoes': '\u0637\u0645\u0627\u0637\u0645 \u0645\u0642\u0637\u0639\u0629', 'Black beans': '\u0641\u0627\u0635\u0648\u0644\u064a\u0627\u0621 \u0633\u0648\u062f\u0627\u0621', 'Peanut butter': '\u0632\u0628\u062f\u0629 \u0627\u0644\u0641\u0648\u0644 \u0627\u0644\u0633\u0648\u062f\u0627\u0646\u064a', 'Coffee': '\u0642\u0647\u0648\u0629',
        'Cereal': '\u062d\u0628\u0648\u0628 \u0627\u0644\u0625\u0641\u0637\u0627\u0631', 'Frozen peas': '\u0628\u0627\u0632\u0644\u0627\u0621 \u0645\u062c\u0645\u062f\u0629', 'Ice cream': '\u0622\u064a\u0633 \u0643\u0631\u064a\u0645', 'Frozen berries': '\u062a\u0648\u062a \u0645\u062c\u0645\u062f',
        'Tortilla chips': '\u0631\u0642\u0627\u0626\u0642 \u062a\u0648\u0631\u062a\u064a\u0644\u0627', 'Dark chocolate': '\u0634\u0648\u0643\u0648\u0644\u0627\u062a\u0629 \u062f\u0627\u0643\u0646\u0629', 'Hummus': '\u062d\u0645\u0635', 'Sparkling water': '\u0645\u064a\u0627\u0647 \u063a\u0627\u0632\u064a\u0629',
        'Orange juice': '\u0639\u0635\u064a\u0631 \u0628\u0631\u062a\u0642\u0627\u0644', 'Paper towels': '\u0645\u0646\u0627\u0634\u0641 \u0648\u0631\u0642\u064a\u0629', 'Dish soap': '\u0633\u0627\u0626\u0644 \u063a\u0633\u064a\u0644 \u0627\u0644\u0635\u062d\u0648\u0646', 'Trash bags': '\u0623\u0643\u064a\u0627\u0633 \u0642\u0645\u0627\u0645\u0629',
        'T-shirts': '\u062a\u064a \u0634\u064a\u0631\u062a', 'Swimsuit': '\u0644\u0628\u0627\u0633 \u0633\u0628\u0627\u062d\u0629', 'Shorts': '\u0634\u0648\u0631\u062a', 'Sandals': '\u0635\u0646\u062f\u0644', 'Sun hat': '\u0642\u0628\u0639\u0629 \u0634\u0645\u0633',
        'Light jacket': '\u0633\u062a\u0631\u0629 \u062e\u0641\u064a\u0641\u0629', 'Sunscreen': '\u0648\u0627\u0642\u064a \u0634\u0645\u0633', 'Toothbrush': '\u0641\u0631\u0634\u0627\u0629 \u0623\u0633\u0646\u0627\u0646', 'Toothpaste': '\u0645\u0639\u062c\u0648\u0646 \u0623\u0633\u0646\u0627\u0646',
        'Deodorant': '\u0645\u0632\u064a\u0644 \u0639\u0631\u0642', 'Aloe vera': '\u0635\u0628\u0627\u0631', 'Beach towels': '\u0645\u0646\u0627\u0634\u0641 \u0634\u0627\u0637\u0626', 'Umbrella': '\u0645\u0638\u0644\u0629',
        'Cooler': '\u062d\u0627\u0641\u0638\u0629 \u062a\u0628\u0631\u064a\u062f', 'Snorkel set': '\u0637\u0642\u0645 \u063a\u0637\u0633', 'Passports': '\u062c\u0648\u0627\u0632\u0627\u062a \u0633\u0641\u0631', 'Boarding passes': '\u0628\u0637\u0627\u0642\u0627\u062a \u0627\u0644\u0635\u0639\u0648\u062f',
        'Cash': '\u0646\u0642\u0648\u062f', 'Phone charger': '\u0634\u0627\u062d\u0646 \u0647\u0627\u062a\u0641', 'Power bank': '\u0628\u0637\u0627\u0631\u064a\u0629 \u0645\u062d\u0645\u0648\u0644\u0629', 'Headphones': '\u0633\u0645\u0627\u0639\u0627\u062a', 'Camera': '\u0643\u0627\u0645\u064a\u0631\u0627',
        'Book dentist appointment': '\u062d\u062c\u0632 \u0645\u0648\u0639\u062f \u0637\u0628\u064a\u0628 \u0627\u0644\u0623\u0633\u0646\u0627\u0646', 'Reply to Sam\u2019s email': '\u0627\u0644\u0631\u062f \u0639\u0644\u0649 \u0628\u0631\u064a\u062f \u0633\u0627\u0645',
        'Renew library books': '\u062a\u062c\u062f\u064a\u062f \u0643\u062a\u0628 \u0627\u0644\u0645\u0643\u062a\u0628\u0629', 'Plan Sunday hike': '\u062a\u062e\u0637\u064a\u0637 \u0646\u0632\u0647\u0629 \u0627\u0644\u0623\u062d\u062f',
        'Pick up dry cleaning': '\u0627\u0633\u062a\u0644\u0627\u0645 \u0627\u0644\u0645\u0644\u0627\u0628\u0633 \u0645\u0646 \u0627\u0644\u0645\u063a\u0633\u0644\u0629', 'Call the plumber': '\u0627\u0644\u0627\u062a\u0635\u0627\u0644 \u0628\u0627\u0644\u0633\u0628\u0627\u0643', 'Pay credit card': '\u062f\u0641\u0639 \u0627\u0644\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0627\u0626\u062a\u0645\u0627\u0646\u064a\u0629',
        'Back up laptop': '\u0646\u0633\u062e \u0627\u062d\u062a\u064a\u0627\u0637\u064a \u0644\u0644\u062d\u0627\u0633\u0648\u0628', 'Water the plants': '\u0633\u0642\u064a \u0627\u0644\u0646\u0628\u0627\u062a\u0627\u062a', 'Schedule car service': '\u062c\u062f\u0648\u0644\u0629 \u0635\u064a\u0627\u0646\u0629 \u0627\u0644\u0633\u064a\u0627\u0631\u0629',
      },
    },
  };

  window.I18N = I18N;
  window.I18N_T = function (locale) {
    const L = I18N[locale] || I18N.en;
    const en = I18N.en;
    return {
      locale: I18N[locale] ? locale : 'en',
      dir: L.dir,
      langName: L.langName,
      ui: (k) => (L.ui[k] != null ? L.ui[k] : (en.ui[k] != null ? en.ui[k] : k)),
      cat: (v) => (L.cats && L.cats[v]) || v,
      item: (v) => (L.items && L.items[v]) || v,
      list: (v) => (L.lists && L.lists[v]) || v,
      checked: (v) => (L.checkedLabels && L.checkedLabels[v]) || v,
      unit: (v) => (v && L.units && L.units[v]) || v,
      type: (v) => (L.listTypes && L.listTypes[v]) || v,
    };
  };
})();
// i18n build 2

