/* i18n — multilingual layer for OpenMedEdu.
   Default language: Georgian (ka). Also supports en / ru / tr / hi.
   Exposes: LangProvider, useT(), useLang(), LangPicker,
            useSpecialties(), useSampleCourses(), useSampleArticles(), useNews(). */

const LANGS = [
  { code: 'ka', name: 'Georgian', native: 'ქართული',     dir: 'ltr', flag: 'KA' },
  { code: 'en', name: 'English',  native: 'English',     dir: 'ltr', flag: 'EN' },
  { code: 'ru', name: 'Russian',  native: 'Русский',     dir: 'ltr', flag: 'RU' },
  { code: 'tr', name: 'Turkish',  native: 'Türkçe',      dir: 'ltr', flag: 'TR' },
  { code: 'hi', name: 'Hindi',    native: 'हिन्दी',       dir: 'ltr', flag: 'HI' },
];

const DEFAULT_LANG = 'ka';

const I18N = {
  // — Brand / navigation —
  brand_name:     { en: 'OpenMedEdu', ka: 'OpenMedEdu', ru: 'OpenMedEdu', tr: 'OpenMedEdu', hi: 'OpenMedEdu' },
  catalogue:      { en: 'Catalogue', ka: 'კატალოგი', ru: 'Каталог', tr: 'Katalog', hi: 'कैटलॉग' },
  courses:        { en: 'Courses',   ka: 'კურსები',  ru: 'Курсы',   tr: 'Kurslar', hi: 'पाठ्यक्रम' },
  articles:       { en: 'Articles',  ka: 'სტატიები', ru: 'Статьи',  tr: 'Makaleler', hi: 'लेख' },
  news:           { en: 'News',      ka: 'სიახლეები', ru: 'Новости', tr: 'Haberler', hi: 'समाचार' },
  specs:          { en: 'Specialties', ka: 'სპეციალობები', ru: 'Специальности', tr: 'Uzmanlıklar', hi: 'विशेषज्ञताएँ' },
  teams:          { en: 'For Teams', ka: 'გუნდებისთვის', ru: 'Для команд', tr: 'Ekipler için', hi: 'टीमों के लिए' },
  about:          { en: 'About', ka: 'ჩვენ შესახებ', ru: 'О нас', tr: 'Hakkında', hi: 'हमारे बारे में' },
  search:         { en: 'Search', ka: 'ძებნა', ru: 'Поиск', tr: 'Ara', hi: 'खोजें' },
  login_register: { en: 'Log in / Register', ka: 'შესვლა / რეგისტრაცია', ru: 'Вход / Регистрация', tr: 'Giriş / Kayıt', hi: 'लॉगिन / रजिस्टर' },
  more_langs:     { en: 'More languages coming · request →', ka: 'მეტი ენა იგზავნება · მოითხოვე →', ru: 'Скоро больше языков · запросить →', tr: 'Daha fazla dil yakında · iste →', hi: 'और भाषाएँ जल्द · अनुरोध →' },

  // — Hero (home) —
  hero_tag: {
    en: 'Continuous Medical Education · est. 2019 · ACCME accredited',
    ka: 'უწყვეტი სამედიცინო განათლება · დაარსდა 2019 · ACCME აკრედიტებული',
    ru: 'Непрерывное медицинское образование · с 2019 · аккредитация ACCME',
    tr: 'Sürekli Tıp Eğitimi · 2019 kuruluş · ACCME akreditasyonu',
    hi: 'सतत चिकित्सा शिक्षा · 2019 में स्थापित · ACCME मान्यता प्राप्त',
  },
  hero_title_1: {
    en: 'The whole of medicine,',
    ka: 'მთელი მედიცინა',
    ru: 'Вся медицина —',
    tr: 'Tıbbın tamamı,',
    hi: 'चिकित्सा की संपूर्णता,',
  },
  hero_title_2: {
    en: 'one search away.',
    ka: 'ერთი ძიების მოშორებით.',
    ru: 'в одном поиске.',
    tr: 'tek bir aramada.',
    hi: 'एक खोज की दूरी पर।',
  },
  hero_sub: {
    en: '1,240 accredited courses and 3,860 peer-reviewed articles across 54 specialties — written for physicians, nurses, residents, and students who can’t stop learning.',
    ka: '1,240 აკრედიტებული კურსი და 3,860 რეცენზირებული სტატია 54 სპეციალობაში — ექიმებისთვის, ექთნებისთვის, რეზიდენტებისა და სტუდენტებისთვის, რომლებიც სწავლას ვერ წყვეტენ.',
    ru: '1 240 аккредитованных курсов и 3 860 рецензируемых статей по 54 специальностям — для врачей, медсестёр, ординаторов и студентов, которые не перестают учиться.',
    tr: '54 uzmanlık alanında 1.240 akredite kurs ve 3.860 hakemli makale — öğrenmeyi bırakmayan hekimler, hemşireler, asistanlar ve öğrenciler için.',
    hi: '54 विशेषज्ञताओं में 1,240 मान्यता प्राप्त पाठ्यक्रम और 3,860 सहकर्मी-समीक्षित लेख — डॉक्टरों, नर्सों, रेजिडेंट्स और छात्रों के लिए जो सीखना नहीं छोड़ते।',
  },
  search_placeholder: {
    en: 'Try “heart failure with preserved EF” or “SGLT2 in CKD”…',
    ka: 'სცადეთ „გულის უკმარისობა შენარჩუნებული EF-ით" ან „SGLT2 თირკმლის ქრონიკულ დაავადებაში"…',
    ru: 'Попробуйте «сердечная недостаточность с сохранённой ФВ» или «SGLT2 при ХБП»…',
    tr: '“Korunmuş EF ile kalp yetmezliği” veya “KBH’de SGLT2” deneyin…',
    hi: '"संरक्षित EF के साथ हृदय विफलता" या "CKD में SGLT2" आज़माएँ…',
  },
  search_cta: { en: 'Search', ka: 'ძიება', ru: 'Найти', tr: 'Ara', hi: 'खोजें' },
  trending:   { en: 'Trending', ka: 'პოპულარული', ru: 'В тренде', tr: 'Trend', hi: 'ट्रेंडिंग' },

  // — Trending chips —
  trend_glp1:     { en: 'GLP-1 obesity', ka: 'GLP-1 სიმსუქნე', ru: 'GLP-1 при ожирении', tr: 'GLP-1 obezite', hi: 'GLP-1 मोटापा' },
  trend_rsv:      { en: 'RSV in adults', ka: 'RSV მოზრდილებში', ru: 'РСВ у взрослых', tr: 'Yetişkinde RSV', hi: 'वयस्कों में RSV' },
  trend_af:       { en: 'AF guidelines 2026', ka: 'AF გაიდლაინები 2026', ru: 'ФП гайдлайны 2026', tr: 'AF kılavuzları 2026', hi: 'AF दिशानिर्देश 2026' },
  trend_lecan:    { en: 'Lecanemab', ka: 'ლეკანემაბი', ru: 'Леканемаб', tr: 'Lekanemab', hi: 'लेकेनेमाब' },
  trend_sepsis:   { en: 'Sepsis bundles', ka: 'სეფსისის პროტოკოლები', ru: 'Протоколы сепсиса', tr: 'Sepsis paketleri', hi: 'सेप्सिस बंडल' },

  // — CME tracker —
  cme_section_tag: { en: 'Your CME tracker', ka: 'შენი CME მრიცხველი', ru: 'Ваш CME трекер', tr: 'CME takipçiniz', hi: 'आपका CME ट्रैकर' },
  cme_progress:    { en: '24.5 of 40 credits', ka: '24.5 / 40 კრედიტი', ru: '24,5 из 40 кредитов', tr: '40 kredinin 24,5’i', hi: '40 में से 24.5 क्रेडिट' },
  cme_cycle:       { en: '2026 cycle · 7 months remaining', ka: '2026 ციკლი · დარჩა 7 თვე', ru: '2026 цикл · осталось 7 месяцев', tr: '2026 döngüsü · 7 ay kaldı', hi: '2026 चक्र · 7 महीने शेष' },
  cme_in_progress: { en: 'In progress · Heart Failure', ka: 'მიმდინარე · გულის უკმარისობა', ru: 'В процессе · Сердечная недостаточность', tr: 'Devam ediyor · Kalp Yetmezliği', hi: 'प्रगति पर · हृदय विफलता' },
  cme_up_next:     { en: 'Up next · AMS', ka: 'შემდეგი · AMS', ru: 'Далее · AMS', tr: 'Sırada · AMS', hi: 'अगला · AMS' },
  cme_saved:       { en: 'Saved · 8', ka: 'შენახული · 8', ru: 'Сохранено · 8', tr: 'Kaydedilen · 8', hi: 'सहेजे · 8' },
  cme_resume:      { en: 'Resume →', ka: 'გაგრძელება →', ru: 'Продолжить →', tr: 'Devam →', hi: 'जारी रखें →' },
  cme_transcript:  { en: 'My transcript', ka: 'ჩემი ცნობარი', ru: 'Моя выписка', tr: 'Transkriptim', hi: 'मेरा प्रतिलेख' },
  cme_compact_h:   { en: 'Your CME this year', ka: 'შენი CME ამ წელს', ru: 'Ваш CME в этом году', tr: 'Bu yıl CME', hi: 'इस वर्ष आपका CME' },
  cme_compact_s:   { en: '24.5 / 40 credits · resumé last opened 2d ago', ka: '24.5 / 40 კრედიტი · ბოლოს გახსნა 2 დღის წინ', ru: '24,5 / 40 кредитов · последний раз 2д назад', tr: '24,5 / 40 kredi · son 2g önce', hi: '24.5/40 क्रेडिट · 2 दिन पहले' },

  // — Catalogue section (home) —
  catalog_unified: {
    en: 'The catalogue · unified across formats',
    ka: 'კატალოგი · ერთიანი ფორმატებში',
    ru: 'Каталог · единый по форматам',
    tr: 'Katalog · biçimler arasında birleşik',
    hi: 'कैटलॉग · सभी प्रारूपों में एकीकृत',
  },
  catalog_title: {
    en: 'Browse 5,100+ learning items',
    ka: 'დაათვალიერე 5,100+ სასწავლო ერთეული',
    ru: 'Откройте 5 100+ обучающих материалов',
    tr: '5.100+ öğrenme öğesine göz atın',
    hi: '5,100+ शिक्षण सामग्री ब्राउज़ करें',
  },
  catalog_sub: {
    en: 'Filter by subject once — switch between courses, articles, and news without losing your context.',
    ka: 'გაფილტრე საგნით ერთხელ — გადართე კურსებს, სტატიებსა და სიახლეებს შორის კონტექსტის დაკარგვის გარეშე.',
    ru: 'Отфильтруйте по теме один раз — переключайтесь между курсами, статьями и новостями, не теряя контекст.',
    tr: 'Konuya göre bir kez filtreleyin — kurslar, makaleler ve haberler arasında bağlamı kaybetmeden geçin.',
    hi: 'विषय के आधार पर एक बार फ़िल्टर करें — पाठ्यक्रम, लेख और समाचार के बीच संदर्भ खोए बिना स्विच करें।',
  },
  see_all: { en: 'See all →', ka: 'ყველას ნახვა →', ru: 'Смотреть все →', tr: 'Tümünü gör →', hi: 'सभी देखें →' },
  load_more: { en: 'Load 24 more', ka: 'კიდევ 24-ის ჩატვირთვა', ru: 'Загрузить ещё 24', tr: '24 daha yükle', hi: '24 और लोड करें' },

  // — Tabs labels —
  tab_all:      { en: 'All', ka: 'ყველა', ru: 'Все', tr: 'Tümü', hi: 'सभी' },
  tab_courses:  { en: 'Courses · 1,240', ka: 'კურსები · 1,240', ru: 'Курсы · 1 240', tr: 'Kurslar · 1.240', hi: 'पाठ्यक्रम · 1,240' },
  tab_articles: { en: 'Articles · 3,860', ka: 'სტატიები · 3,860', ru: 'Статьи · 3 860', tr: 'Makaleler · 3.860', hi: 'लेख · 3,860' },
  tab_saved:    { en: 'Saved', ka: 'შენახული', ru: 'Сохранённое', tr: 'Kaydedilen', hi: 'सहेजे गए' },

  // — Specialty section —
  specs_tag:   { en: 'Specialties · 54 fields', ka: 'სპეციალობები · 54 დარგი', ru: 'Специальности · 54 направления', tr: 'Uzmanlıklar · 54 alan', hi: 'विशेषज्ञताएँ · 54 क्षेत्र' },
  specs_title: { en: 'Every corner of medicine.', ka: 'მედიცინის ყოველი კუთხე.', ru: 'Каждый уголок медицины.', tr: 'Tıbbın her köşesi.', hi: 'चिकित्सा का हर कोना।' },
  specs_sub: {
    en: 'Pick a specialty to drill into its sub-specialties and enter its catalogue. Expand the list for the full directory.',
    ka: 'აირჩიე სპეციალობა, რომ ჩაუღრმავდე ქვესპეციალობებს და გადახვიდე მის კატალოგზე. გააფართოვე სია სრული დირექტორიისთვის.',
    ru: 'Выберите специальность, чтобы перейти к её подспециальностям и каталогу. Разверните список для полного справочника.',
    tr: 'Bir uzmanlık seçin, alt uzmanlıklara inip kataloga girin. Tam dizin için listeyi genişletin.',
    hi: 'एक विशेषज्ञता चुनें, उप-विशेषज्ञताओं में जाएँ और कैटलॉग में प्रवेश करें। पूर्ण निर्देशिका के लिए सूची विस्तृत करें।',
  },
  specs_show_all: { en: 'Show all 48 specialties', ka: 'ყველა 48 სპეციალობის ნახვა', ru: 'Показать все 48 специальностей', tr: 'Tüm 48 uzmanlığı göster', hi: 'सभी 48 विशेषज्ञताएँ दिखाएँ' },
  specs_show_fewer: { en: 'Show fewer', ka: 'ნაკლების ჩვენება', ru: 'Показать меньше', tr: 'Daha az göster', hi: 'कम दिखाएँ' },
  specs_items: { en: 'items', ka: 'ერთეული', ru: 'элем.', tr: 'öğe', hi: 'आइटम' },
  subsubpec_tag: { en: 'Sub-specialties', ka: 'ქვესპეციალობები', ru: 'Подспециальности', tr: 'Alt uzmanlıklar', hi: 'उप-विशेषज्ञताएँ' },
  refine_within: { en: 'Refine within', ka: 'დაიხვეწე', ru: 'Уточнить внутри', tr: 'Daralt', hi: 'भीतर परिष्कृत करें' },
  all_of: { en: 'All of', ka: 'მთელი', ru: 'Все по', tr: 'Tüm', hi: 'सभी' },
  click_subspec: { en: 'Click a sub-specialty to open its catalogue.', ka: 'დააწექი ქვესპეციალობას მისი კატალოგის გასახსნელად.', ru: 'Нажмите подспециальность, чтобы открыть её каталог.', tr: 'Kataloğu açmak için bir alt uzmanlığa tıklayın.', hi: 'इसका कैटलॉग खोलने के लिए उप-विशेषज्ञता पर क्लिक करें।' },
  enter_specialty: { en: 'Enter', ka: 'შესვლა', ru: 'Открыть', tr: 'Aç', hi: 'खोलें' },
  close: { en: 'close', ka: 'დახურვა', ru: 'закрыть', tr: 'kapat', hi: 'बंद' },

  // — Membership / tiers —
  membership_tag:   { en: 'Membership', ka: 'წევრობა', ru: 'Подписка', tr: 'Üyelik', hi: 'सदस्यता' },
  membership_title: { en: 'Read free. Learn for credit.', ka: 'წაიკითხე უფასოდ. ისწავლე კრედიტისთვის.', ru: 'Читайте бесплатно. Учитесь за кредиты.', tr: 'Ücretsiz okuyun. Kredi için öğrenin.', hi: 'मुफ़्त पढ़ें। क्रेडिट के लिए सीखें।' },
  membership_sub:   {
    en: 'Articles are open-access. Accredited courses and CME tracking sit behind a flat membership — no per-credit pricing.',
    ka: 'სტატიები ღია წვდომისაა. აკრედიტებული კურსები და CME მრიცხველი ფიქსირებული წევრობის ფარგლებშია — კრედიტზე ცალკე ფასი არ არის.',
    ru: 'Статьи в открытом доступе. Аккредитованные курсы и CME-учёт включены в фиксированную подписку — без оплаты за каждый кредит.',
    tr: 'Makaleler açık erişimdir. Akredite kurslar ve CME takibi sabit üyelik kapsamında — kredi başına ücret yok.',
    hi: 'लेख खुले एक्सेस में हैं। मान्यता प्राप्त पाठ्यक्रम और CME ट्रैकिंग एक फ्लैट सदस्यता में हैं — प्रति-क्रेडिट मूल्य नहीं।',
  },
  tier_reader:        { en: 'Reader', ka: 'მკითხველი', ru: 'Читатель', tr: 'Okuyucu', hi: 'पाठक' },
  tier_practitioner:  { en: 'Practitioner', ka: 'პრაქტიკოსი', ru: 'Практикующий', tr: 'Pratisyen', hi: 'चिकित्सक' },
  tier_institution:   { en: 'Institution', ka: 'ინსტიტუცია', ru: 'Учреждение', tr: 'Kurum', hi: 'संस्थान' },
  free_forever:       { en: 'free forever', ka: 'სამუდამოდ უფასო', ru: 'навсегда бесплатно', tr: 'sonsuza dek ücretsiz', hi: 'हमेशा मुफ़्त' },
  per_month:          { en: '/ month', ka: '/ თვე', ru: '/ месяц', tr: '/ ay', hi: '/ माह' },
  per_seat:           { en: '/ seat', ka: '/ ადგილი', ru: '/ место', tr: '/ koltuk', hi: '/ सीट' },
  custom:             { en: 'Custom', ka: 'შეთანხმებით', ru: 'Индивидуально', tr: 'Özel', hi: 'अनुकूलित' },
  start_free:         { en: 'Start free', ka: 'უფასოდ დაწყება', ru: 'Начать бесплатно', tr: 'Ücretsiz başla', hi: 'मुफ़्त शुरू करें' },
  start_trial:        { en: 'Start 14-day trial', ka: 'დაიწყე 14-დღიანი ცდა', ru: 'Начать 14-дневную пробу', tr: '14 günlük denemeyi başlat', hi: '14-दिन का ट्रायल शुरू करें' },
  talk_to_us:         { en: 'Talk to us', ka: 'დაგვიკავშირდი', ru: 'Связаться', tr: 'Bize ulaşın', hi: 'हमसे बात करें' },
  most_popular:       { en: 'Most popular', ka: 'ყველაზე პოპულარული', ru: 'Самый популярный', tr: 'En popüler', hi: 'सबसे लोकप्रिय' },
  tier_reader_p1:     { en: 'Articles · open access', ka: 'სტატიები · ღია წვდომა', ru: 'Статьи · открытый доступ', tr: 'Makaleler · açık erişim', hi: 'लेख · खुला एक्सेस' },
  tier_reader_p2:     { en: '5 course previews / mo', ka: '5 კურსის გადახედვა / თვე', ru: '5 превью курсов / мес.', tr: 'Ayda 5 kurs ön izlemesi', hi: '5 कोर्स पूर्वावलोकन / माह' },
  tier_reader_p3:     { en: 'News & weekly digest', ka: 'სიახლეები და კვირის დაიჯესტი', ru: 'Новости и еженедельный дайджест', tr: 'Haberler ve haftalık özet', hi: 'समाचार और साप्ताहिक डाइजेस्ट' },
  tier_pract_p1:      { en: 'Unlimited courses', ka: 'შეუზღუდავი კურსები', ru: 'Безлимитные курсы', tr: 'Sınırsız kurs', hi: 'असीमित पाठ्यक्रम' },
  tier_pract_p2:      { en: 'AMA PRA Cat 1™ credits', ka: 'AMA PRA Cat 1™ კრედიტები', ru: 'AMA PRA Cat 1™ кредиты', tr: 'AMA PRA Cat 1™ kredileri', hi: 'AMA PRA Cat 1™ क्रेडिट' },
  tier_pract_p3:      { en: 'CME transcript & export', ka: 'CME ცნობარი და ექსპორტი', ru: 'CME выписка и экспорт', tr: 'CME transkript ve dışa aktarım', hi: 'CME प्रतिलेख और निर्यात' },
  tier_pract_p4:      { en: 'Mobile + offline', ka: 'მობილური + ოფლაინი', ru: 'Мобильный + офлайн', tr: 'Mobil + çevrimdışı', hi: 'मोबाइल + ऑफ़लाइन' },
  tier_inst_p1:       { en: 'Team dashboards', ka: 'გუნდის დაშბორდები', ru: 'Командные дашборды', tr: 'Ekip panoları', hi: 'टीम डैशबोर्ड' },
  tier_inst_p2:       { en: 'SSO + LMS integration', ka: 'SSO + LMS ინტეგრაცია', ru: 'SSO + LMS интеграция', tr: 'SSO + LMS entegrasyonu', hi: 'SSO + LMS एकीकरण' },
  tier_inst_p3:       { en: 'Custom learning paths', ka: 'მორგებული სასწავლო გზები', ru: 'Индивидуальные курсы обучения', tr: 'Özel öğrenme yolları', hi: 'अनुकूलित शिक्षण पथ' },
  tier_inst_p4:       { en: 'Volume pricing', ka: 'მოცულობითი ფასი', ru: 'Корпоративные цены', tr: 'Toplu fiyatlandırma', hi: 'थोक मूल्य निर्धारण' },

  // — Newsletter —
  newsletter_tag: { en: 'The Rounds · weekly', ka: 'რაუნდები · ყოველკვირეული', ru: 'Обходы · еженедельно', tr: 'Vizit · haftalık', hi: 'राउंड्स · साप्ताहिक' },
  newsletter_title_a: { en: 'A 6-minute read', ka: '6-წუთიანი ნაკითხი', ru: '6-минутное чтение', tr: '6 dakikalık okuma', hi: '6-मिनट का पाठ' },
  newsletter_title_b: { en: 'on what changed in medicine this week.', ka: 'იმაზე, რა შეიცვალა მედიცინაში ამ კვირაში.', ru: 'о том, что изменилось в медицине на этой неделе.', tr: 'bu hafta tıpta ne değişti üzerine.', hi: 'इस सप्ताह चिकित्सा में क्या बदला।' },
  newsletter_sub: {
    en: 'Curated by our editorial board. New guidelines, landmark trials, and the best CME we published — every Sunday.',
    ka: 'შერჩეული ჩვენი სარედაქციო კოლეგიის მიერ. ახალი გაიდლაინები, საეტაპო კვლევები და საუკეთესო CME — ყოველ კვირას.',
    ru: 'Подобрано нашей редакцией. Новые гайдлайны, ключевые исследования и лучший CME — каждое воскресенье.',
    tr: 'Yayın kurulumuz tarafından derlenir. Yeni kılavuzlar, dönüm noktası çalışmalar ve en iyi CME — her Pazar.',
    hi: 'हमारे संपादकीय बोर्ड द्वारा क्यूरेटेड। नए दिशानिर्देश, मील के पत्थर परीक्षण और सर्वश्रेष्ठ CME — हर रविवार।',
  },
  email_placeholder: { en: 'your@email.com', ka: 'შენი@ფოსტა.ge', ru: 'ваш@email.com', tr: 'sizin@email.com', hi: 'आपका@ईमेल.com' },
  subscribe: { en: 'Subscribe', ka: 'გამოწერა', ru: 'Подписаться', tr: 'Abone ol', hi: 'सदस्यता लें' },
  newsletter_foot: {
    en: '14,200+ clinicians. No spam, unsubscribe with one click.',
    ka: '14,200+ კლინიცისტი. სპამის გარეშე, გამოწერა გააუქმე ერთი დაწკაპუნებით.',
    ru: '14 200+ клиницистов. Без спама, отписка в один клик.',
    tr: '14.200+ klinisyen. Spam yok, tek tıkla aboneliği iptal et.',
    hi: '14,200+ चिकित्सक। कोई स्पैम नहीं, एक क्लिक में सदस्यता समाप्त।',
  },

  // — Footer —
  footer_about: {
    en: 'Continuous Medical Education for the whole care team. Accredited courses, peer-reviewed articles, daily news.',
    ka: 'უწყვეტი სამედიცინო განათლება მთელი მკურნალი გუნდისთვის. აკრედიტებული კურსები, რეცენზირებული სტატიები, ყოველდღიური სიახლეები.',
    ru: 'Непрерывное медицинское образование для всей команды. Аккредитованные курсы, рецензируемые статьи, ежедневные новости.',
    tr: 'Tüm bakım ekibi için Sürekli Tıp Eğitimi. Akredite kurslar, hakemli makaleler, günlük haberler.',
    hi: 'पूरी देखभाल टीम के लिए सतत चिकित्सा शिक्षा। मान्यता प्राप्त पाठ्यक्रम, सहकर्मी-समीक्षित लेख, दैनिक समाचार।',
  },
  foot_learn: { en: 'Learn', ka: 'სწავლა', ru: 'Учиться', tr: 'Öğren', hi: 'सीखें' },
  foot_for_you: { en: 'For you', ka: 'შენთვის', ru: 'Для вас', tr: 'Senin için', hi: 'आपके लिए' },
  foot_company: { en: 'Company', ka: 'კომპანია', ru: 'Компания', tr: 'Şirket', hi: 'कंपनी' },
  foot_legal: { en: 'Legal', ka: 'სამართლებრივი', ru: 'Юридическое', tr: 'Yasal', hi: 'कानूनी' },
  foot_cme: { en: 'CME tracker', ka: 'CME მრიცხველი', ru: 'CME трекер', tr: 'CME takipçisi', hi: 'CME ट्रैकर' },
  foot_bookmarks: { en: 'Bookmarks', ka: 'სანიშნეები', ru: 'Закладки', tr: 'Yer imleri', hi: 'बुकमार्क' },
  foot_transcript: { en: 'My transcript', ka: 'ჩემი ცნობარი', ru: 'Моя выписка', tr: 'Transkriptim', hi: 'मेरा प्रतिलेख' },
  foot_mobile: { en: 'Mobile app', ka: 'მობილური აპლიკაცია', ru: 'Мобильное приложение', tr: 'Mobil uygulama', hi: 'मोबाइल ऐप' },
  foot_editorial: { en: 'Editorial board', ka: 'სარედაქციო კოლეგია', ru: 'Редколлегия', tr: 'Yayın kurulu', hi: 'संपादकीय बोर्ड' },
  foot_accred: { en: 'Accreditation', ka: 'აკრედიტაცია', ru: 'Аккредитация', tr: 'Akreditasyon', hi: 'मान्यता' },
  foot_press: { en: 'Press', ka: 'პრესა', ru: 'Пресса', tr: 'Basın', hi: 'प्रेस' },
  foot_terms: { en: 'Terms', ka: 'პირობები', ru: 'Условия', tr: 'Şartlar', hi: 'शर्तें' },
  foot_privacy: { en: 'Privacy', ka: 'კონფიდენციალურობა', ru: 'Конфиденциальность', tr: 'Gizlilik', hi: 'गोपनीयता' },
  foot_coi: { en: 'Conflict of interest', ka: 'ინტერესთა კონფლიქტი', ru: 'Конфликт интересов', tr: 'Çıkar çatışması', hi: 'हितों का टकराव' },
  foot_contact: { en: 'Contact', ka: 'კონტაქტი', ru: 'Контакт', tr: 'İletişim', hi: 'संपर्क' },
  foot_copyright: { en: '© 2026 OpenMedEdu · ACCME Accredited', ka: '© 2026 OpenMedEdu · ACCME აკრედიტებული', ru: '© 2026 OpenMedEdu · аккредитация ACCME', tr: '© 2026 OpenMedEdu · ACCME akredite', hi: '© 2026 OpenMedEdu · ACCME मान्यता प्राप्त' },

  // — Content card —
  card_course: { en: 'Course', ka: 'კურსი', ru: 'Курс', tr: 'Kurs', hi: 'पाठ्यक्रम' },
  card_article: { en: 'Article', ka: 'სტატია', ru: 'Статья', tr: 'Makale', hi: 'लेख' },
  card_open: { en: 'Open →', ka: 'გახსნა →', ru: 'Открыть →', tr: 'Aç →', hi: 'खोलें →' },

  // — Subject chips —
  subj_all: { en: 'All', ka: 'ყველა', ru: 'Все', tr: 'Tümü', hi: 'सभी' },
  subj_cardio: { en: 'Cardiology', ka: 'კარდიოლოგია', ru: 'Кардиология', tr: 'Kardiyoloji', hi: 'हृदय रोग' },
  subj_im: { en: 'Internal Med', ka: 'შინაგანი მედიცინა', ru: 'Внутр. мед.', tr: 'Dahiliye', hi: 'आंतरिक चिकित्सा' },
  subj_em: { en: 'Emergency', ka: 'გადაუდებელი', ru: 'Неотложная', tr: 'Acil', hi: 'आपातकाल' },
  subj_peds: { en: 'Pediatrics', ka: 'პედიატრია', ru: 'Педиатрия', tr: 'Pediatri', hi: 'बाल चिकित्सा' },
  subj_psych: { en: 'Psychiatry', ka: 'ფსიქიატრია', ru: 'Психиатрия', tr: 'Psikiyatri', hi: 'मनोचिकित्सा' },
  subj_surg: { en: 'Surgery', ka: 'ქირურგია', ru: 'Хирургия', tr: 'Cerrahi', hi: 'शल्य चिकित्सा' },
  subj_onc: { en: 'Oncology', ka: 'ონკოლოგია', ru: 'Онкология', tr: 'Onkoloji', hi: 'कैंसर विज्ञान' },
  subj_neuro: { en: 'Neurology', ka: 'ნევროლოგია', ru: 'Неврология', tr: 'Nöroloji', hi: 'न्यूरोलॉजी' },
  subj_more: { en: '+ 47 more', ka: '+ კიდევ 47', ru: '+ ещё 47', tr: '+ 47 daha', hi: '+ 47 और' },

  // — Signup screen —
  signup_step: { en: 'Step 1 of 2 · account', ka: 'ნაბიჯი 1 / 2 · ანგარიში', ru: 'Шаг 1 из 2 · аккаунт', tr: 'Adım 1/2 · hesap', hi: 'चरण 1/2 · खाता' },
  signup_title: { en: 'Create your account.', ka: 'შექმენი ანგარიში.', ru: 'Создайте аккаунт.', tr: 'Hesabını oluştur.', hi: 'अपना खाता बनाएँ।' },
  signup_sub: { en: 'Free for students and residents · 14-day trial for practitioners.', ka: 'უფასო სტუდენტებისა და რეზიდენტებისთვის · 14-დღიანი ცდა პრაქტიკოსებისთვის.', ru: 'Бесплатно для студентов и ординаторов · 14-дневная проба для практикующих.', tr: 'Öğrenci ve asistanlar için ücretsiz · pratisyenler için 14 günlük deneme.', hi: 'छात्रों और रेजिडेंट्स के लिए मुफ़्त · चिकित्सकों के लिए 14-दिन का ट्रायल।' },
  signup_role: { en: 'I am a…', ka: 'მე ვარ…', ru: 'Я…', tr: 'Ben bir…', hi: 'मैं हूँ…' },
  role_student: { en: 'Student', ka: 'სტუდენტი', ru: 'Студент', tr: 'Öğrenci', hi: 'छात्र' },
  role_student_s: { en: 'medical / nursing', ka: 'სამედიცინო / საექთნო', ru: 'мед. / медсестринство', tr: 'tıp / hemşirelik', hi: 'चिकित्सा / नर्सिंग' },
  role_resident: { en: 'Resident / Fellow', ka: 'რეზიდენტი / ფელოუ', ru: 'Ординатор / Fellow', tr: 'Asistan / Fellow', hi: 'रेजिडेंट / फेलो' },
  role_resident_s: { en: 'in training', ka: 'სწავლის პერიოდში', ru: 'в обучении', tr: 'eğitimde', hi: 'प्रशिक्षण में' },
  role_practitioner: { en: 'Practitioner', ka: 'პრაქტიკოსი', ru: 'Практикующий', tr: 'Pratisyen', hi: 'चिकित्सक' },
  role_practitioner_s: { en: 'MD, DO, NP, PA', ka: 'MD, DO, NP, PA', ru: 'MD, DO, NP, PA', tr: 'MD, DO, NP, PA', hi: 'MD, DO, NP, PA' },
  role_nurse: { en: 'Nurse', ka: 'ექთანი', ru: 'Медсестра', tr: 'Hemşire', hi: 'नर्स' },
  role_nurse_s: { en: 'RN, LPN, APRN', ka: 'RN, LPN, APRN', ru: 'RN, LPN, APRN', tr: 'RN, LPN, APRN', hi: 'RN, LPN, APRN' },
  field_first_name: { en: 'First name', ka: 'სახელი', ru: 'Имя', tr: 'Ad', hi: 'पहला नाम' },
  field_last_name: { en: 'Last name', ka: 'გვარი', ru: 'Фамилия', tr: 'Soyad', hi: 'अंतिम नाम' },
  field_email: { en: 'Email', ka: 'ელფოსტა', ru: 'Email', tr: 'E-posta', hi: 'ईमेल' },
  edu_detected: { en: '↪ .edu detected — student discount auto-applied', ka: '↪ .edu აღმოჩენილია — სტუდენტური ფასდაკლება ავტომატურად მოქმედებს', ru: '↪ .edu обнаружен — студенческая скидка применена', tr: '↪ .edu algılandı — öğrenci indirimi otomatik uygulandı', hi: '↪ .edu पहचाना — छात्र छूट स्वतः लागू' },
  field_password: { en: 'Password', ka: 'პაროლი', ru: 'Пароль', tr: 'Şifre', hi: 'पासवर्ड' },
  field_year: { en: 'Year of study', ka: 'სწავლის წელი', ru: 'Год обучения', tr: 'Eğitim yılı', hi: 'अध्ययन वर्ष' },
  field_institution: { en: 'Institution', ka: 'დაწესებულება', ru: 'Учреждение', tr: 'Kurum', hi: 'संस्थान' },
  field_interests: { en: 'Interests · pick up to 5', ka: 'ინტერესები · აირჩიე 5-მდე', ru: 'Интересы · до 5', tr: 'İlgi alanları · 5’e kadar', hi: 'रुचियाँ · 5 तक चुनें' },
  agree_terms: { en: 'I agree to the Terms, Privacy Policy, and the editorial conflict-of-interest policy.', ka: 'ვეთანხმები პირობებს, კონფიდენციალურობის პოლიტიკას და სარედაქციო ინტერესთა კონფლიქტის პოლიტიკას.', ru: 'Я согласен с Условиями, Политикой конфиденциальности и редакционной политикой конфликта интересов.', tr: 'Şartları, Gizlilik Politikasını ve yayın kurulu çıkar çatışması politikasını kabul ediyorum.', hi: 'मैं शर्तें, गोपनीयता नीति और संपादकीय हितों की टकराव नीति से सहमत हूँ।' },
  create_account: { en: 'Create account →', ka: 'ანგარიშის შექმნა →', ru: 'Создать аккаунт →', tr: 'Hesap oluştur →', hi: 'खाता बनाएँ →' },
  continue_google: { en: 'Continue with Google', ka: 'Google-ით გაგრძელება', ru: 'Продолжить с Google', tr: 'Google ile devam', hi: 'Google के साथ जारी रखें' },
  continue_orcid: { en: 'Continue with ORCID', ka: 'ORCID-ით გაგრძელება', ru: 'Продолжить с ORCID', tr: 'ORCID ile devam', hi: 'ORCID के साथ जारी रखें' },
  already_member: { en: 'Already a member?', ka: 'უკვე წევრი ხარ?', ru: 'Уже участник?', tr: 'Zaten üye misin?', hi: 'पहले से सदस्य हैं?' },
  log_in: { en: 'Log in →', ka: 'შესვლა →', ru: 'Войти →', tr: 'Giriş →', hi: 'लॉगिन →' },
  signup_value_h: { en: 'Built for the people', ka: 'შექმნილია მათთვის,', ru: 'Создано для тех,', tr: 'Hâlâ eğitimde', hi: 'उन लोगों के लिए' },
  signup_value_h2: { en: 'still in training.', ka: 'ვინც ჯერ კიდევ ისწავლის.', ru: 'кто ещё учится.', tr: 'olanlar için.', hi: 'जो अभी प्रशिक्षण में हैं।' },
  signup_value_sub: { en: 'Students and residents get full library access at no cost — verified through your institution’s email. CME credits ride along once you’re licensed.', ka: 'სტუდენტები და რეზიდენტები ბიბლიოთეკის სრულ წვდომას იღებენ უფასოდ — დადასტურდება დაწესებულების ფოსტით. CME კრედიტები ავტომატურად ერთვება ლიცენზიის მიღების შემდეგ.', ru: 'Студенты и ординаторы получают полный доступ бесплатно — верификация через email учреждения. CME-кредиты подключатся после получения лицензии.', tr: 'Öğrenciler ve asistanlar ücretsiz tam erişim alır — kurum e-postası ile doğrulanır. CME kredileri lisans alındığında devreye girer.', hi: 'छात्र और रेजिडेंट को मुफ़्त पूर्ण लाइब्रेरी एक्सेस मिलता है — संस्थान के ईमेल से सत्यापित। लाइसेंस मिलने पर CME क्रेडिट जुड़ जाएँगे।' },
  trusted_by: { en: 'Trusted by', ka: 'გვენდობიან', ru: 'Нам доверяют', tr: 'Bize güveniyor', hi: 'विश्वास करते हैं' },
  trusted_count: { en: '14,200+ students and residents · 280 programs · accredited by ACCME, AANP, ANCC.', ka: '14,200+ სტუდენტი და რეზიდენტი · 280 პროგრამა · აკრედიტებული ACCME, AANP, ANCC-ის მიერ.', ru: '14 200+ студентов и ординаторов · 280 программ · аккредитация ACCME, AANP, ANCC.', tr: '14.200+ öğrenci ve asistan · 280 program · ACCME, AANP, ANCC tarafından akredite.', hi: '14,200+ छात्र और रेजिडेंट · 280 कार्यक्रम · ACCME, AANP, ANCC द्वारा मान्यता प्राप्त।' },
  signup_feat1_h: { en: 'Free for verified .edu', ka: 'უფასო დადასტურებული .edu-სთვის', ru: 'Бесплатно для верифицированного .edu', tr: 'Doğrulanmış .edu için ücretsiz', hi: 'सत्यापित .edu के लिए मुफ़्त' },
  signup_feat1_s: { en: 'Full catalogue · auto-verified at signup.', ka: 'სრული კატალოგი · ავტომატური ვერიფიკაცია რეგისტრაციისას.', ru: 'Полный каталог · автоматическая верификация при регистрации.', tr: 'Tam katalog · kayıt sırasında otomatik doğrulanır.', hi: 'पूर्ण कैटलॉग · पंजीकरण पर स्वतः सत्यापित।' },
  signup_feat2_h: { en: 'Pick up where you left off', ka: 'გააგრძელე იქიდან, სადაც დარჩი', ru: 'Продолжайте с того места, где остановились', tr: 'Kaldığın yerden devam et', hi: 'जहाँ छोड़ा वहाँ से शुरू करें' },
  signup_feat2_s: { en: 'Bookmarks sync across web & mobile.', ka: 'სანიშნეები სინქრონიზდება ვებსა და მობილურს შორის.', ru: 'Закладки синхронизируются между вебом и мобильным.', tr: 'Yer imleri web ve mobil arasında senkronize olur.', hi: 'बुकमार्क वेब और मोबाइल के बीच सिंक होते हैं।' },
  signup_feat3_h: { en: 'A study path for boards', ka: 'საბორდო გამოცდის სასწავლო გზა', ru: 'Учебный план для экзаменов', tr: 'Sınavlar için çalışma yolu', hi: 'बोर्ड के लिए अध्ययन पथ' },
  signup_feat3_s: { en: 'USMLE Step 1/2/3, NCLEX, board-review tracks.', ka: 'USMLE Step 1/2/3, NCLEX, საბორდო მიმოხილვის ტრეკები.', ru: 'USMLE Step 1/2/3, NCLEX, треки подготовки.', tr: 'USMLE Step 1/2/3, NCLEX, sınav inceleme rotaları.', hi: 'USMLE Step 1/2/3, NCLEX, बोर्ड-समीक्षा ट्रैक।' },
  signup_feat4_h: { en: 'Convert to CME on licensure', ka: 'ლიცენზიის მიღების შემდეგ კონვერტირდება CME-ად', ru: 'Конвертируется в CME при лицензировании', tr: 'Lisans alındığında CME’ye dönüşür', hi: 'लाइसेंस मिलने पर CME में परिवर्तित होता है' },
  signup_feat4_s: { en: 'Your history follows you into practice.', ka: 'შენი ისტორია გადადის პრაქტიკაში.', ru: 'История переносится в практику.', tr: 'Geçmişin pratik hayatına taşınır.', hi: 'आपका इतिहास अभ्यास में आगे आता है।' },

  // — Dashboard —
  dash_today: { en: 'Tuesday · May 12 · MS-2 · Stanford', ka: 'სამშაბათი · 12 მაისი · MS-2 · სტენფორდი', ru: 'Вторник · 12 мая · MS-2 · Стэнфорд', tr: 'Salı · 12 Mayıs · MS-2 · Stanford', hi: 'मंगलवार · 12 मई · MS-2 · स्टैनफोर्ड' },
  dash_welcome: { en: 'Welcome back, Maya.', ka: 'მოგესალმებით, მაია.', ru: 'С возвращением, Майя.', tr: 'Tekrar hoş geldin, Maya.', hi: 'वापसी पर स्वागत है, माया।' },
  dash_streak: { en: 'You’re on a 12-day streak. 2 modules due this week.', ka: '12-დღიანი სერია გრძელდება. ამ კვირაში 2 მოდული გასაკეთებელია.', ru: 'У вас серия 12 дней. На этой неделе 2 модуля.', tr: '12 günlük seri devam ediyor. Bu hafta 2 modül var.', hi: '12-दिन की लय जारी है। इस सप्ताह 2 मॉड्यूल बाकी।' },
  dash_continue_last: { en: 'Continue last session →', ka: 'ბოლო სესიის გაგრძელება →', ru: 'Продолжить последнюю сессию →', tr: 'Son oturuma devam →', hi: 'पिछला सत्र जारी रखें →' },
  dash_this_week: { en: 'This week', ka: 'ეს კვირა', ru: 'На этой неделе', tr: 'Bu hafta', hi: 'इस सप्ताह' },
  dash_week_sub: { en: '3 sessions · 2 articles · 1 course', ka: '3 სესია · 2 სტატია · 1 კურსი', ru: '3 сессии · 2 статьи · 1 курс', tr: '3 oturum · 2 makale · 1 kurs', hi: '3 सत्र · 2 लेख · 1 पाठ्यक्रम' },
  dash_board: { en: 'Board prep', ka: 'საბორდო მზადება', ru: 'Подготовка к экзаменам', tr: 'Sınav hazırlığı', hi: 'बोर्ड तैयारी' },
  dash_board_in: { en: 'USMLE Step 1 · in 187 days', ka: 'USMLE Step 1 · 187 დღეში', ru: 'USMLE Step 1 · через 187 дней', tr: 'USMLE Step 1 · 187 gün sonra', hi: 'USMLE Step 1 · 187 दिन में' },
  dash_board_pct: { en: '38% of suggested syllabus complete', ka: 'რეკომენდებული სილაბუსის 38% დასრულდა', ru: '38% рекомендованной программы пройдено', tr: 'Önerilen müfredatın %38’i tamam', hi: 'सुझाए गए पाठ्यक्रम का 38% पूर्ण' },
  dash_open_plan: { en: 'Open study plan →', ka: 'სასწავლო გეგმის გახსნა →', ru: 'Открыть план →', tr: 'Çalışma planını aç →', hi: 'अध्ययन योजना खोलें →' },
  dash_continue_learning: { en: 'Continue learning', ka: 'სწავლის გაგრძელება', ru: 'Продолжить обучение', tr: 'Öğrenmeye devam', hi: 'सीखना जारी रखें' },
  dash_where_left: { en: 'Where you left off', ka: 'სად შეჩერდი', ru: 'Где остановились', tr: 'Kaldığın yer', hi: 'जहाँ छोड़ा था' },
  dash_view_all: { en: 'View all →', ka: 'ყველას ნახვა →', ru: 'Смотреть все →', tr: 'Tümünü gör →', hi: 'सभी देखें →' },
  dash_bookmarks: { en: 'Bookmarks · 18', ka: 'სანიშნეები · 18', ru: 'Закладки · 18', tr: 'Yer imleri · 18', hi: 'बुकमार्क · 18' },
  dash_saved_later: { en: 'Saved for later', ka: 'შენახული მოგვიანებისთვის', ru: 'Сохранено на потом', tr: 'Sonra için kaydedildi', hi: 'बाद के लिए सहेजा' },
  dash_manage: { en: 'Manage →', ka: 'მართვა →', ru: 'Управление →', tr: 'Yönet →', hi: 'प्रबंधित →' },
  dash_recommended: { en: 'Recommended', ka: 'რეკომენდირებული', ru: 'Рекомендуется', tr: 'Önerilen', hi: 'अनुशंसित' },
  dash_because: { en: 'Because of your interests', ka: 'შენი ინტერესების მიხედვით', ru: 'На основе ваших интересов', tr: 'İlgi alanlarınıza göre', hi: 'आपकी रुचियों के आधार पर' },
  dash_tune: { en: 'Tune →', ka: 'მორგება →', ru: 'Настроить →', tr: 'Ayarla →', hi: 'समायोजित →' },
  dash_activity: { en: 'Activity', ka: 'აქტივობა', ru: 'Активность', tr: 'Etkinlik', hi: 'गतिविधि' },
  dash_last_7: { en: 'Your last 7 days', ka: 'ბოლო 7 დღე', ru: 'Последние 7 дней', tr: 'Son 7 günün', hi: 'पिछले 7 दिन' },

  // — Catalogue/Article screens —
  cat_breadcrumb_specs: { en: 'Specialties', ka: 'სპეციალობები', ru: 'Специальности', tr: 'Uzmanlıklar', hi: 'विशेषज्ञताएँ' },
  cat_subspec_tag: { en: 'Cardiology · sub-specialty', ka: 'კარდიოლოგია · ქვესპეციალობა', ru: 'Кардиология · подспециальность', tr: 'Kardiyoloji · alt uzmanlık', hi: 'हृदय रोग · उप-विशेषज्ञता' },
  cat_hf_title: { en: 'Heart Failure', ka: 'გულის უკმარისობა', ru: 'Сердечная недостаточность', tr: 'Kalp Yetmezliği', hi: 'हृदय विफलता' },
  cat_hf_sub: { en: 'GDMT, device therapy, advanced HF, palliative integration. Aligned with ACC/AHA 2025 and ESC 2026 guidelines. Editor: Dr. P. Reyes, MD.', ka: 'GDMT, მოწყობილობითი თერაპია, მძიმე HF, პალიატიური ინტეგრაცია. შესაბამისობაშია ACC/AHA 2025 და ESC 2026 გაიდლაინებთან. რედაქტორი: დოქტ. პ. რეიესი, MD.', ru: 'GDMT, устройства, тяжёлая ХСН, паллиативная интеграция. Соответствует гайдлайнам ACC/AHA 2025 и ESC 2026. Редактор: д-р П. Рейес, MD.', tr: 'GDMT, cihaz tedavisi, ileri KY, palyatif entegrasyon. ACC/AHA 2025 ve ESC 2026 ile uyumlu. Editör: Dr. P. Reyes, MD.', hi: 'GDMT, डिवाइस थेरेपी, उन्नत HF, पैलिएटिव एकीकरण। ACC/AHA 2025 और ESC 2026 दिशानिर्देशों के अनुरूप। संपादक: डॉ. पी. रेयेस, MD।' },
  cat_metric_courses: { en: 'Courses', ka: 'კურსები', ru: 'Курсы', tr: 'Kurslar', hi: 'पाठ्यक्रम' },
  cat_metric_articles: { en: 'Articles', ka: 'სტატიები', ru: 'Статьи', tr: 'Makaleler', hi: 'लेख' },
  cat_metric_guides: { en: 'Guidelines', ka: 'გაიდლაინები', ru: 'Гайдлайны', tr: 'Kılavuzlar', hi: 'दिशानिर्देश' },
  cat_metric_cme: { en: 'CME hrs', ka: 'CME სთ', ru: 'CME ч', tr: 'CME sa', hi: 'CME घंटे' },
  cat_filter_format: { en: 'Format', ka: 'ფორმატი', ru: 'Формат', tr: 'Biçim', hi: 'प्रारूप' },
  cat_filter_difficulty: { en: 'Difficulty', ka: 'სირთულე', ru: 'Сложность', tr: 'Zorluk', hi: 'कठिनाई' },
  cat_filter_duration: { en: 'Duration', ka: 'ხანგრძლივობა', ru: 'Длительность', tr: 'Süre', hi: 'अवधि' },
  cat_filter_credits: { en: 'CME credits', ka: 'CME კრედიტები', ru: 'CME кредиты', tr: 'CME kredileri', hi: 'CME क्रेडिट' },
  cat_filter_subspec: { en: 'Sub-specialty', ka: 'ქვესპეციალობა', ru: 'Подспециальность', tr: 'Alt uzmanlık', hi: 'उप-विशेषज्ञता' },
  cat_reset: { en: 'Reset filters', ka: 'ფილტრების გასუფთავება', ru: 'Сбросить фильтры', tr: 'Filtreleri sıfırla', hi: 'फ़िल्टर रीसेट' },
  cat_showing: { en: 'Showing 1–10 of 192', ka: 'ნაჩვენებია 1–10 / 192', ru: 'Показано 1–10 из 192', tr: '1–10 / 192 gösteriliyor', hi: '192 में से 1–10 दिखा रहे' },
  cat_sort: { en: 'Sort:', ka: 'დახარისხება:', ru: 'Сортировка:', tr: 'Sırala:', hi: 'क्रमबद्ध:' },
  cat_sort_newest: { en: 'Newest', ka: 'ახალი', ru: 'Новые', tr: 'En yeni', hi: 'नवीनतम' },
  cat_sort_read: { en: 'Most read', ka: 'წაკითხული', ru: 'Популярные', tr: 'En çok okunan', hi: 'सर्वाधिक पठित' },
  cat_sort_credits: { en: 'Highest credits', ka: 'მაღალი კრედიტი', ru: 'Больше кредитов', tr: 'En çok kredi', hi: 'सर्वाधिक क्रेडिट' },
  cat_sort_az: { en: 'A–Z', ka: 'ა–ჰ', ru: 'А–Я', tr: 'A–Z', hi: 'अ–ज्ञ' },
  cat_page: { en: 'Page 1 / 20', ka: 'გვერდი 1 / 20', ru: 'Стр. 1 / 20', tr: 'Sayfa 1 / 20', hi: 'पृष्ठ 1 / 20' },

  // — Article screen —
  art_breadcrumb: { en: 'Articles · Cardiology · Heart Failure', ka: 'სტატიები · კარდიოლოგია · გულის უკმარისობა', ru: 'Статьи · Кардиология · Сердечная недостаточность', tr: 'Makaleler · Kardiyoloji · Kalp Yetmezliği', hi: 'लेख · हृदय रोग · हृदय विफलता' },
  art_longread: { en: 'Long read', ka: 'გრძელი ნაკითხი', ru: 'Длинная статья', tr: 'Uzun okuma', hi: 'लंबा पठन' },
  art_peer: { en: 'Peer reviewed', ka: 'რეცენზირებული', ru: 'Рецензировано', tr: 'Hakemli', hi: 'सहकर्मी-समीक्षित' },
  art_cme: { en: 'CME · 1.5 hrs', ka: 'CME · 1.5 სთ', ru: 'CME · 1,5 ч', tr: 'CME · 1,5 sa', hi: 'CME · 1.5 घंटे' },
  art_title_a: { en: 'HFpEF in the clinic:', ka: 'HFpEF კლინიკაში:', ru: 'HFpEF в клинике:', tr: 'Klinikte HFpEF:', hi: 'क्लिनिक में HFpEF:' },
  art_title_b: { en: 'phenotypes', ka: 'ფენოტიპები', ru: 'фенотипы', tr: 'fenotipler', hi: 'फेनोटाइप' },
  art_title_c: { en: 'and pathways.', ka: 'და მართვის გზები.', ru: 'и пути ведения.', tr: 've yollar.', hi: 'और रास्ते।' },
  art_subtitle: { en: 'The diagnosis is easier than the management. A pragmatic, phenotype-first approach to heart failure with preserved ejection fraction, written for the generalist.', ka: 'დიაგნოზის დასმა უფრო მარტივია, ვიდრე მართვა. პრაგმატული, ფენოტიპებზე დაფუძნებული მიდგომა HFpEF-ისადმი — ზოგადი პროფილის ექიმისთვის.', ru: 'Поставить диагноз проще, чем вести. Прагматичный, фенотип-первый подход к HFpEF — для врача общей практики.', tr: 'Tanı, yönetimden daha kolaydır. HFpEF’e pragmatik, fenotip öncelikli yaklaşım — pratisyen için.', hi: 'निदान प्रबंधन से आसान है। HFpEF के लिए व्यावहारिक, फेनोटाइप-प्रथम दृष्टिकोण — सामान्य चिकित्सक के लिए।' },
  art_published: { en: 'Editor, Cardiology · published May 8, 2026 · 14 min read', ka: 'რედაქტორი, კარდიოლოგია · გამოქვეყნდა 8 მაისს 2026 · 14 წთ ნაკითხი', ru: 'Редактор, Кардиология · опубл. 8 мая 2026 · 14 мин', tr: 'Editör, Kardiyoloji · 8 Mayıs 2026 · 14 dk', hi: 'संपादक, हृदय रोग · 8 मई 2026 · 14 मिनट' },
  art_save: { en: '★ Save', ka: '★ შენახვა', ru: '★ Сохранить', tr: '★ Kaydet', hi: '★ सहेजें' },
  art_share: { en: '↗ Share', ka: '↗ გაზიარება', ru: '↗ Поделиться', tr: '↗ Paylaş', hi: '↗ साझा करें' },
  art_pdf: { en: '↓ PDF', ka: '↓ PDF', ru: '↓ PDF', tr: '↓ PDF', hi: '↓ PDF' },
  art_in_article: { en: 'In this article', ka: 'ამ სტატიაში', ru: 'В этой статье', tr: 'Bu makalede', hi: 'इस लेख में' },
  art_cme_note: { en: 'Pass the 6-question quiz at the end to claim 1.5 AMA PRA Cat 1™.', ka: 'ბოლოს 6-კითხვიანი ქვიზის ჩაბარების შემდეგ მიიღე 1.5 AMA PRA Cat 1™.', ru: 'Сдайте тест из 6 вопросов в конце, чтобы получить 1,5 AMA PRA Cat 1™.', tr: 'Sondaki 6 soruluk testi geçerek 1,5 AMA PRA Cat 1™ kazan.', hi: 'अंत में 6-प्रश्न क्विज़ पास करके 1.5 AMA PRA Cat 1™ प्राप्त करें।' },
  art_paywall_stamp: { en: 'You’ve read your free preview', ka: 'შენ წაიკითხე უფასო გადახედვა', ru: 'Вы прочитали бесплатный фрагмент', tr: 'Ücretsiz ön izlemeyi okudun', hi: 'आपने मुफ़्त पूर्वावलोकन पढ़ लिया' },
  art_paywall_h: { en: 'Keep reading and claim your', ka: 'გააგრძელე კითხვა და მიიღე', ru: 'Продолжайте чтение и получите', tr: 'Okumaya devam et ve al', hi: 'पढ़ते रहें और प्राप्त करें' },
  art_paywall_credits: { en: '1.5 CME credits.', ka: '1.5 CME კრედიტი.', ru: '1,5 CME кредита.', tr: '1,5 CME kredisi.', hi: '1.5 CME क्रेडिट।' },
  art_paywall_sub: { en: 'The rest of this article — imaging, GDMT in HFpEF, when to refer, and the patient-counseling scripts — is part of the practitioner membership. Free for verified students & residents.', ka: 'სტატიის დარჩენილი ნაწილი — გამოსახულება, GDMT HFpEF-ში, როდის გავაგზავნოთ კონსულტაციაზე და პაციენტთან საუბრის ფრაზები — შედის პრაქტიკოსის წევრობაში. უფასოა დადასტურებული სტუდენტებისა და რეზიდენტებისთვის.', ru: 'Остальная часть статьи — визуализация, GDMT при HFpEF, когда направлять и скрипты беседы с пациентом — в подписке практикующего. Бесплатно для верифицированных студентов и ординаторов.', tr: 'Makalenin geri kalanı — görüntüleme, HFpEF’te GDMT, ne zaman sevk ve hasta görüşme metinleri — pratisyen üyeliğindedir. Doğrulanmış öğrenci ve asistanlara ücretsiz.', hi: 'इस लेख का शेष — इमेजिंग, HFpEF में GDMT, कब रेफर करें, और रोगी परामर्श स्क्रिप्ट — चिकित्सक सदस्यता में है। सत्यापित छात्रों और रेजिडेंट के लिए मुफ़्त।' },
  start_trial_short: { en: 'Start trial', ka: 'ცდის დაწყება', ru: 'Начать пробу', tr: 'Denemeyi başlat', hi: 'ट्रायल शुरू करें' },
  verify_school: { en: 'Verify your school', ka: 'სკოლის დადასტურება', ru: 'Подтвердить школу', tr: 'Okulunu doğrula', hi: 'अपना स्कूल सत्यापित करें' },
  single_purchase: { en: 'Single-article purchase · ₾6', ka: 'ერთი სტატიის შეძენა · ₾6', ru: 'Покупка одной статьи · ₾6', tr: 'Tek makale satın al · ₾6', hi: 'एकल-लेख खरीद · ₾6' },
  members_lock: { en: '🔒 members', ka: '🔒 წევრები', ru: '🔒 для участников', tr: '🔒 üyeler', hi: '🔒 सदस्य' },
  related_section: { en: 'Continue down this path', ka: 'გააგრძელე ამ მიმართულებით', ru: 'Продолжайте в этом направлении', tr: 'Bu yoldan devam et', hi: 'इस मार्ग पर जारी रखें' },
  related_more: { en: 'More in HF →', ka: 'მეტი HF-ში →', ru: 'Ещё в HF →', tr: 'KY’de daha fazlası →', hi: 'HF में और →' },
  related_tag: { en: 'Related', ka: 'მსგავსი', ru: 'Связанное', tr: 'İlgili', hi: 'संबंधित' },

  // — Time / read units —
  min_read: { en: 'min read', ka: 'წთ ნაკითხი', ru: 'мин чтения', tr: 'dk okuma', hi: 'मिनट पठन' },
};

