// Bilingual translation dictionary + hook.
// Usage: const { t, lang, setLang, dir } = useI18n();

const TRANSLATIONS = {
  // chrome
  nav: {
    home:        { ar:'الرئيسية',       en:'Home' },
    shop:        { ar:'المتجر',         en:'Shop' },
    new:         { ar:'وصل حديثاً',     en:'New In' },
    sale:        { ar:'تخفيضات',        en:'Sale' },
    lookbook:    { ar:'قصة المتجر',     en:'Our Story' },
    about:       { ar:'عن المتجر',      en:'About' },
    contact:     { ar:'تواصلي',         en:'Contact' },
    search_ph:   { ar:'ابحثي عن قطعة...', en:'Search...' },
    account:     { ar:'حسابي',           en:'Account' },
    wishlist:    { ar:'المفضلة',         en:'Wishlist' },
    cart:        { ar:'السلة',           en:'Cart' },
    menu:        { ar:'القائمة',         en:'Menu' },
    close:       { ar:'إغلاق',           en:'Close' },
    all:         { ar:'الكل',             en:'All' },
    view_all:    { ar:'تصفّحي الكل',     en:'View All' },
    explore:     { ar:'اكتشفي',           en:'Explore' },
    discover:    { ar:'استكشفي المجموعة', en:'Discover the collection' }
  },

  // announcement strip
  ann: {
    a: { ar:'شحن مجاني داخل فلسطين للطلبات فوق ٢٥٠ ₪', en:'Free shipping over 250 ₪ within Palestine' },
    b: { ar:'استبدال مجاني خلال ١٤ يوم',                en:'Free returns within 14 days' },
    c: { ar:'تغليف هدايا مجاني',                       en:'Complimentary gift wrap' },
    d: { ar:'دفع آمن — كاش عند الاستلام متاح',          en:'Secure checkout — cash on delivery' }
  },

  // hero
  hero: {
    eyebrow: { ar:'— مجموعة صيف ٢٠٢٦ —',           en:'— Summer Collection 2026 —' },
    welcome: { ar:'أهلاً بكِ في',                   en:'Welcome to' },
    brand:   { ar:'عالم RARE',                      en:'The world of RARE' },
    h1_a:    { ar:'أناقة',                          en:'A rare kind of' },
    h1_em:   { ar:'نادرة',                          en:'elegance' },
    h1_b:    { ar:'تليق بكِ',                       en:'made for you' },
    sub:     { ar:'قطع مختارة بعناية فائقة من أرقى دور الأزياء — تصاميم خالدة تُلبس التميّز في تفاصيل يومكِ.',
               en:'Hand‑picked pieces from the world\'s finest ateliers — timeless designs that dress your every moment with quiet distinction.' },
    cta1:    { ar:'تسوّقي المجموعة',                en:'Shop the collection' },
    cta2:    { ar:'قصة المتجر',                     en:'Our story' },
    rating:  { ar:'+ ٢٤٠٠ عميلة سعيدة',             en:'+ 2,400 happy clients' }
  },

  // sections
  sec: {
    cats_eye: { ar:'— تسوّقي حسب الفئة —', en:'— Shop by category —' },
    cats_h:   { ar:'مجموعاتنا',             en:'The Collections' },
    cats_sub: { ar:'من اليومي إلى المساء، تشكيلة تجمع بين العصري والخالد.', en:'From the everyday to the evening — pieces that bridge the contemporary and the timeless.' },

    feat_eye: { ar:'— قطع مختارة —',        en:'— Curated pieces —' },
    feat_h:   { ar:'الأكثر تميّزاً',        en:'Most Coveted' },
    feat_all: { ar:'الكل',                  en:'All' },
    feat_new: { ar:'وصل حديثاً',            en:'New' },
    feat_best:{ ar:'الأكثر طلباً',          en:'Best sellers' },
    feat_sale:{ ar:'تخفيضات',               en:'On sale' },

    look_eye: { ar:'— قصتنا —',                 en:'— Our story —' },
    look_h:   { ar:'بداية تليق بكِ',              en:'A story made for you' },
    look_sub: { ar:'كيف وُلِد RARE — وما الذي نختاره لكِ كل يوم.', en:'How RARE was born — and what we curate for you every day.' },

    story_eye:{ ar:'— عن RARE BOUTIQUE —',  en:'— About RARE BOUTIQUE —' },
    story_h:  { ar:'قصة شغف بالتفاصيل',     en:'A passion for detail' },
    story_p:  { ar:'نختار لكِ ما يستحق فعلاً — قطعاً نادرة من خامات راقية وحياكة دقيقة، ونغلّفها لكِ بحب كأنها هدية إلى نفسكِ. كل ما في الأمر، أن تكون كل تفاصيلكِ على ذوقكِ.',
              en:'We choose what is genuinely worthwhile — rare pieces of refined fabric and meticulous tailoring, wrapped with care as if a gift to yourself. The whole point: that every detail of yours matches your taste.' },
    story_b1: { ar:'علامة عالمية',          en:'Global labels' },
    story_b2: { ar:'عميلة سعيدة',           en:'Happy clients' },
    story_b3: { ar:'تقييم العملاء',         en:'Client rating' },

    test_eye: { ar:'— يقولن عنّا —',        en:'— What they say —' },
    test_h:   { ar:'كلمات تليق بنا',        en:'Words to wear by' },

    nl_eye:   { ar:'— انضمي إلى عائلة RARE —', en:'— Join the RARE family —' },
    nl_h:     { ar:'احصلي على ١٠٪ خصم على أول طلب', en:'Get 10% off your first order' },
    nl_sub:   { ar:'كوني أول من يعرف بالمجموعات الجديدة والعروض الحصرية.',
                en:'Be the first to know about new collections and exclusive offers.' },
    nl_ph:    { ar:'بريدكِ الإلكتروني',     en:'Your email address' },
    nl_btn:   { ar:'اشتراك',                en:'Subscribe' },

    insta_eye:{ ar:'— تابعينا على إنستغرام —', en:'— Follow us on Instagram —' },
    insta_h:  { ar:'@rare.boutiique',        en:'@rare.boutiique' }
  },

  // product card / shop
  shop: {
    new_badge:    { ar:'جديد',     en:'New' },
    sale_badge:   { ar:'تخفيض',    en:'Sale' },
    exclusive:    { ar:'حصري',     en:'Exclusive' },
    limited:      { ar:'محدود',    en:'Limited' },
    best:         { ar:'الأكثر طلباً', en:'Best seller' },
    add:          { ar:'أضيفي للسلة', en:'Add to bag' },
    quick:        { ar:'عرض سريع',  en:'Quick view' },
    wish:         { ar:'إلى المفضلة', en:'Wishlist' },
    color:        { ar:'اللون',     en:'Color' },
    size:         { ar:'المقاس',    en:'Size' },
    sort:         { ar:'ترتيب',     en:'Sort' },
    filters:      { ar:'فلاتر',      en:'Filters' },
    clear:        { ar:'مسح الفلاتر', en:'Clear filters' },
    price:        { ar:'السعر',     en:'Price' },
    cat:          { ar:'الفئة',     en:'Category' },
    products_n:   { ar:'منتج متاح',  en:'products' },
    show:         { ar:'عرض',       en:'Show' },
    save:         { ar:'وفّري',     en:'Save' },
    in_stock:     { ar:'متوفر',     en:'In stock' },
    rate_n:       { ar:'تقييم',     en:'reviews' },
    desc_tab:     { ar:'الوصف',     en:'Description' },
    spec_tab:     { ar:'المواصفات',  en:'Details' },
    size_tab:     { ar:'دليل المقاسات', en:'Size guide' },
    rev_tab:      { ar:'التقييمات', en:'Reviews' },
    size_guide:   { ar:'دليل المقاسات', en:'Size guide' },
    buy_now:      { ar:'اشتري الآن', en:'Buy now' },
    related:      { ar:'قد يعجبكِ أيضاً', en:'You may also like' },
    crumb_home:   { ar:'الرئيسية',   en:'Home' }
  },

  cart: {
    title:       { ar:'سلة المشتريات', en:'Shopping bag' },
    empty_h:     { ar:'سلتكِ فارغة',   en:'Your bag is empty' },
    empty_p:     { ar:'لم تضيفي أي قطعة بعد — اكتشفي مجموعتنا الجديدة.', en:'You haven\'t added anything yet — discover our latest pieces.' },
    start:       { ar:'ابدأي التسوّق', en:'Start shopping' },
    product:     { ar:'المنتج',        en:'Product' },
    qty:         { ar:'الكمية',        en:'Quantity' },
    total:       { ar:'الإجمالي',      en:'Total' },
    summary:     { ar:'ملخّص الطلب',    en:'Order summary' },
    subtotal:    { ar:'المجموع الفرعي', en:'Subtotal' },
    discount:    { ar:'الخصم',         en:'Discount' },
    shipping:    { ar:'الشحن',         en:'Shipping' },
    free:        { ar:'مجاني',         en:'Free' },
    add_more:    { ar:'أضيفي',         en:'Add' },
    free_ship:   { ar:'للحصول على شحن مجاني', en:'to unlock free shipping' },
    coupon:      { ar:'كوبون الخصم',    en:'Promo code' },
    coupon_ph:   { ar:'أدخلي الكود',    en:'Enter code' },
    apply:       { ar:'تطبيق',         en:'Apply' },
    applied:     { ar:'تم تطبيق خصم ١٠٪', en:'10% discount applied' },
    hint:        { ar:'جرّبي: RARE10',   en:'Try: RARE10' },
    grand:       { ar:'الإجمالي',       en:'Total' },
    checkout:    { ar:'إتمام الطلب',    en:'Checkout' },
    continue:    { ar:'متابعة التسوّق',  en:'Continue shopping' },
    secure:      { ar:'دفع آمن ١٠٠٪',    en:'100% secure checkout' },
    fast_ship:   { ar:'شحن سريع ٢-٣ أيام', en:'Express 2-3 days delivery' },
    gift:        { ar:'تغليف هدية مجاني', en:'Free gift wrap' }
  },

  footer: {
    tag:    { ar:'بوتيك أزياء نسائية يجمع بين الأناقة الكلاسيكية واللمسة العصرية. قطع نادرة، مختارة لكِ بحب.',
              en:'A women\'s boutique where timeless elegance meets modern character. Rare pieces, hand‑picked for you.' },
    shop_h: { ar:'المتجر',     en:'Shop' },
    help_h: { ar:'مساعدة',     en:'Help' },
    cnt_h:  { ar:'تواصلي معنا', en:'Get in touch' },
    new_in: { ar:'وصل حديثاً',  en:'New arrivals' },
    best:   { ar:'الأكثر مبيعاً', en:'Best sellers' },
    sale:   { ar:'تخفيضات',     en:'Sale' },
    gift:   { ar:'بطاقات هدايا', en:'Gift cards' },
    ship:   { ar:'الشحن والتوصيل', en:'Shipping' },
    ret:    { ar:'سياسة الاستبدال', en:'Returns' },
    sizes:  { ar:'دليل المقاسات', en:'Size guide' },
    faq:    { ar:'الأسئلة الشائعة', en:'FAQ' },
    wa:     { ar:'واتساب',      en:'WhatsApp' },
    mail:   { ar:'البريد',      en:'Email' },
    addr:   { ar:'العنوان',     en:'Address' },
    hours:  { ar:'ساعات العمل', en:'Hours' },
    hours_v:{ ar:'١٠ صباحاً — ٩ مساءً', en:'10:00 — 21:00' },
    addr_v: { ar:'نابلس — شارع رفيديا', en:'Nablus — Rafidia St.' },
    rights: { ar:'© ٢٠٢٦ Rare Boutique — جميع الحقوق محفوظة', en:'© 2026 Rare Boutique — All rights reserved' },
    pay:    { ar:'طرق الدفع',    en:'We accept' }
  },

  // numeric formatting
  currency: { ar:'₪', en:'₪' }
};

