// i18n.jsx — Translation strings for all in-film copy.
// Languages: en, uk, ru, pl (matching Vokki's supported UI languages).
// German content stays German — only the learner-side copy changes.

const I18N = {
  en: {
    lang_label: 'EN',
    // Intro
    intro_title: 'a walk in German.',
    intro_sub: 'a tiny film about vokki',
    pill_bilingual: 'bilingual',
    pill_audio: 'audio',
    pill_stories: '200 stories',

    // Walker
    walker_de1: 'der Wald',     en1: 'the forest',
    walker_de2: 'der Vogel',    en2: 'the bird',
    walker_caption_l1: 'German in one ear,',
    walker_caption_l2: 'your language in the other.',

    // Reader
    reader_kicker: 'synced audio',
    reader_l1: 'Sentences light up',
    reader_l2: 'as the voice',
    reader_l3: 'reads them',
    reader_sub_l1: 'Native speaker, both sides.',
    reader_sub_l2: 'You stop translating, you just',
    reader_sub_l3: 'read.',
    reader_label: 'A2 · DAILY LIFE',
    sentence_1_en: 'In the morning she drinks coffee.',
    sentence_2_en: 'The dog sleeps on the sofa.',

    // Save
    save_kicker: 'tap. save. drill.',
    save_l1: 'A word you',
    save_l2: 'liked? Tap it',
    save_sub_l1: 'Spaced-repetition flashcards,',
    save_sub_l2: 'eight different trainers.',
    save_counter_label: 'saved words',
    save_card_label: 'FLASHCARD',
    save_passage_pre1: 'On Sunday I love going for a',
    save_passage_post1: '.',
    save_passage_pre2: 'It is',
    save_passage_post2: ', with coffee and bread.',
    save_passage_pre3: 'A long',
    save_passage_post3: 'is the best.',
    word_walk: 'walk',
    word_cozy: 'cozy',
    word_brunch: 'breakfast',

    // Factory
    factory_kicker: 'premium · import anything',
    factory_l1: 'Paste text or a video',
    factory_l2: 'Get bilingual + audio',
    factory_engine: 'VOKKI ENGINE',
    factory_stamp: 'BILINGUAL ✓',
    sentence_3_en: "We're going to the movies today.",

    // Outro
    stat_stories_label: 'leveled stories',
    stat_stories_sub: 'A1 → B2',
    stat_lessons_label: 'lessons + podcasts',
    stat_lessons_sub: 'grammar on the go',
    stat_trainers_label: 'trainers',
    stat_trainers_sub: 'der · die · das · sprint · …',
    stat_langs_label: 'interface languages',
    stat_langs_sub: 'EN · UK · RU · PL',
    outro_l1: 'Read German',
    outro_l2: 'like a walk in the park',
    cta_pill: 'FREE',
    cta_text: 'start reading today',
    cta_platforms: 'iOS · Android',
  },

  uk: {
    lang_label: 'UK',
    intro_title: 'прогулянка німецькою.',
    intro_sub: 'маленький фільм про vokki',
    pill_bilingual: 'двома мовами',
    pill_audio: 'аудіо',
    pill_stories: '200 історій',

    walker_de1: 'der Wald',     en1: 'ліс',
    walker_de2: 'der Vogel',    en2: 'птах',
    walker_caption_l1: 'Німецька в одному вусі,',
    walker_caption_l2: 'твоя мова — в іншому.',

    reader_kicker: 'синхронне аудіо',
    reader_l1: 'Речення підсвічуються',
    reader_l2: 'у такт',
    reader_l3: 'голосу',
    reader_sub_l1: 'Носій мови, обидві сторони.',
    reader_sub_l2: 'Ти не перекладаєш — ти просто',
    reader_sub_l3: 'читаєш.',
    reader_label: 'A2 · ПОВСЯКДЕННЯ',
    sentence_1_en: 'Зранку вона п’є каву.',
    sentence_2_en: 'Пес спить на дивані.',

    save_kicker: 'торкнись. збережи. вчи.',
    save_l1: 'Сподобалось',
    save_l2: 'слово? Торкнись',
    save_sub_l1: 'Картки з інтервальним повторенням,',
    save_sub_l2: 'вісім різних тренажерів.',
    save_counter_label: 'збережені слова',
    save_card_label: 'КАРТКА',
    save_passage_pre1: 'У неділю я люблю йти на',
    save_passage_post1: '.',
    save_passage_pre2: 'Це',
    save_passage_post2: ', з кавою і хлібом.',
    save_passage_pre3: 'Довгий',
    save_passage_post3: '— це найкраще.',
    word_walk: 'прогулянку',
    word_cozy: 'затишно',
    word_brunch: 'сніданок',

    factory_kicker: 'преміум · імпортуй будь-що',
    factory_l1: 'Встав текст чи відео',
    factory_l2: 'Дві мови + аудіо',
    factory_engine: 'VOKKI ENGINE',
    factory_stamp: 'ДВОМА МОВАМИ ✓',
    sentence_3_en: 'Сьогодні ми йдемо в кіно.',

    stat_stories_label: 'історій за рівнями',
    stat_stories_sub: 'A1 → B2',
    stat_lessons_label: 'уроків + подкасти',
    stat_lessons_sub: 'граматика в дорозі',
    stat_trainers_label: 'тренажерів',
    stat_trainers_sub: 'der · die · das · спринт · …',
    stat_langs_label: 'мов інтерфейсу',
    stat_langs_sub: 'EN · UK · RU · PL',
    outro_l1: 'Читай німецькою',
    outro_l2: 'як гуляти парком',
    cta_pill: 'БЕЗКОШТОВНО',
    cta_text: 'почни читати сьогодні',
    cta_platforms: 'iOS · Android',
  },

  ru: {
    lang_label: 'RU',
    intro_title: 'прогулка по-немецки.',
    intro_sub: 'маленький фильм про vokki',
    pill_bilingual: 'двуязычно',
    pill_audio: 'аудио',
    pill_stories: '200 историй',

    walker_de1: 'der Wald',     en1: 'лес',
    walker_de2: 'der Vogel',    en2: 'птица',
    walker_caption_l1: 'Немецкий в одном ухе,',
    walker_caption_l2: 'твой язык — в другом.',

    reader_kicker: 'синхронное аудио',
    reader_l1: 'Предложения подсвечиваются',
    reader_l2: 'в такт',
    reader_l3: 'голосу',
    reader_sub_l1: 'Носитель, обе стороны.',
    reader_sub_l2: 'Ты не переводишь — ты просто',
    reader_sub_l3: 'читаешь.',
    reader_label: 'A2 · ПОВСЕДНЕВНОЕ',
    sentence_1_en: 'Утром она пьёт кофе.',
    sentence_2_en: 'Пёс спит на диване.',

    save_kicker: 'нажми. сохрани. учи.',
    save_l1: 'Понравилось',
    save_l2: 'слово? Нажми',
    save_sub_l1: 'Карточки с интервальным повторением,',
    save_sub_l2: 'восемь разных тренажёров.',
    save_counter_label: 'сохранённые слова',
    save_card_label: 'КАРТОЧКА',
    save_passage_pre1: 'В воскресенье я люблю ходить на',
    save_passage_post1: '.',
    save_passage_pre2: 'Это',
    save_passage_post2: ', с кофе и хлебом.',
    save_passage_pre3: 'Долгий',
    save_passage_post3: '— это лучшее.',
    word_walk: 'прогулку',
    word_cozy: 'уютно',
    word_brunch: 'завтрак',

    factory_kicker: 'премиум · импортируй что угодно',
    factory_l1: 'Вставь текст или видео',
    factory_l2: 'Два языка + аудио',
    factory_engine: 'VOKKI ENGINE',
    factory_stamp: 'ДВУЯЗЫЧНО ✓',
    sentence_3_en: 'Сегодня мы идём в кино.',

    stat_stories_label: 'историй по уровням',
    stat_stories_sub: 'A1 → B2',
    stat_lessons_label: 'уроков + подкасты',
    stat_lessons_sub: 'грамматика в дороге',
    stat_trainers_label: 'тренажёров',
    stat_trainers_sub: 'der · die · das · спринт · …',
    stat_langs_label: 'языков интерфейса',
    stat_langs_sub: 'EN · UK · RU · PL',
    outro_l1: 'Читай по-немецки',
    outro_l2: 'как гулять в парке',
    cta_pill: 'БЕСПЛАТНО',
    cta_text: 'начни читать сегодня',
    cta_platforms: 'iOS · Android',
  },

  pl: {
    lang_label: 'PL',
    intro_title: 'spacer po niemiecku.',
    intro_sub: 'mały film o vokki',
    pill_bilingual: 'dwujęzycznie',
    pill_audio: 'audio',
    pill_stories: '200 historii',

    walker_de1: 'der Wald',     en1: 'las',
    walker_de2: 'der Vogel',    en2: 'ptak',
    walker_caption_l1: 'Niemiecki w jednym uchu,',
    walker_caption_l2: 'twój język w drugim.',

    reader_kicker: 'synchroniczne audio',
    reader_l1: 'Zdania świecą się',
    reader_l2: 'w rytm',
    reader_l3: 'głosu',
    reader_sub_l1: 'Native speaker, oba języki.',
    reader_sub_l2: 'Przestajesz tłumaczyć, po prostu',
    reader_sub_l3: 'czytasz.',
    reader_label: 'A2 · CODZIENNOŚĆ',
    sentence_1_en: 'Rano ona pije kawę.',
    sentence_2_en: 'Pies śpi na kanapie.',

    save_kicker: 'dotknij. zapisz. ćwicz.',
    save_l1: 'Spodobało ci się',
    save_l2: 'słowo? Dotknij',
    save_sub_l1: 'Fiszki z powtórkami w odstępach,',
    save_sub_l2: 'osiem różnych trenerów.',
    save_counter_label: 'zapisane słowa',
    save_card_label: 'FISZKA',
    save_passage_pre1: 'W niedzielę lubię iść na',
    save_passage_post1: '.',
    save_passage_pre2: 'Jest',
    save_passage_post2: ', z kawą i chlebem.',
    save_passage_pre3: 'Długie',
    save_passage_post3: 'to najlepsze.',
    word_walk: 'spacer',
    word_cozy: 'przytulnie',
    word_brunch: 'śniadanie',

    factory_kicker: 'premium · importuj cokolwiek',
    factory_l1: 'Wklej tekst lub wideo',
    factory_l2: 'Dwa języki + audio',
    factory_engine: 'VOKKI ENGINE',
    factory_stamp: 'DWUJĘZYCZNIE ✓',
    sentence_3_en: 'Dziś idziemy do kina.',

    stat_stories_label: 'historii według poziomu',
    stat_stories_sub: 'A1 → B2',
    stat_lessons_label: 'lekcji + podcasty',
    stat_lessons_sub: 'gramatyka w drodze',
    stat_trainers_label: 'trenerów',
    stat_trainers_sub: 'der · die · das · sprint · …',
    stat_langs_label: 'języków interfejsu',
    stat_langs_sub: 'EN · UK · RU · PL',
    outro_l1: 'Czytaj po niemiecku',
    outro_l2: 'jak spacer po parku',
    cta_pill: 'ZA DARMO',
    cta_text: 'zacznij czytać dziś',
    cta_platforms: 'iOS · Android',
  },
};

// Resolve language from URL ?lang=xx, falls back to default.
function resolveInitialLang(defaultLang = 'en') {
  try {
    const url = new URL(window.location.href);
    const q = (url.searchParams.get('lang') || '').toLowerCase();
    if (I18N[q]) return q;
  } catch {}
  return defaultLang;
}

const LangContext = React.createContext(I18N.en);
const useLang = () => React.useContext(LangContext);

Object.assign(window, { I18N, LangContext, useLang, resolveInitialLang });