// — Sample content (localized) —
// Each entry has a key; the actual title/excerpt is looked up per-language.
const SAMPLE_COURSE_DATA = {
  hf2026: {
    subj_key: 'subj_cardio',
    title: {
      en: 'Updates in Heart Failure Management 2026',
      ka: 'გულის უკმარისობის მართვის სიახლეები 2026',
      ru: 'Обновления в ведении сердечной недостаточности 2026',
      tr: 'Kalp Yetmezliği Yönetiminde Güncellemeler 2026',
      hi: 'हृदय विफलता प्रबंधन में अद्यतन 2026',
    },
    excerpt: {
      en: 'Latest guidelines on GDMT, SGLT2 inhibitors, and device therapy with clinical decision pathways.',
      ka: 'უახლესი გაიდლაინები GDMT-ზე, SGLT2 ინჰიბიტორებზე და მოწყობილობით თერაპიაზე კლინიკური გადაწყვეტილების ალგორითმებით.',
      ru: 'Свежие гайдлайны по GDMT, ингибиторам SGLT2 и устройствам с клиническими алгоритмами.',
      tr: 'GDMT, SGLT2 inhibitörleri ve cihaz tedavisi için en güncel kılavuzlar ve klinik karar yolları.',
      hi: 'GDMT, SGLT2 अवरोधक और डिवाइस थेरेपी पर नवीनतम दिशानिर्देश व निर्णय पथ।',
    },
    time: '4h 20m',
    credits: '4.0 AMA PRA',
  },
  dm2: {
    subj_key: 'subj_endo',
    title: {
      en: 'Type 2 Diabetes: Beyond Metformin',
      ka: 'მე-2 ტიპის დიაბეტი: მეტფორმინის შემდეგ',
      ru: 'Диабет 2 типа: после метформина',
      tr: 'Tip 2 Diyabet: Metforminin Ötesinde',
      hi: 'टाइप 2 मधुमेह: मेटफॉर्मिन के परे',
    },
    excerpt: {
      en: 'A structured approach to second- and third-line agents, weight-centric care, and CV risk reduction.',
      ka: 'სტრუქტურირებული მიდგომა მეორე- და მესამე-რიგის პრეპარატებზე, წონის ცენტრირებულ მკურნალობასა და CV რისკის შემცირებაზე.',
      ru: 'Структурированный подход ко второй и третьей линии терапии, лечению с фокусом на вес и снижению ССР.',
      tr: 'İkinci ve üçüncü basamak ilaçlara, kilo merkezli bakıma ve KV risk azaltmaya yapılandırılmış yaklaşım.',
      hi: 'दूसरी और तीसरी-पंक्ति की दवाओं, वज़न-केंद्रित देखभाल और CV जोखिम कमी पर संरचित दृष्टिकोण।',
    },
    time: '2h 50m',
    credits: '3.0 AMA PRA',
  },
  amr: {
    subj_key: 'subj_id',
    title: {
      en: 'Antimicrobial Stewardship in 2026',
      ka: 'ანტიმიკრობული მართვა 2026 წელს',
      ru: 'Управление антимикробной терапией в 2026',
      tr: '2026’da Antimikrobiyal Yönetim',
      hi: '2026 में रोगाणुरोधी प्रबंधन',
    },
    excerpt: {
      en: 'Practical de-escalation strategies, resistance trends, and stewardship metrics for the inpatient setting.',
      ka: 'პრაქტიკული დე-ესკალაციის სტრატეგიები, რეზისტენტობის ტენდენციები და სტიუარდშიპის მეტრიკები სტაციონარისთვის.',
      ru: 'Практические стратегии де-эскалации, тренды резистентности и метрики стюардшипа в стационаре.',
      tr: 'Yatan hasta için pratik de-eskalasyon stratejileri, direnç trendleri ve yönetim metrikleri.',
      hi: 'अंतर्रोगी सेटिंग के लिए डी-एस्केलेशन रणनीतियाँ, प्रतिरोध रुझान और प्रबंधन मेट्रिक्स।',
    },
    time: '3h 10m',
    credits: '3.0 AMA PRA',
  },
  stroke: {
    subj_key: 'subj_em',
    title: {
      en: 'Acute Stroke: Door-to-Needle in 30',
      ka: 'მწვავე ინსულტი: კარიდან ნემსამდე 30 წუთში',
      ru: 'Острый инсульт: от двери до иглы за 30 мин',
      tr: 'Akut İnme: Kapıdan İğneye 30’da',
      hi: 'तीव्र स्ट्रोक: द्वार-से-सुई 30 में',
    },
    excerpt: {
      en: 'Workflow optimization, imaging triage, and thrombolytic selection in the ED.',
      ka: 'სამუშაო პროცესის ოპტიმიზაცია, გამოსახულების ტრიაჟი და თრომბოლიზურის შერჩევა გადაუდებელ განყოფილებაში.',
      ru: 'Оптимизация процесса, триаж визуализации и выбор тромболитика в отделении неотложной помощи.',
      tr: 'Acil serviste iş akışı optimizasyonu, görüntüleme triyajı ve trombolitik seçimi.',
      hi: 'ED में वर्कफ़्लो अनुकूलन, इमेजिंग ट्राइएज और थ्रोम्बोलाइटिक चयन।',
    },
    time: '1h 45m',
    credits: '1.5 AMA PRA',
  },
};

