// Shared localization for every Bloatless Browser UI surface (chrome / popup /
// sidebar / siderail). The native side navigates each page with "?lang=xx";
// this reads that, exposes t(key, vars) for the inline scripts, and translates
// any static [data-i18n] / [data-i18n-title] / [data-i18n-ph] element on load.
(function () {
  const DICT = {
    en: {
      // window / nav
      back: 'Back', forward: 'Forward', reload: 'Reload', stop: 'Stop',
      newtab: 'New tab', minimize: 'Minimize', maximize: 'Maximize',
      restore: 'Restore', close: 'Close', mute: 'Mute tab', unmute: 'Unmute tab',
      downloads: 'Downloads', menu: 'Menu', remove: 'Remove', cancel: 'Cancel', add: 'Add',
      // chrome toolbar
      addr_ph: 'Search Google or type a URL',
      bookmark_add: 'Bookmark this page', bookmark_remove: 'Remove bookmark',
      setsearch_title: 'Search settings (e.g. clear cache, cookies, import)',
      setsearch_ph: 'Search settings',
      volume_title: 'Active tab volume', shield_title: 'Ads & trackers blocked',
      blocked_small: 'blocked', private: 'Private',
      private_title: "Private window — history isn't saved",
      bm_empty: 'No bookmarks yet — click the ☆ to add this page.',
      bm_all: 'All bookmarks', tabname_new: 'New Tab',
      sugg_search: 'Search Google', sugg_goto: 'Go to', set_nomatch: 'No matching setting.',
      // settings search catalog (label + hint)
      set_clearcache: 'Clear cache', set_clearcache_h: 'free disk space',
      set_clearcookies: 'Clear cookies', set_clearcookies_h: 'sign out everywhere',
      set_clearhistory: 'Clear history', set_clearhistory_h: '',
      set_clearall: 'Clear all browsing data', set_clearall_h: 'cache + cookies + history',
      set_import: 'Import from another browser', set_import_h: 'cookies & bookmarks',
      set_perf: 'Performance monitor', set_perf_h: 'CPU / GPU / RAM',
      set_togglebm: 'Show / hide bookmarks bar', set_togglebm_h: '',
      set_togglerail: 'Show / hide app sidebar', set_togglerail_h: 'pinned web apps',
      set_pinapp: 'Pin a web app', set_pinapp_h: 'add to sidebar',
      set_pauseadblock: 'Pause adblock on this site', set_pauseadblock_h: 'allow ads here',
      set_downloads: 'Downloads', set_downloads_h: '',
      set_dlfolder: 'Change download folder', set_dlfolder_h: 'where files save',
      set_history: 'History', set_history_h: 'recently visited',
      set_bookmarks: 'All bookmarks', set_bookmarks_h: '',
      set_devtools: 'Developer tools', set_devtools_h: 'inspect / console',
      set_newtab: 'New tab', set_newtab_h: '',
      set_newwindow: 'New window', set_newwindow_h: '',
      set_newprivate: 'New private window', set_newprivate_h: 'incognito',
      set_language: 'Language / Idioma', set_language_h: 'English / Español',
      // popup menu
      m_newtab: 'New tab', m_newwindow: 'New window', m_newprivate: 'New private window',
      m_history: 'History', m_bookmarks: 'Bookmarks', m_devtools: 'Developer tools',
      m_perf: 'Performance monitor', m_import: 'Import from browser',
      m_showbm: 'Show bookmarks bar', m_hidebm: 'Hide bookmarks bar',
      m_showrail: 'Show app sidebar', m_hiderail: 'Hide app sidebar', m_language: 'Language',
      // blocked / shield
      shield: 'Shield', blocked_total_small: 'ads & trackers blocked',
      blocked_none: 'Nothing blocked yet.',
      paused_on: 'Adblock paused on {site}', active_on: 'Active on {site}',
      resume: 'Resume', pause_site: 'Pause on this site',
      // downloads
      dl_title: 'Downloads', dl_change: 'Change',
      dl_askeach: 'Ask where to save each file', dl_none: 'No downloads yet.',
      dl_state_downloading: 'Downloading…', dl_state_completed: 'Completed',
      dl_state_failed: 'Failed', dl_state_blocked: 'Blocked', dl_state_await: 'Awaiting confirmation',
      dl_open: 'Open', dl_show: 'Show in folder',
      // tab menu
      tm_close: 'Close tab', tm_closeothers: 'Close other tabs',
      tm_closeleft: 'Close tabs to the left', tm_closeright: 'Close tabs to the right',
      tm_reloadall: 'Refresh all tabs', tm_muteothers: 'Mute other tabs',
      // perf
      perf_title: 'Performance', perf_measuring: 'measuring…',
      perf_proc: 'process', perf_procs: 'processes',
      // bookmarks list
      bk_title: 'Bookmarks', bk_empty: 'No bookmarks yet — click the ☆ in the address bar.',
      // app menu / add app
      am_openclose: 'Open / close', am_remove: 'Remove from sidebar',
      am_pin: 'Pin a web app', am_hide: 'Hide app sidebar',
      aa_title: 'Pin a web app', aa_ph: 'example.com',
      // import
      imp_title: 'Import from another browser',
      imp_note: 'Imports your cookies so you stay signed in to sites you use there. <b>Close that browser first</b> so its data isn\'t locked.',
      imp_none: 'No supported browsers found.', imp_btn: 'Import cookies',
      // restore session
      rs_title: 'Restore previous session',
      rs_body_one: 'Reopen the tab from when you last closed Bloatless Browser?',
      rs_body_many: 'Reopen the {n} tabs from when you last closed Bloatless Browser?',
      rs_fresh: 'Start fresh', rs_restore: 'Restore tabs',
      // dangerous download confirm
      dc_title: 'This file may be unsafe', dc_block: 'Block', dc_allow: 'Download anyway',
      // bookmarks-bar context menu
      bb_showall: 'Show all bookmarks', bb_hidebar: 'Hide bookmarks bar',
      // tutorial
      tut_skip: 'Skip tour', tut_back: 'Back', tut_next: 'Next', tut_finish: 'Finish',
      tut1_title: 'Welcome to Bloatless Browser',
      tut1_body: 'A fast, lightweight browser with a built-in ad &amp; tracker blocker. Here’s a quick 30-second tour of what makes it different.',
      tut2_title: 'Your app sidebar',
      tut2_body: 'The bar down the <b>left edge</b> keeps your web apps one click away — WhatsApp, X, Twitch, Discord and more. Click an icon to slide the app out, hit <b>+</b> to pin any site, and right-click the bar to hide it.',
      tut3_title: 'Built-in adblocker',
      tut3_body: 'Ads and trackers are blocked automatically on every page. The <b>shield</b> in the toolbar counts what it stopped — click it to see the breakdown or <b>pause blocking</b> for a single site.',
      tut4_title: 'Search every setting',
      tut4_body: 'Next to the <b>☰ menu</b> (top-right) there’s a settings search box. Type “clear cache”, “cookies”, “import” or “performance” and jump straight to it — no digging through menus.',
      tut_imp_title: 'Bring your data with you',
      tut_imp_body: 'Import your cookies &amp; bookmarks from another browser so you stay signed in to the sites you already use. <b>Close that browser first</b> so its data isn’t locked.',
      tut_imp_none: 'No other browsers were detected on this PC. You can always import later from the ☰ menu.',
      tut_imp_btn: 'Import', tut_imp_done: 'Imported ✓',
      // language picker
      lang_title: 'Language',
      // siderail
      pin_app: 'Pin a web app',
      // history sidebar
      hist_title: 'History', hist_search_ph: 'Search history',
      df_all: 'All time', df_today: 'Today', df_yesterday: 'Yesterday',
      df_7: 'Last 7 days', df_30: 'Last 30 days',
      ct_history: 'Clear history', ct_cache: 'Clear cache',
      ct_cachecookies: 'Clear cache + cookies', ct_all: 'Clear everything',
      clear: 'Clear', hist_empty: 'No history yet.', hist_nomatch: 'No matching history.',
      day_today: 'Today', day_yesterday: 'Yesterday',
      confirm_clear: 'Clear {what}? This cannot be undone.',
      cw_history: 'history', cw_cache: 'the cache', cw_cachecookies: 'cache + cookies', cw_all: 'everything',
    },
    es: {
      back: 'Atrás', forward: 'Adelante', reload: 'Recargar', stop: 'Detener',
      newtab: 'Nueva pestaña', minimize: 'Minimizar', maximize: 'Maximizar',
      restore: 'Restaurar', close: 'Cerrar', mute: 'Silenciar pestaña', unmute: 'Activar sonido',
      downloads: 'Descargas', menu: 'Menú', remove: 'Quitar', cancel: 'Cancelar', add: 'Añadir',
      addr_ph: 'Busca en Google o escribe una URL',
      bookmark_add: 'Añadir esta página a marcadores', bookmark_remove: 'Quitar marcador',
      setsearch_title: 'Buscar ajustes (p. ej. limpiar caché, cookies, importar)',
      setsearch_ph: 'Buscar ajustes',
      volume_title: 'Volumen de la pestaña activa', shield_title: 'Anuncios y rastreadores bloqueados',
      blocked_small: 'bloqueados', private: 'Privado',
      private_title: 'Ventana privada: no se guarda el historial',
      bm_empty: 'Sin marcadores todavía: pulsa la ☆ para añadir esta página.',
      bm_all: 'Todos los marcadores', tabname_new: 'Nueva pestaña',
      sugg_search: 'Buscar en Google', sugg_goto: 'Ir a', set_nomatch: 'Ningún ajuste coincide.',
      set_clearcache: 'Limpiar caché', set_clearcache_h: 'libera espacio en disco',
      set_clearcookies: 'Borrar cookies', set_clearcookies_h: 'cerrar todas las sesiones',
      set_clearhistory: 'Borrar historial', set_clearhistory_h: '',
      set_clearall: 'Borrar todos los datos de navegación', set_clearall_h: 'caché + cookies + historial',
      set_import: 'Importar de otro navegador', set_import_h: 'cookies y marcadores',
      set_perf: 'Monitor de rendimiento', set_perf_h: 'CPU / GPU / RAM',
      set_togglebm: 'Mostrar/ocultar barra de marcadores', set_togglebm_h: '',
      set_togglerail: 'Mostrar/ocultar barra de apps', set_togglerail_h: 'apps web ancladas',
      set_pinapp: 'Anclar una app web', set_pinapp_h: 'añadir a la barra',
      set_pauseadblock: 'Pausar adblock en este sitio', set_pauseadblock_h: 'permitir anuncios aquí',
      set_downloads: 'Descargas', set_downloads_h: '',
      set_dlfolder: 'Cambiar carpeta de descargas', set_dlfolder_h: 'dónde se guardan los archivos',
      set_history: 'Historial', set_history_h: 'visitados recientemente',
      set_bookmarks: 'Todos los marcadores', set_bookmarks_h: '',
      set_devtools: 'Herramientas de desarrollo', set_devtools_h: 'inspeccionar / consola',
      set_newtab: 'Nueva pestaña', set_newtab_h: '',
      set_newwindow: 'Nueva ventana', set_newwindow_h: '',
      set_newprivate: 'Nueva ventana privada', set_newprivate_h: 'incógnito',
      set_language: 'Idioma / Language', set_language_h: 'English / Español',
      m_newtab: 'Nueva pestaña', m_newwindow: 'Nueva ventana', m_newprivate: 'Nueva ventana privada',
      m_history: 'Historial', m_bookmarks: 'Marcadores', m_devtools: 'Herramientas de desarrollo',
      m_perf: 'Monitor de rendimiento', m_import: 'Importar de un navegador',
      m_showbm: 'Mostrar barra de marcadores', m_hidebm: 'Ocultar barra de marcadores',
      m_showrail: 'Mostrar barra de apps', m_hiderail: 'Ocultar barra de apps', m_language: 'Idioma',
      shield: 'Escudo', blocked_total_small: 'anuncios y rastreadores bloqueados',
      blocked_none: 'Nada bloqueado todavía.',
      paused_on: 'Adblock pausado en {site}', active_on: 'Activo en {site}',
      resume: 'Reanudar', pause_site: 'Pausar en este sitio',
      dl_title: 'Descargas', dl_change: 'Cambiar',
      dl_askeach: 'Preguntar dónde guardar cada archivo', dl_none: 'Sin descargas todavía.',
      dl_state_downloading: 'Descargando…', dl_state_completed: 'Completada',
      dl_state_failed: 'Fallida', dl_state_blocked: 'Bloqueada', dl_state_await: 'Esperando confirmación',
      dl_open: 'Abrir', dl_show: 'Mostrar en carpeta',
      tm_close: 'Cerrar pestaña', tm_closeothers: 'Cerrar las demás pestañas',
      tm_closeleft: 'Cerrar pestañas a la izquierda', tm_closeright: 'Cerrar pestañas a la derecha',
      tm_reloadall: 'Recargar todas las pestañas', tm_muteothers: 'Silenciar las demás pestañas',
      perf_title: 'Rendimiento', perf_measuring: 'midiendo…',
      perf_proc: 'proceso', perf_procs: 'procesos',
      bk_title: 'Marcadores', bk_empty: 'Sin marcadores: pulsa la ☆ en la barra de direcciones.',
      am_openclose: 'Abrir / cerrar', am_remove: 'Quitar de la barra',
      am_pin: 'Anclar una app web', am_hide: 'Ocultar barra de apps',
      aa_title: 'Anclar una app web', aa_ph: 'ejemplo.com',
      imp_title: 'Importar de otro navegador',
      imp_note: 'Importa tus cookies para seguir con la sesión iniciada en los sitios que usas allí. <b>Cierra antes ese navegador</b> para que sus datos no estén bloqueados.',
      imp_none: 'No se encontraron navegadores compatibles.', imp_btn: 'Importar cookies',
      rs_title: 'Restaurar sesión anterior',
      rs_body_one: '¿Reabrir la pestaña de la última vez que cerraste Bloatless Browser?',
      rs_body_many: '¿Reabrir las {n} pestañas de la última vez que cerraste Bloatless Browser?',
      rs_fresh: 'Empezar de cero', rs_restore: 'Restaurar pestañas',
      dc_title: 'Este archivo puede ser peligroso', dc_block: 'Bloquear', dc_allow: 'Descargar igualmente',
      bb_showall: 'Ver todos los marcadores', bb_hidebar: 'Ocultar barra de marcadores',
      tut_skip: 'Saltar', tut_back: 'Atrás', tut_next: 'Siguiente', tut_finish: 'Finalizar',
      tut1_title: 'Bienvenido a Bloatless Browser',
      tut1_body: 'Un navegador rápido y ligero con bloqueador de anuncios y rastreadores integrado. Aquí tienes un tour rápido de 30 segundos de lo que lo hace diferente.',
      tut2_title: 'Tu barra de apps',
      tut2_body: 'La barra del <b>borde izquierdo</b> mantiene tus apps web a un clic: WhatsApp, X, Twitch, Discord y más. Pulsa un icono para desplegar la app, usa <b>+</b> para anclar cualquier sitio y haz clic derecho en la barra para ocultarla.',
      tut3_title: 'Bloqueador integrado',
      tut3_body: 'Los anuncios y rastreadores se bloquean automáticamente en cada página. El <b>escudo</b> de la barra cuenta lo que detuvo: haz clic para ver el desglose o <b>pausar el bloqueo</b> en un sitio concreto.',
      tut4_title: 'Busca cualquier ajuste',
      tut4_body: 'Junto al <b>menú ☰</b> (arriba a la derecha) hay un buscador de ajustes. Escribe “limpiar caché”, “cookies”, “importar” o “rendimiento” y ve directo, sin rebuscar en menús.',
      tut_imp_title: 'Lleva tus datos contigo',
      tut_imp_body: 'Importa tus cookies y marcadores de otro navegador para seguir con la sesión iniciada en los sitios que ya usas. <b>Cierra antes ese navegador</b> para que sus datos no estén bloqueados.',
      tut_imp_none: 'No se detectaron otros navegadores en este PC. Siempre puedes importar después desde el menú ☰.',
      tut_imp_btn: 'Importar', tut_imp_done: 'Importado ✓',
      lang_title: 'Idioma',
      pin_app: 'Anclar una app web',
      hist_title: 'Historial', hist_search_ph: 'Buscar en el historial',
      df_all: 'Todo el tiempo', df_today: 'Hoy', df_yesterday: 'Ayer',
      df_7: 'Últimos 7 días', df_30: 'Últimos 30 días',
      ct_history: 'Borrar historial', ct_cache: 'Limpiar caché',
      ct_cachecookies: 'Limpiar caché + cookies', ct_all: 'Borrar todo',
      clear: 'Limpiar', hist_empty: 'Sin historial todavía.', hist_nomatch: 'Sin coincidencias.',
      day_today: 'Hoy', day_yesterday: 'Ayer',
      confirm_clear: '¿Borrar {what}? Esto no se puede deshacer.',
      cw_history: 'el historial', cw_cache: 'la caché', cw_cachecookies: 'caché + cookies', cw_all: 'todo',
    },
  };

  const params = new URLSearchParams(location.search);
  let lang = params.get('lang');
  if (!DICT[lang]) lang = 'en';

  function t(key, vars) {
    let s = (DICT[lang] && DICT[lang][key] != null) ? DICT[lang][key]
          : (DICT.en[key] != null ? DICT.en[key] : key);
    if (vars) for (const k in vars) s = s.split('{' + k + '}').join(vars[k]);
    return s;
  }
  function applyI18n(root) {
    root = root || document;
    root.querySelectorAll('[data-i18n]').forEach(el => { el.textContent = t(el.getAttribute('data-i18n')); });
    root.querySelectorAll('[data-i18n-title]').forEach(el => { el.title = t(el.getAttribute('data-i18n-title')); });
    root.querySelectorAll('[data-i18n-ph]').forEach(el => { el.placeholder = t(el.getAttribute('data-i18n-ph')); });
    document.documentElement.lang = lang;
  }
  window.LANG = lang;
  window.t = t;
  window.applyI18n = applyI18n;
  document.addEventListener('DOMContentLoaded', () => applyI18n());
})();