const I18nCtx = React.createContext({
  lang: 'ar',
  setLang: () => {},
  t: () => '',
  dir: 'rtl'
});

function I18nProvider({ children }) {
  const [lang, _setLang] = React.useState(() => localStorage.getItem('rb_lang') || 'ar');
  const dir = lang === 'ar' ? 'rtl' : 'ltr';

  const setLang = React.useCallback((l) => {
    _setLang(l);
    localStorage.setItem('rb_lang', l);
  }, []);

  React.useEffect(() => {
    document.documentElement.lang = lang;
    document.documentElement.dir = dir;
  }, [lang, dir]);

  const t = React.useCallback((path) => {
    const parts = path.split('.');
    let node = TRANSLATIONS;
    for (const p of parts) { if (!node || typeof node !== 'object') return path; node = node[p]; }
    if (!node) return path;
    if (typeof node === 'string') return node;
    return node[lang] ?? node.en ?? path;
  }, [lang]);

  return <I18nCtx.Provider value={{ lang, setLang, t, dir }}>{children}</I18nCtx.Provider>;
}

function useI18n() { return React.useContext(I18nCtx); }

// Localized number formatter — keep arabic-indic numerals when RTL
function fmtNum(n, lang) {
  if (lang === 'ar') {
    return String(n).replace(/[0-9]/g, d => '٠١٢٣٤٥٦٧٨٩'[+d]);
  }
  return String(n);
}

function fmtPrice(n, lang) { return `${fmtNum(n, lang)} ₪`; }

window.RBI18n = { I18nProvider, useI18n, fmtNum, fmtPrice, TRANSLATIONS };