const SAMPLE_ARTICLE_DATA = {
  alz: {
    subj_key: 'subj_neuro',
    title: {
      en: 'Disease-Modifying Therapies for Early Alzheimer’s: What Primary Care Needs to Know',
      ka: 'ადრეული ალცჰაიმერის დაავადება-მოდიფიცირებელი თერაპიები: რა უნდა იცოდეს პირველადი ჯანდაცვის ექიმმა',
      ru: 'Болезнь-модифицирующая терапия раннего Альцгеймера: что нужно знать первичному звену',
      tr: 'Erken Alzheimer’da Hastalık Modifiye Edici Tedaviler: Birinci Basamağın Bilmesi Gerekenler',
      hi: 'प्रारंभिक अल्ज़ाइमर के रोग-संशोधक उपचार: प्राथमिक देखभाल को क्या जानना चाहिए',
    },
    excerpt: {
      en: 'Patient selection, MRI surveillance for ARIA, and shared decision making in disease-modifying therapy.',
      ka: 'პაციენტის შერჩევა, MRI მონიტორინგი ARIA-ზე და ერთობლივი გადაწყვეტილების მიღება.',
      ru: 'Отбор пациентов, МРТ-мониторинг ARIA и совместное принятие решений.',
      tr: 'Hasta seçimi, ARIA için MR takibi ve ortak karar verme.',
      hi: 'रोगी चयन, ARIA के लिए MRI निगरानी, और साझा निर्णय।',
    },
    time: { en: '12 min read', ka: '12 წთ ნაკითხი', ru: '12 мин чтения', tr: '12 dk okuma', hi: '12 मिनट पठन' },
  },
  htn: {
    subj_key: 'subj_ph',
    title: {
      en: 'Reading the New Hypertension Guidelines Critically',
      ka: 'ჰიპერტენზიის ახალი გაიდლაინების კრიტიკული წაკითხვა',
      ru: 'Критическое чтение новых гайдлайнов по гипертензии',
      tr: 'Yeni Hipertansiyon Kılavuzlarını Eleştirel Okumak',
      hi: 'नई हाइपरटेंशन दिशानिर्देशों का आलोचनात्मक पठन',
    },
    excerpt: {
      en: 'How thresholds were chosen, where the evidence is soft, and what changes — or doesn’t — at the bedside.',
      ka: 'როგორ შეირჩა ზღურბლები, სად არის მტკიცებულება სუსტი და რა იცვლება — ან არ იცვლება — საწოლთან.',
      ru: 'Как выбраны пороги, где доказательства слабы и что меняется (или нет) у постели больного.',
      tr: 'Eşikler nasıl seçildi, kanıtların zayıf olduğu yerler ve hasta başında ne değişir — ya da değişmez.',
      hi: 'सीमाएँ कैसे चुनी गईं, साक्ष्य कहाँ कमज़ोर हैं, और बेडसाइड पर क्या बदलता है — या नहीं।',
    },
    time: { en: '9 min read', ka: '9 წთ ნაკითხი', ru: '9 мин чтения', tr: '9 dk okuma', hi: '9 मिनट पठन' },
  },
  rsv: {
    subj_key: 'subj_peds',
    title: {
      en: 'RSV Prevention in the Under-Twos: A Practical Guide',
      ka: 'RSV-ის პრევენცია 2-წლამდე ბავშვებში: პრაქტიკული გზამკვლევი',
      ru: 'Профилактика РСВ у детей до 2 лет: практическое руководство',
      tr: '2 Yaş Altında RSV Önleme: Pratik Rehber',
      hi: 'दो साल से कम बच्चों में RSV रोकथाम: एक व्यावहारिक मार्गदर्शिका',
    },
    excerpt: {
      en: 'Nirsevimab, maternal vaccination, eligibility, timing, and counseling families.',
      ka: 'ნირსევიმაბი, დედის ვაქცინაცია, შესაბამისობა, დროება და ოჯახთან საუბარი.',
      ru: 'Нирсевимаб, материнская вакцинация, критерии, сроки и консультирование семей.',
      tr: 'Nirsevimab, anneye aşı, uygunluk, zamanlama ve aile danışmanlığı.',
      hi: 'निरसेविमैब, माता टीकाकरण, पात्रता, समय और परिवार परामर्श।',
    },
    time: { en: '7 min read', ka: '7 წთ ნაკითხი', ru: '7 мин чтения', tr: '7 dk okuma', hi: '7 मिनट पठन' },
  },
  ket: {
    subj_key: 'subj_psych',
    title: {
      en: 'Ketamine for Treatment-Resistant Depression: 2026 State of the Art',
      ka: 'კეტამინი მკურნალობისადმი მდგრადი დეპრესიის დროს: 2026 წლის მდგომარეობა',
      ru: 'Кетамин при резистентной депрессии: состояние на 2026',
      tr: 'Tedaviye Dirençli Depresyonda Ketamin: 2026',
      hi: 'उपचार-प्रतिरोधी अवसाद के लिए केटामाइन: 2026',
    },
    excerpt: {
      en: 'Indications, monitoring, abuse-liability, and where esketamine fits in stepped care.',
      ka: 'ჩვენებები, მონიტორინგი, ბოროტად გამოყენების რისკი და ესკეტამინის ადგილი ეტაპობრივ მკურნალობაში.',
      ru: 'Показания, мониторинг, риск злоупотребления и место эскетамина в ступенчатой терапии.',
      tr: 'Endikasyonlar, izlem, kötüye kullanım riski ve esketaminin basamaklı bakımdaki yeri.',
      hi: 'संकेत, निगरानी, दुरुपयोग जोखिम और चरणबद्ध देखभाल में एसकेटामाइन।',
    },
    time: { en: '14 min read', ka: '14 წთ ნაკითხი', ru: '14 мин чтения', tr: '14 dk okuma', hi: '14 मिनट पठन' },
  },
  aki: {
    subj_key: 'subj_nephro',
    title: {
      en: 'AKI in the Hospitalized Patient: From Bedside to Biomarker',
      ka: 'AKI ჰოსპიტალიზებულ პაციენტში: საწოლიდან ბიომარკერამდე',
      ru: 'ОПП у госпитализированного пациента: от постели до биомаркера',
      tr: 'Hastanede Yatan Hastada AKI: Hasta Başından Biyobelirteçe',
      hi: 'अस्पताल में भर्ती रोगी में AKI: बेडसाइड से बायोमार्कर तक',
    },
    excerpt: {
      en: 'Etiologic frameworks, fluid management, and when to escalate.',
      ka: 'ეტიოლოგიური ჩარჩოები, სითხის მართვა და როდის გადავიდეთ ესკალაციაზე.',
      ru: 'Этиологические рамки, инфузионная терапия и эскалация.',
      tr: 'Etiyolojik çerçeveler, sıvı yönetimi ve ne zaman yükseltmeli.',
      hi: 'एटिओलॉजिकल ढाँचे, द्रव प्रबंधन और कब बढ़ाएँ।',
    },
    time: { en: '11 min read', ka: '11 წთ ნაკითხი', ru: '11 мин чтения', tr: '11 dk okuma', hi: '11 मिनट पठन' },
  },
  sepsis: {
    subj_key: 'subj_nursing',
    title: {
      en: 'Recognizing Sepsis Early: A Bedside Toolkit',
      ka: 'სეფსისის ადრე ამოცნობა: საწოლის ხელსაწყოები',
      ru: 'Раннее распознавание сепсиса: набор у постели',
      tr: 'Sepsisi Erken Tanıma: Hasta Başı Araç Kiti',
      hi: 'सेप्सिस की प्रारंभिक पहचान: एक बेडसाइड टूलकिट',
    },
    excerpt: {
      en: 'Vital-sign patterns, qSOFA limits, and communication scripts for the rapid response.',
      ka: 'ვიტალური ნიშნების შაბლონები, qSOFA-ის შეზღუდვები და კომუნიკაციის ფრაზები სწრაფი რეაგირებისთვის.',
      ru: 'Паттерны витальных показателей, ограничения qSOFA и скрипты для быстрого реагирования.',
      tr: 'Yaşamsal bulgu örüntüleri, qSOFA sınırları ve hızlı yanıt için iletişim metinleri.',
      hi: 'महत्वपूर्ण-संकेत पैटर्न, qSOFA सीमाएँ और त्वरित प्रतिक्रिया के लिए संचार।',
    },
    time: { en: '8 min read', ka: '8 წთ ნაკითხი', ru: '8 мин чтения', tr: '8 dk okuma', hi: '8 मिनट पठन' },
  },
};

