/* global React */
// i18n + theme — central translations and language/theme toggles

const LANGS = [
  {
    code: "ar",
    label: "العربية",
    short: "AR",
    flag: "🇸🇦",
    dir: "rtl",
    font: "ar",
  },
  {
    code: "en",
    label: "English",
    short: "EN",
    flag: "🇬🇧",
    dir: "ltr",
    font: "en",
  },
  {
    code: "tr",
    label: "Türkçe",
    short: "TR",
    flag: "🇹🇷",
    dir: "ltr",
    font: "en",
  },
  {
    code: "fr",
    label: "Français",
    short: "FR",
    flag: "🇫🇷",
    dir: "ltr",
    font: "en",
  },
  {
    code: "ur",
    label: "اردو",
    short: "UR",
    flag: "🇵🇰",
    dir: "rtl",
    font: "ar",
  },
  {
    code: "id",
    label: "Indonesia",
    short: "ID",
    flag: "🇮🇩",
    dir: "ltr",
    font: "en",
  },
  {
    code: "hi",
    label: "हिन्दी",
    short: "HI",
    flag: "🇮🇳",
    dir: "ltr",
    font: "hi",
  },
];

const I18N = {
  // === NAV ===
  "nav.features": {
    ar: "المميزات",
    en: "Features",
    tr: "Özellikler",
    fr: "Fonctionnalités",
    ur: "خصوصیات",
    id: "Fitur",
    hi: "विशेषताएँ",
  },
  "nav.quran": {
    ar: "القرآن",
    en: "Quran",
    tr: "Kuran",
    fr: "Coran",
    ur: "قرآن",
    id: "Al-Quran",
    hi: "क़ुरआन",
  },
  "nav.app": {
    ar: "التطبيق",
    en: "App",
    tr: "Uygulama",
    fr: "Application",
    ur: "ایپ",
    id: "Aplikasi",
    hi: "ऐप",
  },
  "nav.reviews": {
    ar: "آراء المستخدمين",
    en: "Reviews",
    tr: "Yorumlar",
    fr: "Avis",
    ur: "تبصرے",
    id: "Ulasan",
    hi: "समीक्षाएँ",
  },
  "nav.faq": {
    ar: "الأسئلة",
    en: "FAQ",
    tr: "SSS",
    fr: "FAQ",
    ur: "سوالات",
    id: "FAQ",
    hi: "सवाल",
  },
  "nav.download": {
    ar: "تحميل التطبيق",
    en: "Download",
    tr: "İndir",
    fr: "Télécharger",
    ur: "ڈاؤن لوڈ",
    id: "Unduh",
    hi: "डाउनलोड",
  },

  // === HERO ===
  "hero.pill": {
    ar: "تطبيق مميز · ٤.٩ ★ · App Store و Google Play",
    en: "Top Rated · 4.9 ★ · App Store + Google Play",
    tr: "En İyi · 4.9 ★ · App Store + Google Play",
    fr: "Top Noté · 4,9 ★ · App Store + Google Play",
    ur: "اعلیٰ درجہ · ۴.۹ ★ · App Store اور Google Play",
    id: "Top Rating · 4.9 ★ · App Store + Google Play",
    hi: "टॉप रेटेड · 4.9 ★ · App Store + Google Play",
  },
  "hero.title.l1": {
    ar: "القرآن الكريم",
    en: "The Holy Quran",
    tr: "Kuran-ı Kerim",
    fr: "Le Saint Coran",
    ur: "قرآنِ کریم",
    id: "Al-Quran Mulia",
    hi: "पवित्र क़ुरआन",
  },
  "hero.title.l2a": {
    ar: "بين يديك",
    en: "always",
    tr: "her zaman",
    fr: "toujours",
    ur: "ہمیشہ",
    id: "selalu",
    hi: "हमेशा",
  },
  "hero.title.l2b": {
    ar: "دائما",
    en: "with you",
    tr: "yanınızda",
    fr: "avec vous",
    ur: "آپ کے ساتھ",
    id: "bersamamu",
    hi: "आपके साथ",
  },
  "hero.subtitle": {
    ar: "The Noble Quran, always with you.",
    en: "Everything you need for your daily worship.",
    tr: "Günlük ibadetiniz için ihtiyacınız olan her şey.",
    fr: "Tout ce dont vous avez besoin pour votre adoration quotidienne.",
    ur: "آپ کی روزانہ عبادت کے لیے سب کچھ۔",
    id: "Semua yang kamu butuhkan untuk ibadah harian.",
    hi: "आपकी दैनिक इबादत के लिए सब कुछ।",
  },
  "hero.lede": {
    ar: "تطبيق وحي البيان يجمع القرآن، التلاوة، الأذكار، مواقيت الصلاة، والقبلة في تجربة واحدة بسيطة ومريحة.",
    en: "Wahy Albayan — the complete Quran, tafsir, recitation by world-class reciters, prayer times, azkar, and Qibla direction. A complete Islamic experience in one app.",
    tr: "Vahyu'l-Bayan — tam Kuran, tefsir, dünya hafızlarının tilaveti, namaz vakitleri, zikirler ve kıble yönü. Tek uygulamada tam İslami deneyim.",
    fr: "Wahy Albayan — le Coran complet, le tafsir, la récitation par des récitateurs renommés, les heures de prière, les adhkâr et la direction de la Qibla. Une expérience islamique complète dans une seule application.",
    ur: "وحی البیان — مکمل قرآن، تفسیر، عالمی قاریوں کی تلاوت، اوقاتِ نماز، اذکار اور قبلہ کی سمت۔ ایک ہی ایپ میں مکمل اسلامی تجربہ۔",
    id: "Wahy Albayan — Al-Quran lengkap, tafsir, tilawah qari dunia, waktu salat, zikir, dan arah kiblat. Pengalaman Islami lengkap dalam satu aplikasi.",
    hi: "Wahy Albayan — पूरा क़ुरआन, तफ़सीर, विश्व स्तरीय क़ारियों का तिलावत, नमाज़ समय, अज़कार और क़िबला दिशा। एक ही ऐप में पूर्ण इस्लामी अनुभव।",
  },
  "hero.meta.1": {
    ar: "تحميل حول العالم",
    en: "downloads worldwide",
    tr: "dünya çapında indirme",
    fr: "téléchargements dans le monde",
    ur: "دنیا بھر میں ڈاؤن لوڈز",
    id: "unduhan di seluruh dunia",
    hi: "दुनिया भर में डाउनलोड",
  },
  "hero.meta.2": {
    ar: "تقييم ممتاز",
    en: "excellent rating",
    tr: "mükemmel puan",
    fr: "excellente note",
    ur: "بہترین درجہ",
    id: "rating terbaik",
    hi: "उत्कृष्ट रेटिंग",
  },
  "hero.meta.3": {
    ar: "دولة حول العالم",
    en: "countries worldwide",
    tr: "dünya çapında ülke",
    fr: "pays dans le monde",
    ur: "دنیا بھر کے ممالک",
    id: "negara di seluruh dunia",
    hi: "दुनिया भर के देश",
  },

  // === FEATURES SECTION ===
  "feat.eyebrow": {
    ar: "المميزات · Features",
    en: "Features",
    tr: "Özellikler",
    fr: "Fonctionnalités",
    ur: "خصوصیات",
    id: "Fitur",
    hi: "विशेषताएँ",
  },
  "feat.title.l1": {
    ar: "كل ما تحتاجه",
    en: "Everything you need",
    tr: "İhtiyacınız olan",
    fr: "Tout ce qu'il vous faut",
    ur: "وہ سب کچھ جو آپ کو چاہیے",
    id: "Semua yang kamu butuhkan",
    hi: "आपको जो चाहिए वो सब",
  },
  "feat.title.l2": {
    ar: "لحياة إسلامية متكاملة",
    en: "for a complete Islamic life",
    tr: "tam bir İslami hayat için",
    fr: "pour une vie islamique complète",
    ur: "مکمل اسلامی زندگی کے لیے",
    id: "untuk hidup Islami yang lengkap",
    hi: "पूर्ण इस्लामी जीवन के लिए",
  },
  "feat.lede": {
    ar: "من القرآن الكريم إلى مواقيت الصلاة والأذكار — تطبيق وحي البيان يجمع كل احتياجاتك الإسلامية اليومية في تجربة واحدة أنيقة.",
    en: "From the Holy Quran to prayer times and azkar — Wahy Albayan brings all your daily Islamic needs into one elegant experience.",
    tr: "Kuran-ı Kerim'den namaz vakitlerine ve zikirlere kadar — Vahyu'l-Bayan tüm günlük İslami ihtiyaçlarınızı tek bir zarif deneyimde toplar.",
    fr: "Du Saint Coran aux heures de prière et adhkâr — Wahy Albayan rassemble tous vos besoins islamiques quotidiens en une seule expérience élégante.",
    ur: "قرآنِ کریم سے لے کر اوقاتِ نماز اور اذکار تک — وحی البیان آپ کی روزانہ کی تمام اسلامی ضروریات کو ایک خوبصورت تجربے میں جمع کرتا ہے۔",
    id: "Dari Al-Quran hingga waktu salat dan zikir — Wahy Albayan menyatukan semua kebutuhan Islami harianmu dalam satu pengalaman elegan.",
    hi: "पवित्र क़ुरआन से लेकर नमाज़ समय और अज़कार तक — Wahy Albayan आपकी सभी दैनिक इस्लामी ज़रूरतों को एक सुंदर अनुभव में लाता है।",
  },
  "feat.quran.title": {
    ar: "المصحف الشريف كاملاً",
    en: "The Complete Quran",
    tr: "Tam Kuran-ı Kerim",
    fr: "Le Coran complet",
    ur: "مکمل قرآن مجید",
    id: "Al-Quran Lengkap",
    hi: "पूरा क़ुरआन",
  },
  "feat.quran.desc": {
    ar: "١١٤ سورة برسم عثماني أصيل، تنقل سهل بين الأجزاء، وتفاسير معتمدة، وعلامات مرجعية ذكية.",
    en: "114 surahs in authentic Uthmani script, easy navigation, certified tafsirs, and smart bookmarks.",
    tr: "114 sure Osmani hattıyla, kolay gezinme, sertifikalı tefsirler ve akıllı yer imleri.",
    fr: "114 sourates en écriture Uthmani authentique, navigation facile, tafsirs certifiés et signets intelligents.",
    ur: "۱۱۴ سورتیں عثمانی رسم میں، آسان نیویگیشن، مستند تفاسیر اور سمارٹ بُک مارک۔",
    id: "114 surat dalam tulisan Utsmani asli, navigasi mudah, tafsir tersertifikasi, dan bookmark cerdas.",
    hi: "उस्मानी लिपि में 114 सूरतें, आसान नेविगेशन, प्रमाणित तफ़सीर और स्मार्ट बुकमार्क।",
  },
  "feat.audio.title": {
    ar: "أكثر من ٣٠ قارئاً",
    en: "30+ Reciters",
    tr: "30+ Hafız",
    fr: "30+ Récitateurs",
    ur: "۳۰ سے زائد قاری",
    id: "30+ Qari",
    hi: "30+ क़ारी",
  },
  "feat.audio.desc": {
    ar: "السديس، العفاسي، المعيقلي، عبدالباسط، الغامدي وغيرهم بجودة صوت عالية وقابلة للتحميل.",
    en: "Sudais, Afasy, Mueaqly, Abdul Basit, Al-Ghamdi and more in high-quality, downloadable audio.",
    tr: "Sudais, Afasy, Mueaqly, Abdul Basit, Al-Ghamdi ve daha fazlası, yüksek kaliteli, indirilebilir ses.",
    fr: "Soudais, Afasy, Mueaqly, Abdul Basit, Al-Ghamdi et plus en audio téléchargeable haute qualité.",
    ur: "سدیس، عفاسی، معیقلی، عبدالباسط، الغامدی اور بہت کچھ اعلیٰ معیار میں۔",
    id: "Sudais, Afasy, Mueaqly, Abdul Basit, Al-Ghamdi dan lainnya dalam audio berkualitas tinggi.",
    hi: "सुदैस, अफ़ासी, मुऐक़ली, अब्दुल बासित, अल-ग़ामदी और अन्य उच्च गुणवत्ता वाले ऑडियो में।",
  },
  "feat.prayer.title": {
    ar: "مواقيت الصلاة الدقيقة",
    en: "Accurate Prayer Times",
    tr: "Doğru Namaz Vakitleri",
    fr: "Heures de prière précises",
    ur: "درست اوقاتِ نماز",
    id: "Waktu Salat Akurat",
    hi: "सटीक नमाज़ समय",
  },
  "feat.prayer.desc": {
    ar: "مواقيت تلقائية حسب موقعك مع أذان قابل للتخصيص وتنبيهات قبل كل صلاة.",
    en: "Auto-detected times by location with customizable adhan and alerts before each prayer.",
    tr: "Konuma göre otomatik vakitler, özelleştirilebilir ezan ve namaz öncesi uyarılar.",
    fr: "Heures détectées automatiquement, adhan personnalisable et alertes avant chaque prière.",
    ur: "مقام کے مطابق خودکار اوقات، قابلِ ترتیب اذان اور ہر نماز سے پہلے انتباہات۔",
    id: "Waktu otomatis berdasarkan lokasi, azan kustomisasi, dan pengingat sebelum salat.",
    hi: "स्थान के अनुसार स्वचालित समय, अनुकूलन योग्य अज़ान और हर नमाज़ से पहले अलर्ट।",
  },
  "feat.qibla.title": {
    ar: "اتجاه القبلة",
    en: "Qibla Direction",
    tr: "Kıble Yönü",
    fr: "Direction de la Qibla",
    ur: "قبلہ کی سمت",
    id: "Arah Kiblat",
    hi: "क़िबला दिशा",
  },
  "feat.tasbih.title": {
    ar: "المسبحة الإلكترونية",
    en: "Digital Tasbih",
    tr: "Dijital Tesbih",
    fr: "Tasbih numérique",
    ur: "ڈیجیٹل تسبیح",
    id: "Tasbih Digital",
    hi: "डिजिटल तस्बीह",
  },
  "feat.tafsir.title": {
    ar: "التفسير",
    en: "Tafsir",
    tr: "Tefsir",
    fr: "Tafsir",
    ur: "تفسیر",
    id: "Tafsir",
    hi: "तफ़सीर",
  },
  "feat.tafsir.desc": {
    ar: "ابن كثير، السعدي، الطبري، الميسر — خمس روايات معتمدة.",
    en: "Ibn Kathir, Al-Saadi, Al-Tabari, Al-Muyassar — five trusted tafsirs.",
    tr: "İbn Kesir, Saadi, Taberi, Müyesser — beş güvenilir tefsir.",
    fr: "Ibn Kathir, Al-Saadi, Al-Tabari, Al-Muyassar — cinq tafsirs reconnus.",
    ur: "ابن کثیر، السعدی، الطبری، المیسر — پانچ مستند تفاسیر۔",
    id: "Ibn Katsir, As-Sa'di, At-Thabari, Al-Muyassar — lima tafsir tepercaya.",
    hi: "इब्न कसीर, अस-सादी, अत-तबरी, अल-मुयस्सर — पाँच विश्वसनीय तफ़सीर।",
  },
  "feat.azkar.title": {
    ar: "أذكار الصباح والمساء",
    en: "Morning & Evening Azkar",
    tr: "Sabah & Akşam Zikirleri",
    fr: "Adhkâr du matin et du soir",
    ur: "صبح و شام کے اذکار",
    id: "Zikir Pagi & Petang",
    hi: "सुबह-शाम के अज़कार",
  },
  "feat.azkar.desc": {
    ar: "عدّاد ذكي يحفظ تقدّمك ويُذكّرك تلقائياً.",
    en: "Smart counter that saves progress and reminds you automatically.",
    tr: "İlerlemenizi kaydeden ve otomatik hatırlatan akıllı sayaç.",
    fr: "Compteur intelligent qui sauvegarde et rappelle automatiquement.",
    ur: "سمارٹ کاؤنٹر جو ترقی محفوظ کرے اور خود بخود یاد دلائے۔",
    id: "Penghitung cerdas yang menyimpan progres dan mengingatkan otomatis.",
    hi: "स्मार्ट काउंटर जो प्रगति सहेजता है और स्वचालित रूप से याद दिलाता है।",
  },
  "feat.bookmark.title": {
    ar: "العلامات والمزامنة",
    en: "Bookmarks & Sync",
    tr: "Yer İmleri & Senkronizasyon",
    fr: "Signets & Synchro",
    ur: "بُک مارک اور مطابقت",
    id: "Bookmark & Sinkron",
    hi: "बुकमार्क और सिंक",
  },
  "feat.bookmark.desc": {
    ar: "احفظ آياتك المفضلة ونظّمها مع مزامنة سحابية بين أجهزتك.",
    en: "Save favorite verses and sync seamlessly across your devices.",
    tr: "Favori ayetlerinizi kaydedin ve cihazlarınız arasında senkronize edin.",
    fr: "Sauvegardez vos versets préférés et synchronisez entre appareils.",
    ur: "اپنی پسندیدہ آیات محفوظ کریں اور اپنے آلات میں ہم آہنگ کریں۔",
    id: "Simpan ayat favorit dan sinkronkan di semua perangkatmu.",
    hi: "पसंदीदा आयतें सहेजें और अपने उपकरणों में सिंक करें।",
  },

  "feat.learn": {
    ar: "اعرف المزيد",
    en: "Learn more",
    tr: "Daha fazla",
    fr: "En savoir plus",
    ur: "مزید جانیں",
    id: "Pelajari",
    hi: "और जानें",
  },

  // Feature chips (small label above title)
  "feat.quran.chip": {
    ar: "مصحف · رواية",
    en: "Mushaf · Recitation",
    tr: "Mushaf · Tilavet",
    fr: "Mushaf · Récitation",
    ur: "مصحف · تلاوت",
    id: "Mushaf · Tilawah",
    hi: "मुसहफ़ · तिलावत",
  },
  "feat.audio.chip": {
    ar: "تلاوة · صوتيات",
    en: "Audio · Reciters",
    tr: "Ses · Hafızlar",
    fr: "Audio · Récitateurs",
    ur: "آڈیو · قاری",
    id: "Audio · Qari",
    hi: "ऑडियो · क़ारी",
  },
  "feat.prayer.chip": {
    ar: "صلاة · مواقيت",
    en: "Prayer · Times",
    tr: "Namaz · Vakitler",
    fr: "Prière · Heures",
    ur: "نماز · اوقات",
    id: "Salat · Waktu",
    hi: "नमाज़ · समय",
  },
  "feat.qibla.chip": {
    ar: "قبلة · بوصلة",
    en: "Qibla · Compass",
    tr: "Kıble · Pusula",
    fr: "Qibla · Boussole",
    ur: "قبلہ · کمپاس",
    id: "Kiblat · Kompas",
    hi: "क़िबला · कम्पास",
  },
  "feat.azkar.chip": {
    ar: "أذكار · تسبيح",
    en: "Azkar · Tasbih",
    tr: "Zikir · Tesbih",
    fr: "Adhkâr · Tasbih",
    ur: "اذکار · تسبیح",
    id: "Zikir · Tasbih",
    hi: "अज़कार · तस्बीह",
  },
  "feat.tafsir.chip": {
    ar: "تفسير · شرح",
    en: "Tafsir · Commentary",
    tr: "Tefsir · Şerh",
    fr: "Tafsir · Commentaire",
    ur: "تفسیر · شرح",
    id: "Tafsir · Penjelasan",
    hi: "तफ़सीर · व्याख्या",
  },

  // Feature stats — number + label pair shown in chapter card
  "feat.quran.stat.num": {
    ar: "١١٤",
    en: "114",
    tr: "114",
    fr: "114",
    ur: "۱۱۴",
    id: "114",
    hi: "११४",
  },
  "feat.quran.stat.label": {
    ar: "سورة كاملة بنصها العثماني",
    en: "complete surahs in Uthmani script",
    tr: "Osmani hattıyla tam sure",
    fr: "sourates complètes en écriture Uthmani",
    ur: "مکمل سورتیں عثمانی رسم میں",
    id: "surat lengkap dalam tulisan Utsmani",
    hi: "उस्मानी लिपि में पूरी सूरतें",
  },
  "feat.audio.stat.num": {
    ar: "+٣٠",
    en: "30+",
    tr: "30+",
    fr: "30+",
    ur: "+۳۰",
    id: "30+",
    hi: "30+",
  },
  "feat.audio.stat.label": {
    ar: "قارئاً عالمياً بصوت نقي",
    en: "world reciters in pristine audio",
    tr: "dünya hafızı kristal sesle",
    fr: "récitateurs en audio pur",
    ur: "عالمی قاری شفاف آواز میں",
    id: "qari dunia dalam audio jernih",
    hi: "विश्व क़ारी क्रिस्टल ध्वनि में",
  },
  "feat.prayer.stat.num": {
    ar: "٥",
    en: "5",
    tr: "5",
    fr: "5",
    ur: "۵",
    id: "5",
    hi: "५",
  },
  "feat.prayer.stat.label": {
    ar: "أوقات صلاة دقيقة يومياً",
    en: "accurate daily prayer times",
    tr: "günlük doğru namaz vakti",
    fr: "heures de prière précises",
    ur: "روزانہ درست اوقاتِ نماز",
    id: "waktu salat akurat harian",
    hi: "सटीक दैनिक नमाज़ समय",
  },
  "feat.qibla.stat.num": {
    ar: "٣٦٠°",
    en: "360°",
    tr: "360°",
    fr: "360°",
    ur: "۳۶۰°",
    id: "360°",
    hi: "360°",
  },
  "feat.qibla.stat.label": {
    ar: "بوصلة دقيقة من أي مكان",
    en: "precise compass anywhere on earth",
    tr: "her yerden hassas pusula",
    fr: "boussole précise partout",
    ur: "کہیں بھی سے درست کمپاس",
    id: "kompas presisi di mana saja",
    hi: "कहीं भी से सटीक कम्पास",
  },
  "feat.azkar.stat.num": {
    ar: "+٢٠٠",
    en: "200+",
    tr: "200+",
    fr: "200+",
    ur: "+۲۰۰",
    id: "200+",
    hi: "200+",
  },
  "feat.azkar.stat.label": {
    ar: "ذكر ودعاء من القرآن والسنة",
    en: "azkar & duas from Quran & Sunnah",
    tr: "Kuran ve Sünnet'ten zikir ve dua",
    fr: "adhkâr et du'as du Coran et Sunna",
    ur: "قرآن و سنت سے اذکار و دعائیں",
    id: "zikir & doa dari Quran & Sunnah",
    hi: "क़ुरआन और सुन्नत से अज़कार और दुआएँ",
  },
  "feat.tafsir.stat.num": {
    ar: "٥",
    en: "5",
    tr: "5",
    fr: "5",
    ur: "۵",
    id: "5",
    hi: "५",
  },
  "feat.tafsir.stat.label": {
    ar: "روايات تفسير معتمدة",
    en: "trusted tafsir traditions",
    tr: "güvenilir tefsir geleneği",
    fr: "traditions de tafsir reconnues",
    ur: "مستند تفاسیر کی روایات",
    id: "tafsir tepercaya",
    hi: "विश्वसनीय तफ़सीर परंपराएँ",
  },

  // === DEEP DIVE ===
  "dd.eyebrow": {
    ar: "تجربة متكاملة · Deep Dive",
    en: "Deep Dive",
    tr: "Derinlemesine Bakış",
    fr: "Exploration",
    ur: "گہرائی میں",
    id: "Eksplorasi",
    hi: "गहन परिचय",
  },
  "dd.title": {
    ar: "شاهد التطبيق شاشة بشاشة",
    en: "See the app screen by screen",
    tr: "Uygulamayı ekran ekran görün",
    fr: "Découvrez l'application écran par écran",
    ur: "ایپ کو اسکرین بہ اسکرین دیکھیں",
    id: "Lihat aplikasi layar demi layar",
    hi: "ऐप को स्क्रीन दर स्क्रीन देखें",
  },
  "dd.lede": {
    ar: "مرّر بين خمس شاشات لترى أهم مزايا التطبيق بسرعة ووضوح.",
    en: "Swipe through five screens to preview the app's key features at a glance.",
    tr: "Beş ekran arasında gezerek uygulamanın temel özelliklerini hızlıca görün.",
    fr: "Faites défiler cinq écrans pour voir l'essentiel de l'application en un coup d'oeil.",
    ur: "پانچ اسکرینز کے درمیان گھوم کر ایپ کی اہم خصوصیات ایک نظر میں دیکھیں۔",
    id: "Geser lima layar untuk melihat fitur utama aplikasi dengan cepat.",
    hi: "पांच स्क्रीन के बीच स्वाइप करके ऐप की मुख्य खूबियां एक नज़र में देखें।",
  },
  "dd.try": {
    ar: "جرّبها الآن",
    en: "Try it now",
    tr: "Şimdi dene",
    fr: "Essayez maintenant",
    ur: "ابھی آزمائیں",
    id: "Coba sekarang",
    hi: "अभी आज़माएँ",
  },
  "dd.more": {
    ar: "شاهد المزيد",
    en: "See more",
    tr: "Daha fazla",
    fr: "Voir plus",
    ur: "مزید دیکھیں",
    id: "Lihat lainnya",
    hi: "और देखें",
  },
  "dd.feature": {
    ar: "واجهة",
    en: "Screen",
    tr: "Ekran",
    fr: "Écran",
    ur: "اسکرین",
    id: "Layar",
    hi: "स्क्रीन",
  },
  "dd.tab.quran": {
    ar: "القرآن الكريم",
    en: "Quran",
    tr: "Kuran",
    fr: "Coran",
    ur: "قرآن",
    id: "Quran",
    hi: "क़ुरआन",
  },
  "dd.tab.audio": {
    ar: "التلاوة",
    en: "Recitation",
    tr: "Tilavet",
    fr: "Récitation",
    ur: "تلاوت",
    id: "Tilawah",
    hi: "तिलावत",
  },
  "dd.tab.prayer": {
    ar: "الصلاة",
    en: "Prayer",
    tr: "Namaz",
    fr: "Prière",
    ur: "نماز",
    id: "Salat",
    hi: "नमाज़",
  },
  "dd.tab.azkar": {
    ar: "الأذكار",
    en: "Azkar",
    tr: "Zikirler",
    fr: "Adhkâr",
    ur: "اذکار",
    id: "Zikir",
    hi: "अज़कार",
  },
  "dd.tab.qibla": {
    ar: "القبلة",
    en: "Qibla",
    tr: "Kıble",
    fr: "Qibla",
    ur: "قبلہ",
    id: "Kiblat",
    hi: "क़िबला",
  },

  // === DOWNLOAD ===
  "dl.title": {
    ar: "حمل تطبيق وحي البيان الآن",
    en: "Download Wahy Albayan now",
    tr: "Vahyu'l-Bayan'ı şimdi indirin",
    fr: "Téléchargez Wahy Albayan maintenant",
    ur: "ابھی وحی البیان ڈاؤن لوڈ کریں",
    id: "Unduh Wahy Albayan sekarang",
    hi: "अभी Wahy Albayan डाउनलोड करें",
  },
  "dl.lede": {
    ar: "تطبيق وحي البيان يقدم لك تجربة هادئة وواضحة، تجمع ما تحتاجه كل يوم في مكان واحد — القرآن، الصلاة، الأذكار، والقبلة.",
    en: "Wahy Albayan offers a calm, clear experience that brings everything you need every day into one place — Quran, prayer, azkar, and Qibla.",
    tr: "Vahyu'l-Bayan, her gün ihtiyacınız olanı tek yerde toplayan sakin ve net bir deneyim sunar.",
    fr: "Wahy Albayan offre une expérience calme et claire réunissant tout ce dont vous avez besoin au quotidien.",
    ur: "وحی البیان ایک پرسکون، واضح تجربہ پیش کرتا ہے جو روزمرہ کی ضروریات کو ایک جگہ جمع کرتا ہے۔",
    id: "Wahy Albayan menawarkan pengalaman tenang dan jelas yang menyatukan semua kebutuhanmu setiap hari.",
    hi: "Wahy Albayan एक शांत, स्पष्ट अनुभव प्रदान करता है जो आपकी रोज़ की ज़रूरतों को एक जगह लाता है।",
  },
  "dl.from": {
    ar: "حمل التطبيق من",
    en: "Download from",
    tr: "İndir",
    fr: "Télécharger sur",
    ur: "ڈاؤن لوڈ کریں سے",
    id: "Unduh dari",
    hi: "डाउनलोड करें",
  },
  "dl.appstore": {
    ar: "متجر أبل ستور",
    en: "App Store",
    tr: "App Store",
    fr: "App Store",
    ur: "ایپ اسٹور",
    id: "App Store",
    hi: "App Store",
  },
  "dl.gplay": {
    ar: "متجر جوجل بلاي",
    en: "Google Play",
    tr: "Google Play",
    fr: "Google Play",
    ur: "گوگل پلے",
    id: "Google Play",
    hi: "Google Play",
  },
  "dl.huawei": {
    ar: "متجر هواوي",
    en: "AppGallery",
    tr: "AppGallery",
    fr: "AppGallery",
    ur: "AppGallery",
    id: "AppGallery",
    hi: "AppGallery",
  },
  "dl.apk": {
    ar: "ملف APK",
    en: "Direct APK",
    tr: "Doğrudan APK",
    fr: "APK direct",
    ur: "براہ راست APK",
    id: "APK Langsung",
    hi: "सीधा APK",
  },
  "dl.apk.label": {
    ar: "تنزيل مباشر",
    en: "Direct download",
    tr: "Doğrudan indir",
    fr: "Téléchargement direct",
    ur: "براہ راست ڈاؤن لوڈ",
    id: "Unduh langsung",
    hi: "सीधा डाउनलोड",
  },

  // === FAQ ===
  "faq.eyebrow": {
    ar: "FAQ · الأسئلة الشائعة",
    en: "Frequently Asked Questions",
    tr: "Sıkça Sorulan Sorular",
    fr: "Questions fréquentes",
    ur: "اکثر پوچھے گئے سوالات",
    id: "Pertanyaan Umum",
    hi: "अक्सर पूछे जाने वाले सवाल",
  },
  "faq.title": {
    ar: "أسئلة يسألها المستخدمون كثيراً",
    en: "Questions our users ask most",
    tr: "Kullanıcılarımızın en çok sorduğu sorular",
    fr: "Les questions que nos utilisateurs posent le plus",
    ur: "صارفین کے سب سے زیادہ پوچھے گئے سوالات",
    id: "Pertanyaan yang sering ditanyakan pengguna",
    hi: "उपयोगकर्ताओं द्वारा अक्सर पूछे जाने वाले सवाल",
  },

  // === REVIEWS ===
  "rev.eyebrow": {
    ar: "Reviews · آراء المستخدمين",
    en: "User Reviews",
    tr: "Kullanıcı Yorumları",
    fr: "Avis des utilisateurs",
    ur: "صارفین کے تبصرے",
    id: "Ulasan Pengguna",
    hi: "उपयोगकर्ता समीक्षाएँ",
  },
  "rev.title.l1": {
    ar: "أكثر من مليون مسلم",
    en: "Over a million Muslims",
    tr: "Bir milyondan fazla Müslüman",
    fr: "Plus d'un million de musulmans",
    ur: "دس لاکھ سے زائد مسلمان",
    id: "Lebih dari sejuta Muslim",
    hi: "दस लाख से अधिक मुसलमान",
  },
  "rev.title.l2": {
    ar: "يثقون بوحي البيان",
    en: "trust Wahy Albayan",
    tr: "Vahyu'l-Bayan'a güveniyor",
    fr: "font confiance à Wahy Albayan",
    ur: "وحی البیان پر اعتماد کرتے ہیں",
    id: "mempercayai Wahy Albayan",
    hi: "Wahy Albayan पर भरोसा करते हैं",
  },
  "rev.lede": {
    ar: "تقييمات حقيقية من مستخدمينا في App Store و Google Play — متوسط تقييم ٤.٩ من ٥ نجوم.",
    en: "Real reviews from users on App Store & Google Play — average 4.9 of 5 stars.",
    tr: "App Store ve Google Play'deki gerçek yorumlar — ortalama 5 üzerinden 4.9 yıldız.",
    fr: "Avis réels des utilisateurs sur App Store & Google Play — moyenne de 4,9/5 étoiles.",
    ur: "App Store اور Google Play پر اصلی تبصرے — اوسط ۴.۹ ستارے۔",
    id: "Ulasan asli pengguna di App Store & Google Play — rata-rata 4.9/5 bintang.",
    hi: "App Store & Google Play पर वास्तविक समीक्षाएँ — औसत 4.9/5 स्टार।",
  },

  // === TRUST ===
  "trust.label": {
    ar: "موثّق ومعتمد · Trusted by Muslims worldwide",
    en: "Trusted by Muslims worldwide",
    tr: "Dünya çapında Müslümanlar tarafından güveniliyor",
    fr: "Apprécié par les musulmans du monde entier",
    ur: "دنیا بھر کے مسلمان اعتماد کرتے ہیں",
    id: "Dipercaya Muslim di seluruh dunia",
    hi: "दुनिया भर के मुसलमानों द्वारा भरोसेमंद",
  },
  "trust.privacy": {
    ar: "حماية خصوصيتك",
    en: "Your privacy protected",
    tr: "Gizliliğiniz korunur",
    fr: "Votre vie privée protégée",
    ur: "آپ کی پرائیویسی محفوظ",
    id: "Privasimu terlindungi",
    hi: "आपकी गोपनीयता सुरक्षित",
  },
  "trust.adfree": {
    ar: "خالٍ من الإعلانات",
    en: "100% ad-free",
    tr: "Reklamsız",
    fr: "Sans publicité",
    ur: "اشتہارات سے پاک",
    id: "Tanpa iklan",
    hi: "विज्ञापन मुक्त",
  },
  "trust.offline": {
    ar: "يعمل بدون إنترنت",
    en: "Works offline",
    tr: "Çevrimdışı çalışır",
    fr: "Fonctionne hors ligne",
    ur: "آف لائن کام کرتا ہے",
    id: "Bekerja offline",
    hi: "ऑफलाइन काम करता है",
  },
  "trust.langs": {
    ar: "٧ لغات",
    en: "7 languages",
    tr: "7 dil",
    fr: "7 langues",
    ur: "۷ زبانیں",
    id: "7 bahasa",
    hi: "7 भाषाएँ",
  },
};

