// English-only string layer. Originally a multi-locale system; Turkish was
// removed so this is now a thin pass-through that keeps existing call sites
// (window.t / tTool / tCat / useI18n) working with the EN dictionary.

(function () {
  window.__MM_LOCALES = window.__MM_LOCALES || {};
  const LOCALE = 'en';

  function getAt(obj, path) {
    if (!obj) return undefined;
    const parts = path.split('.');
    let cur = obj;
    for (let i = 0; i < parts.length; i++) {
      if (cur == null) return undefined;
      cur = cur[parts[i]];
    }
    return cur;
  }
  function interpolate(str, vars) {
    if (!vars || typeof str !== 'string') return str;
    return str.replace(/\{(\w+)\}/g, (m, k) => (vars[k] != null ? String(vars[k]) : m));
  }
  function t(key, vars) {
    const v = getAt(window.__MM_LOCALES[LOCALE] || {}, key);
    return v == null ? key : interpolate(v, vars);
  }
  function tTool(tool, field) {
    if (!tool) return '';
    const v = getAt(window.__MM_LOCALES[LOCALE] || {}, 'tools.' + tool.id + '.' + field);
    return v != null ? v : (tool[field] || '');
  }
  function tCat(cat, field) {
    if (!cat) return '';
    const v = getAt(window.__MM_LOCALES[LOCALE] || {}, 'categories.' + cat.id + '.' + field);
    return v != null ? v : (cat[field] || '');
  }

  window.I18n = {
    t, tTool, tCat,
    getLocale: () => LOCALE,
    setLocale: () => {},
    locales: [{ code: 'en', label: 'English', nativeLabel: 'English' }],
    onChange: () => () => {},
  };
  window.t = t;
  window.tTool = tTool;
  window.tCat = tCat;
  window.useI18n = function useI18n() { return [LOCALE, t]; };

  try {
    document.documentElement.lang = LOCALE;
    const title = t('meta.title');
    if (title && title !== 'meta.title') document.title = title;
  } catch {}
})();