// Extra subject translations referenced in samples
Object.assign(I18N, {
  subj_endo: { en: 'Endocrinology', ka: 'ენდოკრინოლოგია', ru: 'Эндокринология', tr: 'Endokrinoloji', hi: 'एंडोक्राइनोलॉजी' },
  subj_id: { en: 'Infectious Disease', ka: 'ინფექციური დაავადებები', ru: 'Инфекции', tr: 'Enfeksiyon', hi: 'संक्रामक रोग' },
  subj_ph: { en: 'Public Health', ka: 'საზოგადოებრივი ჯანდაცვა', ru: 'Общественное здоровье', tr: 'Halk Sağlığı', hi: 'सार्वजनिक स्वास्थ्य' },
  subj_nephro: { en: 'Nephrology', ka: 'ნეფროლოგია', ru: 'Нефрология', tr: 'Nefroloji', hi: 'नेफ्रोलॉजी' },
  subj_nursing: { en: 'Nursing CE', ka: 'ექთნების უწყვეტი განათლება', ru: 'CE для медсестёр', tr: 'Hemşire SE', hi: 'नर्सिंग CE' },
});

const NEWS_DATA = [
  { date_key: 'date_may12', head: {
    en: 'FDA approves novel oral GLP-1 for obesity',
    ka: 'FDA-მ დაამტკიცა ახალი ორალური GLP-1 სიმსუქნისთვის',
    ru: 'FDA одобрило новый пероральный GLP-1 для лечения ожирения',
    tr: 'FDA, obezite için yeni oral GLP-1’i onayladı',
    hi: 'FDA ने मोटापे के लिए नया ओरल GLP-1 अनुमोदित किया',
  }},
  { date_key: 'date_may09', head: {
    en: 'New ESC guidelines on atrial fibrillation released',
    ka: 'გამოვიდა ESC-ის ახალი გაიდლაინი წინაგულების ფიბრილაციაზე',
    ru: 'Новые гайдлайны ESC по фибрилляции предсердий',
    tr: 'Atriyal fibrilasyon için yeni ESC kılavuzları yayımlandı',
    hi: 'अलिंद विकंपन पर नए ESC दिशानिर्देश जारी',
  }},
  { date_key: 'date_may05', head: {
    en: 'WHO updates global TB treatment protocol',
    ka: 'WHO-მ განაახლა გლობალური ტუბერკულოზის სამკურნალო პროტოკოლი',
    ru: 'ВОЗ обновила глобальный протокол лечения ТБ',
    tr: 'DSÖ küresel TB tedavi protokolünü güncelledi',
    hi: 'WHO ने वैश्विक TB उपचार प्रोटोकॉल अद्यतन किया',
  }},
  { date_key: 'date_may02', head: {
    en: 'Major trial: SGLT2i in CKD without diabetes',
    ka: 'მნიშვნელოვანი კვლევა: SGLT2i CKD-ში დიაბეტის გარეშე',
    ru: 'Крупное исследование: SGLT2i при ХБП без диабета',
    tr: 'Önemli çalışma: Diyabetsiz KBH’de SGLT2i',
    hi: 'बड़ा परीक्षण: मधुमेह बिना CKD में SGLT2i',
  }},
];