function t(key, lang) {
  const entry = I18N[key];
  if (!entry) return key;
  return entry[lang] || entry.ar || key;
}

// ===== Hook =====
function useI18n() {
  const [lang, setLang] = useState(
    () => localStorage.getItem("wb_lang") || "ar",
  );
  const [theme, setTheme] = useState(
    () =>
      localStorage.getItem("wb_theme") ||
      (window.TWEAKS && window.TWEAKS.darkMode ? "dark" : "light"),
  );

  useEffect(() => {
    const meta = LANGS.find((l) => l.code === lang) || LANGS[0];
    document.documentElement.lang = lang;
    document.documentElement.dir = meta.dir;
    document.documentElement.dataset.font = meta.font;
    localStorage.setItem("wb_lang", lang);
  }, [lang]);

  useEffect(() => {
    document.documentElement.dataset.theme = theme;
    localStorage.setItem("wb_theme", theme);
    // also propagate to tweaks
    try {
      window.parent &&
        window.parent.postMessage(
          {
            type: "__edit_mode_set_keys",
            edits: { darkMode: theme === "dark" },
          },
          "*",
        );
    } catch (e) {}
  }, [theme]);

  return {
    lang,
    setLang,
    theme,
    setTheme,
    toggleTheme: () => setTheme((t) => (t === "dark" ? "light" : "dark")),
    t: (key) => t(key, lang),
    isRTL: (LANGS.find((l) => l.code === lang) || LANGS[0]).dir === "rtl",
  };
}