Object.assign(I18N, {
  date_may12: { en: 'MAY 12', ka: '12 მაი', ru: '12 МАЯ', tr: '12 MAY', hi: '12 मई' },
  date_may09: { en: 'MAY 09', ka: '09 მაი', ru: '09 МАЯ', tr: '09 MAY', hi: '09 मई' },
  date_may05: { en: 'MAY 05', ka: '05 მაი', ru: '05 МАЯ', tr: '05 MAY', hi: '05 मई' },
  date_may02: { en: 'MAY 02', ka: '02 მაი', ru: '02 МАЯ', tr: '02 MAY', hi: '02 मई' },
});

// — Specialties (Georgian + English) —
const SPECIALTIES_DATA = [
  { en: 'Internal Medicine', ka: 'შინაგანი მედიცინა' },
  { en: 'Family Medicine', ka: 'ოჯახის მედიცინა' },
  { en: 'Pediatrics', ka: 'პედიატრია' },
  { en: 'Geriatrics', ka: 'გერიატრია' },
  { en: 'Cardiology', ka: 'კარდიოლოგია' },
  { en: 'Pulmonology', ka: 'პულმონოლოგია' },
  { en: 'Gastroenterology', ka: 'გასტროენტეროლოგია' },
  { en: 'Endocrinology', ka: 'ენდოკრინოლოგია' },
  { en: 'Nephrology', ka: 'ნეფროლოგია' },
  { en: 'Hematology', ka: 'ჰემატოლოგია' },
  { en: 'Oncology', ka: 'ონკოლოგია' },
  { en: 'Rheumatology', ka: 'რევმატოლოგია' },
  { en: 'Infectious Disease', ka: 'ინფექციური დაავადებები' },
  { en: 'Allergy & Immunology', ka: 'ალერგია და იმუნოლოგია' },
  { en: 'Dermatology', ka: 'დერმატოლოგია' },
  { en: 'Neurology', ka: 'ნევროლოგია' },
  { en: 'Psychiatry', ka: 'ფსიქიატრია' },
  { en: 'Addiction Medicine', ka: 'ნარკოლოგია' },
  { en: 'Sleep Medicine', ka: 'ძილის მედიცინა' },
  { en: 'Pain Medicine', ka: 'ტკივილის მედიცინა' },
  { en: 'General Surgery', ka: 'ზოგადი ქირურგია' },
  { en: 'Orthopedic Surgery', ka: 'ორთოპედია' },
  { en: 'Neurosurgery', ka: 'ნეიროქირურგია' },
  { en: 'Cardiothoracic Surgery', ka: 'კარდიოთორაკალური ქირურგია' },
  { en: 'Plastic Surgery', ka: 'პლასტიკური ქირურგია' },
  { en: 'Vascular Surgery', ka: 'სისხლძარღვთა ქირურგია' },
  { en: 'Urology', ka: 'უროლოგია' },
  { en: 'Otolaryngology', ka: 'ოტოლარინგოლოგია' },
  { en: 'Ophthalmology', ka: 'ოფთალმოლოგია' },
  { en: 'Anesthesiology', ka: 'ანესთეზიოლოგია' },
  { en: 'Emergency Medicine', ka: 'გადაუდებელი მედიცინა' },
  { en: 'Critical Care', ka: 'კრიტიკული მედიცინა' },
  { en: 'Hospital Medicine', ka: 'ჰოსპიტალური მედიცინა' },
  { en: 'Palliative Care', ka: 'პალიატიური მზრუნველობა' },
  { en: 'Sports Medicine', ka: 'სპორტული მედიცინა' },
  { en: 'Rehab Medicine', ka: 'რეაბილიტაცია' },
  { en: 'Obstetrics', ka: 'მეანობა' },
  { en: 'Gynecology', ka: 'გინეკოლოგია' },
  { en: 'Reproductive Med', ka: 'რეპროდუქციული მედიცინა' },
  { en: 'Maternal-Fetal Med', ka: 'მეან-ფეტალური მედიცინა' },
  { en: 'Radiology', ka: 'რადიოლოგია' },
  { en: 'Interventional Radio', ka: 'ინტერვენციული რადიოლოგია' },
  { en: 'Nuclear Medicine', ka: 'ბირთვული მედიცინა' },
  { en: 'Pathology', ka: 'პათოლოგია' },
  { en: 'Lab Medicine', ka: 'ლაბორატორიული მედიცინა' },
  { en: 'Genetics & Genomics', ka: 'გენეტიკა და გენომიკა' },
  { en: 'Public Health', ka: 'საზოგადოებრივი ჯანდაცვა' },
  { en: 'Preventive Med', ka: 'პრევენციული მედიცინა' },
  { en: 'Occupational Med', ka: 'შრომის მედიცინა' },
  { en: 'Forensic Med', ka: 'სასამართლო მედიცინა' },
  { en: 'Medical Education', ka: 'სამედიცინო განათლება' },
  { en: 'Nursing CE', ka: 'ექთნების უწყვეტი განათლება' },
  { en: 'Pharmacology', ka: 'ფარმაკოლოგია' },
  { en: 'Tropical Medicine', ka: 'ტროპიკული მედიცინა' },
  { en: 'Global Health', ka: 'გლობალური ჯანდაცვა' },
];

const LangCtx = React.createContext({ lang: DEFAULT_LANG, setLang: () => {} });

function LangProvider({ children }) {
  const [lang, setLangState] = React.useState(() => localStorage.getItem('ome.lang') || DEFAULT_LANG);
  const setLang = (code) => {
    setLangState(code);
    localStorage.setItem('ome.lang', code);
    document.documentElement.lang = code;
  };
  React.useEffect(() => {
    document.documentElement.lang = lang;
  }, [lang]);
  return <LangCtx.Provider value={{ lang, setLang }}>{children}</LangCtx.Provider>;
}

function useLang() { return React.useContext(LangCtx); }

function useT() {
  const { lang } = useLang();
  return (key, fallback) => {
    const dict = I18N[key];
    if (!dict) return fallback ?? key;
    return dict[lang] ?? dict.en ?? fallback ?? key;
  };
}

// Pick a localized value from a dict-shaped object {en, ka, …} or a literal string.
function pickLocalized(value, lang) {
  if (value == null) return '';
  if (typeof value === 'string') return value;
  return value[lang] ?? value.en ?? '';
}

function useLocalize() {
  const { lang } = useLang();
  return (value) => pickLocalized(value, lang);
}

function useSampleCourses() {
  const { lang } = useLang();
  const t = useT();
  return Object.values(SAMPLE_COURSE_DATA).map((c) => ({
    subj: t(c.subj_key),
    title: pickLocalized(c.title, lang),
    excerpt: pickLocalized(c.excerpt, lang),
    time: c.time,
    credits: c.credits,
    kind: 'course',
  }));
}