// ===== Context-like singleton (since we don't pass context everywhere, mirror to window) =====
function I18nProvider({ children }) {
  const i18n = useI18n();
  // expose
  window.__i18n = i18n;
  // tick re-renders by storing version
  return children;
}

// ===== Switchers =====
function LanguageMenu({ i18n }) {
  const [open, setOpen] = useState(false);
  const ref = useRef();
  useEffect(() => {
    const close = (e) => {
      if (ref.current && !ref.current.contains(e.target)) setOpen(false);
    };
    document.addEventListener("click", close);
    return () => document.removeEventListener("click", close);
  }, []);
  const cur = LANGS.find((l) => l.code === i18n.lang) || LANGS[0];
  return (
    <div className="lang-menu" ref={ref}>
      <button
        className="lang-menu__btn"
        onClick={() => setOpen((o) => !o)}
        aria-label="Language"
      >
        <span className="lang-menu__flag">{cur.flag}</span>
        <span className="lang-menu__short">{cur.short}</span>
        <svg
          width="10"
          height="10"
          viewBox="0 0 12 12"
          fill="none"
          stroke="currentColor"
          strokeWidth="2"
        >
          <path d="M3 4.5L6 7.5L9 4.5" />
        </svg>
      </button>
      {open && (
        <div className="lang-menu__pop" role="menu">
          {LANGS.map((l) => (
            <button
              key={l.code}
              className={
                "lang-menu__item" + (l.code === i18n.lang ? " is-active" : "")
              }
              onClick={() => {
                i18n.setLang(l.code);
                setOpen(false);
              }}
            >
              <span className="lang-menu__flag">{l.flag}</span>
              <span className="lang-menu__label">{l.label}</span>
              {l.code === i18n.lang && (
                <span className="lang-menu__check">✓</span>
              )}
            </button>
          ))}
        </div>
      )}
    </div>
  );
}

function ThemeToggle({ i18n }) {
  return (
    <button
      className="theme-toggle"
      onClick={i18n.toggleTheme}
      aria-label="Toggle theme"
      title={i18n.theme === "dark" ? "Light mode" : "Dark mode"}
    >
      <span className="theme-toggle__icons" data-theme={i18n.theme}>
        <svg
          className="theme-toggle__sun"
          viewBox="0 0 24 24"
          width="18"
          height="18"
          fill="none"
          stroke="currentColor"
          strokeWidth="1.8"
          strokeLinecap="round"
        >
          <circle cx="12" cy="12" r="4" />
          <path d="M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41" />
        </svg>
        <svg
          className="theme-toggle__moon"
          viewBox="0 0 24 24"
          width="18"
          height="18"
          fill="none"
          stroke="currentColor"
          strokeWidth="1.8"
          strokeLinecap="round"
          strokeLinejoin="round"
        >
          <path d="M21 12.8A9 9 0 1111.2 3a7 7 0 009.8 9.8z" />
        </svg>
      </span>
    </button>
  );
}

Object.assign(window, {
  LANGS,
  I18N,
  t,
  useI18n,
  I18nProvider,
  LanguageMenu,
  ThemeToggle,
});