function useSampleArticles() {
  const { lang } = useLang();
  const t = useT();
  return Object.values(SAMPLE_ARTICLE_DATA).map((a) => ({
    subj: t(a.subj_key),
    title: pickLocalized(a.title, lang),
    excerpt: pickLocalized(a.excerpt, lang),
    time: pickLocalized(a.time, lang),
    kind: 'article',
  }));
}

function useNews() {
  const { lang } = useLang();
  const t = useT();
  return NEWS_DATA.map((n) => ({
    date: t(n.date_key),
    head: pickLocalized(n.head, lang),
  }));
}

function useSpecialties() {
  const { lang } = useLang();
  return SPECIALTIES_DATA.map((s) => pickLocalized(s, lang));
}

function LangPicker() {
  const { lang, setLang } = useLang();
  const t = useT();
  const [open, setOpen] = React.useState(false);
  const ref = React.useRef(null);
  const current = LANGS.find(l => l.code === lang) || LANGS[0];

  React.useEffect(() => {
    if (!open) return;
    const onClick = (e) => { if (ref.current && !ref.current.contains(e.target)) setOpen(false); };
    const onKey = (e) => { if (e.key === 'Escape') setOpen(false); };
    document.addEventListener('mousedown', onClick);
    document.addEventListener('keydown', onKey);
    return () => {
      document.removeEventListener('mousedown', onClick);
      document.removeEventListener('keydown', onKey);
    };
  }, [open]);

  return (
    <div className="lang-picker" ref={ref}>
      <button
        className="lang-picker-btn"
        onClick={() => setOpen(!open)}
        aria-expanded={open}
        aria-haspopup="listbox"
      >
        <span className="flag">{current.flag}</span>
        <span className="native">{current.native}</span>
        <span style={{ opacity: 0.55 }}>▾</span>
      </button>
      {open && (
        <div className="lang-menu" role="listbox">
          {LANGS.map((l) => (
            <div
              key={l.code}
              role="option"
              aria-selected={lang === l.code}
              className={'lang-menu-item ' + (lang === l.code ? 'on' : '')}
              onClick={() => { setLang(l.code); setOpen(false); }}
            >
              <span className="flag">{l.flag}</span>
              <span>{l.native}</span>
              <span style={{ flex: 1 }} />
              {lang === l.code && <span style={{ color: 'var(--sky)' }}>✓</span>}
            </div>
          ))}
          <div className="wf-rule" style={{ margin: '6px 0' }} />
          <div className="mono" style={{ fontSize: 10, color: 'var(--muted)', padding: '4px 10px' }}>
            {t('more_langs')}
          </div>
        </div>
      )}
    </div>
  );
}

Object.assign(window, {
  LangProvider, LangPicker, useT, useLang, useLocalize,
  useSampleCourses, useSampleArticles, useNews, useSpecialties,
  LANGS, DEFAULT_LANG,
});
