/* i18n.jsx — bilingual string table + helper hook
   PT-BR is primary. EN is the second locale. */

const STRINGS = {
  /* Top-level navigation labels */
  "nav.workspace":   { pt: "Workspace",         en: "Workspace" },
  "nav.account":     { pt: "Conta",             en: "Account" },
  "nav.overview":    { pt: "Visão geral",       en: "Overview" },
  "nav.meta":        { pt: "Meta Ads",          en: "Meta Ads" },
  "nav.google":      { pt: "Google Ads",        en: "Google Ads" },
  "nav.tiktok":      { pt: "TikTok Ads",        en: "TikTok Ads" },
  "nav.analytics":   { pt: "Google Analytics",  en: "Google Analytics" },
  "nav.shopify":     { pt: "Shopify",           en: "Shopify" },
  "nav.creative":    { pt: "Criativos",         en: "Creative" },
  "nav.audience":    { pt: "Audiências",        en: "Audiences" },
  "nav.reports":     { pt: "Relatórios",        en: "Reports" },
  "nav.settings":    { pt: "Configurações",     en: "Settings" },
  "nav.help":        { pt: "Ajuda",             en: "Help" },
  "nav.user.role.client": { pt: "Cliente · Makali", en: "Client · Makali" },
  "nav.user.role.admin":  { pt: "Admin · Makali",   en: "Admin · Makali" },
  "nav.user.role":   { pt: "Cliente · Makali",  en: "Client · Makali" },

  /* Top filter bar */
  "top.reporting":     { pt: "Período",                 en: "Reporting" },
  "top.attribution":   { pt: "Atribuição",              en: "Attribution" },
  "top.compare":       { pt: "vs período anterior",     en: "vs prior period" },
  "top.synced":        { pt: "Sincronizado há 2h",      en: "Synced 2h ago" },
  "top.sync-now":      { pt: "Sincronizar",             en: "Sync now" },
  "top.export":        { pt: "Exportar",                en: "Export" },
  "top.last7":         { pt: "Últimos 7 dias",          en: "Last 7 days" },
  "top.last30":        { pt: "Últimos 30 dias",         en: "Last 30 days" },
  "top.last90":        { pt: "Últimos 90 dias",         en: "Last 90 days" },
  "top.custom":        { pt: "Período personalizado",   en: "Custom range" },
  "top.attr.click7":   { pt: "Clique · 7d",             en: "7d click" },
  "top.attr.view7":    { pt: "Visualização · 7d+1d",    en: "7d + 1d view" },
  "top.attr.click1":   { pt: "Clique · 1d",             en: "1d click" },
  "top.attr.incr":     { pt: "Incremental",             en: "Incremental" },

  /* Crumbs */
  "crumbs.performance": { pt: "Performance",   en: "Performance" },

  /* Overview narrative */
  "ov.eyebrow":     { pt: "O Briefing · Semana 21",    en: "The Briefing · Week 21" },
  "ov.filed-by":    { pt: "Por Makali Wire",           en: "Filed by Makali Wire" },
  "ov.reading":     { pt: "Tempo de leitura · 40s",    en: "Reading time · 40s" },
  "ov.posted":      { pt: "Hoje · 07:02 BRT",          en: "Today · 07:02 BRT" },

  "ov.section.numbers": { pt: "Os números",  en: "The numbers" },
  "ov.section.matters": { pt: "O que importa hoje", en: "What matters today" },
  "ov.section.daily":   { pt: "Performance diária", en: "Daily performance" },
  "ov.section.channels":{ pt: "Mix de canais",     en: "Channel split" },

  /* Highlight kinds */
  "hi.win":     { pt: "Alta da semana",      en: "Win of the week" },
  "hi.alert":   { pt: "Em queda",            en: "Cracked" },
  "hi.watch":   { pt: "Vale acompanhar",     en: "Worth a look" },
  "hi.scale":   { pt: "Hora de escalar",     en: "Time to scale" },

  /* KPI labels */
  "kpi.spend":       { pt: "Investimento",       en: "Spend" },
  "kpi.revenue":     { pt: "Receita",            en: "Revenue" },
  "kpi.orders":      { pt: "Pedidos",            en: "Orders" },
  "kpi.aov":         { pt: "Ticket médio",       en: "AOV" },
  "kpi.roas":        { pt: "ROAS",               en: "ROAS" },
  "kpi.mer":         { pt: "MER",                en: "MER" },
  "kpi.cpa":         { pt: "CPA",                en: "CPA" },
  "kpi.cac":         { pt: "CAC",                en: "CAC" },
  "kpi.cpc":         { pt: "CPC",                en: "CPC" },
  "kpi.cpm":         { pt: "CPM",                en: "CPM" },
  "kpi.ctr":         { pt: "CTR",                en: "CTR" },
  "kpi.impressions": { pt: "Impressões",         en: "Impressions" },
  "kpi.clicks":      { pt: "Cliques",            en: "Clicks" },
  "kpi.sessions":    { pt: "Sessões",            en: "Sessions" },
  "kpi.conversions": { pt: "Conversões",         en: "Conversions" },
  "kpi.conv-rate":   { pt: "Tx. de conversão",   en: "Conv. rate" },
  "kpi.repeat-rate": { pt: "Tx. recompra",       en: "Repeat rate" },
  "kpi.new-cust":    { pt: "Novos clientes",     en: "New customers" },
  "kpi.engaged-rate":{ pt: "Tx. engajamento",    en: "Engaged rate" },
  "kpi.bounce":      { pt: "Tx. rejeição",       en: "Bounce rate" },
  "kpi.avg-sess":    { pt: "Sessão média",       en: "Avg. session" },
  "kpi.leads":       { pt: "Leads",              en: "Leads" },
  "kpi.qual-leads":  { pt: "Leads qualificados", en: "Qualified leads" },
  "kpi.cpl":         { pt: "CPL",                en: "CPL" },
  "kpi.cpql":        { pt: "CPQL",               en: "CPQL" },
  "kpi.frequency":   { pt: "Frequência",         en: "Frequency" },
  "kpi.reach":       { pt: "Alcance",            en: "Reach" },
  "kpi.impr-share":  { pt: "Share de impressões",en: "Impression Share" },

  /* vs period */
  "vs.prior":  { pt: "vs período anterior",  en: "vs prior period" },
  "vs.target": { pt: "vs meta",              en: "vs target" },

  /* Panel titles */
  "p.campaigns":     { pt: "Campanhas",            en: "Campaigns" },
  "p.creative-lib":  { pt: "Biblioteca de criativos", en: "Creative library" },
  "p.search-terms":  { pt: "Termos de busca",      en: "Search terms" },
  "p.traffic-src":   { pt: "Fontes de tráfego",    en: "Traffic sources" },
  "p.geo":           { pt: "Geografia",            en: "Geography" },
  "p.devices":       { pt: "Dispositivos",         en: "Devices" },
  "p.funnel":        { pt: "Funil de compra",      en: "Purchase funnel" },
  "p.funnel-meta":   { pt: "Funil Meta · prospecção → compra", en: "Meta funnel · prospecting → purchase" },
  "p.funnel-lead":   { pt: "Funil de captura",     en: "Lead funnel" },
  "p.products":      { pt: "Produtos",             en: "Products" },
  "p.pages":         { pt: "Páginas mais vistas",  en: "Top pages" },
  "p.creative":      { pt: "Criativos",            en: "Creatives" },
  "p.concepts":      { pt: "Conceitos",            en: "Concepts" },
  "p.daily":         { pt: "Performance diária",   en: "Daily performance" },
  "p.audience":      { pt: "Audiências",           en: "Audiences" },

  /* Table headers */
  "th.campaign":   { pt: "Campanha",       en: "Campaign" },
  "th.status":     { pt: "Status",         en: "Status" },
  "th.spend":      { pt: "Investimento",   en: "Spend" },
  "th.revenue":    { pt: "Receita",        en: "Revenue" },
  "th.roas":       { pt: "ROAS",           en: "ROAS" },
  "th.cpa":        { pt: "CPA",            en: "CPA" },
  "th.cac":        { pt: "CAC",            en: "CAC" },
  "th.cpl":        { pt: "CPL",            en: "CPL" },
  "th.cpc":        { pt: "CPC",            en: "CPC" },
  "th.ctr":        { pt: "CTR",            en: "CTR" },
  "th.cpm":        { pt: "CPM",            en: "CPM" },
  "th.impr":       { pt: "Impr.",          en: "Impr." },
  "th.clicks":     { pt: "Cliques",        en: "Clicks" },
  "th.conv":       { pt: "Conv.",          en: "Conv." },
  "th.sessions":   { pt: "Sessões",        en: "Sessions" },
  "th.product":    { pt: "Produto",        en: "Product" },
  "th.orders":     { pt: "Pedidos",        en: "Orders" },
  "th.units":      { pt: "Unid.",          en: "Units" },
  "th.aov":        { pt: "Ticket",         en: "AOV" },
  "th.source":     { pt: "Fonte",          en: "Source" },
  "th.term":       { pt: "Termo",          en: "Term" },
  "th.leads":      { pt: "Leads",          en: "Leads" },
  "th.qrate":      { pt: "Tx. qualif.",    en: "Qual. rate" },
  "th.delta":      { pt: "Δ vs ant.",      en: "Δ vs prior" },
  "th.page":       { pt: "Página",         en: "Page" },
  "th.views":      { pt: "Visualizações",  en: "Pageviews" },
  "th.engaged":    { pt: "Engajadas",      en: "Engaged" },
  "th.bounce":     { pt: "Rejeição",       en: "Bounce" },

  /* Status labels */
  "st.active":   { pt: "Ativa",      en: "Active" },
  "st.paused":   { pt: "Pausada",    en: "Paused" },
  "st.learning": { pt: "Aprendendo", en: "Learning" },

  /* Funnel stages */
  "fn.impressions": { pt: "Impressões",   en: "Impressions" },
  "fn.clicks":      { pt: "Cliques",      en: "Clicks" },
  "fn.sessions":    { pt: "Sessões",      en: "Sessions" },
  "fn.atc":         { pt: "Adicionou ao carrinho", en: "Added to cart" },
  "fn.checkout":    { pt: "Iniciou checkout",  en: "Began checkout" },
  "fn.purchase":    { pt: "Compra",       en: "Purchase" },
  "fn.leads":       { pt: "Leads",        en: "Leads" },
  "fn.qualified":   { pt: "Leads qualificados", en: "Qualified leads" },
  "fn.demos":       { pt: "Demos agendadas", en: "Demos booked" },

  /* Login */
  "li.eyebrow":     { pt: "Painel do cliente",   en: "Client dashboard" },
  "li.welcome":     { pt: "Bem-vindo de volta.", en: "Welcome back." },
  "li.email":       { pt: "E-mail",              en: "Email" },
  "li.password":    { pt: "Senha",               en: "Password" },
  "li.remember":    { pt: "Manter conectado",    en: "Stay signed in" },
  "li.forgot":      { pt: "Esqueci a senha",     en: "Forgot password" },
  "li.signin":      { pt: "Entrar",              en: "Sign in" },
  "li.or":          { pt: "ou continue com",     en: "or continue with" },
  "li.google":      { pt: "Google",              en: "Google" },
  "li.sso":         { pt: "SSO da empresa",      en: "Company SSO" },
  "li.foot":        { pt: "Não é cliente Makali ainda?", en: "Not a Makali client yet?" },
  "li.foot.cta":    { pt: "Fale com a gente",    en: "Talk to us" },
  "li.email.ph":    { pt: "voce@empresa.com.br", en: "you@company.com" },
  "li.password.ph": { pt: "••••••••••",          en: "••••••••••" },

  /* Misc */
  "view-all":       { pt: "Ver todos",            en: "View all" },
  "ad-account":     { pt: "Conta de anúncios",    en: "Ad account" },
  "property":       { pt: "Propriedade",          en: "Property" },
  "store":          { pt: "Loja",                 en: "Store" },
  "all":            { pt: "Todos",                en: "All" },
  "vs":             { pt: "vs",                   en: "vs" },
  "of-spend":       { pt: "do investimento",      en: "of spend" },
  "filter-tag":     { pt: "Clique em um conceito para filtrar", en: "Click a concept to filter" },
  "new-concept":    { pt: "Novo conceito",        en: "New concept" },
  "edit-concepts":  { pt: "Editar conceitos",     en: "Edit concepts" },
  "concepts-count": { pt: "conceitos",            en: "concepts" },
  "ads-count":      { pt: "anúncios",             en: "ads" },
  "ads-singular":   { pt: "anúncios",             en: "ads" },
  "currency.brl":   { pt: "BRL",                  en: "BRL" },
  "currency.usd":   { pt: "USD",                  en: "USD" },

  /* Tagging system */
  "tag.untagged":      { pt: "Sem tag",              en: "Untagged" },
  "tag.untagged-ads":  { pt: "Anúncios sem tag",     en: "Untagged ads" },
  "tag.untagged-count":{ pt: "novos anúncios precisam de tag — selecione e adicione", en: "new ads need tagging — pick them and add a concept" },
  "tag.tag-now":       { pt: "Marcar agora",         en: "Tag now" },
  "tag.add":           { pt: "Adicionar tag",        en: "Add tag" },
  "tag.add-concept":   { pt: "Adicionar conceito",   en: "Add concept" },
  "tag.suggested":     { pt: "Sugeridos",            en: "Suggested" },
  "tag.custom":        { pt: "Personalizado",        en: "Custom" },
  "tag.create":        { pt: "Criar tag",            en: "Create tag" },
  "tag.placeholder":   { pt: "ex.: depoimento", en: "e.g. testimonial" },
  "tag.remove":        { pt: "Remover",              en: "Remove" },
  "tag.all":           { pt: "Todas",                en: "All" },
  "tag.note-manual":   { pt: "Tags atribuídas manualmente pela agência",   en: "Tags assigned manually by your agency" },
  "tag.note-campaigns":{ pt: "Marcações de campanha gerenciadas no dashboard — não vinculadas ao nome.", en: "Campaign tags managed in the dashboard — not parsed from names." },
  "tag.note-creatives":{ pt: "Anúncios começam sem tag. Marque cada um conforme você analisa.", en: "Ads start untagged. Tag as you review each one." },
  "tag.general":       { pt: "Geral",                en: "General" },

  /* Recommended tag values (kept short) */
  "tag.t.prospecting": { pt: "Prospecção",        en: "Prospecting" },
  "tag.t.retargeting": { pt: "Retargeting",       en: "Retargeting" },
  "tag.t.reach":       { pt: "Reach",             en: "Reach" },
  "tag.t.remarketing": { pt: "Remarketing",       en: "Remarketing" },
  "tag.t.brand":       { pt: "Brand",             en: "Brand" },
  "tag.t.dpa":         { pt: "DPA",               en: "DPA" },
  "tag.t.lead-gen":    { pt: "Lead Gen",          en: "Lead Gen" },

  "tag.c.product-demo":{ pt: "Demo do produto",   en: "Product demo" },
  "tag.c.before-after":{ pt: "Antes/depois",      en: "Before/after" },
  "tag.c.testimonial": { pt: "Depoimento",        en: "Testimonial" },
  "tag.c.promo":       { pt: "Promoção",          en: "Promo" },
  "tag.c.carousel-dpa":{ pt: "Carrossel · DPA",   en: "Carousel · DPA" },
  "tag.c.inspiration": { pt: "Inspirações",       en: "Inspiration" },
  "tag.c.launch":      { pt: "Lançamento",        en: "Launch" },
  "tag.c.ugc":         { pt: "UGC",               en: "UGC" },

  /* Google Ads campaign type tags */
  "tag.g.search":      { pt: "Search",            en: "Search" },
  "tag.g.shopping":    { pt: "Shopping",          en: "Shopping" },
  "tag.g.pmax":        { pt: "PMax",              en: "PMax" },
  "tag.g.display":     { pt: "Display",           en: "Display" },
  "tag.g.youtube":     { pt: "YouTube",           en: "YouTube" },
  "tag.g.demand-gen":  { pt: "Demand Gen",        en: "Demand Gen" },

  /* Lead-gen specific */
  "th.conv-rate":      { pt: "Tx. conversão",     en: "Conv. rate" },

  /* Login — roles */
  "li.role.client":    { pt: "Cliente",           en: "Client" },
  "li.role.admin":     { pt: "Admin Makali",      en: "Makali Admin" },
  "li.role.username":  { pt: "Usuário",           en: "Username" },
  "li.error":          { pt: "Credenciais inválidas.", en: "Invalid credentials." },

  /* Settings page */
  "set.title":              { pt: "Configurações",                  en: "Settings" },
  "set.sub":                { pt: "Gerenciado pelo time Makali",    en: "Managed by the Makali team" },
  "set.platforms":          { pt: "Conexões de plataforma",         en: "Platform connections" },
  "set.platforms.sub":      { pt: "Ative apenas o que o cliente usa. Aba aparece quando ativada e com ID preenchido.", en: "Enable only what the client uses. A tab appears when enabled and the account ID is set." },
  "set.client":             { pt: "Dados do cliente",               en: "Client settings" },
  "set.client.sub":         { pt: "Identidade, mercado e moeda — afeta sidebar, idioma e relatórios.", en: "Identity, market, and currency — drives sidebar, language, and reporting." },
  "set.access":             { pt: "Acesso ao dashboard",            en: "Dashboard access" },
  "set.access.sub":         { pt: "Credenciais separadas para cliente e admin (time Makali).", en: "Separate credentials for the client and the Makali team." },
  "set.field.name":         { pt: "Nome do cliente",                en: "Client name" },
  "set.field.logo":         { pt: "Logo do cliente",                en: "Client logo" },
  "set.field.logo.cta":     { pt: "Carregar imagem",                en: "Upload image" },
  "set.field.logo.hint":    { pt: "PNG ou SVG · fundo transparente recomendado", en: "PNG or SVG · transparent background recommended" },
  "set.field.category":     { pt: "Categoria do cliente",           en: "Client category" },
  "set.field.category.ph":  { pt: "Ex.: DTC · Casa & Decoração · BRL", en: "e.g. DTC · Home & Decor · USD" },
  "set.field.market":       { pt: "Mercado",                        en: "Market" },
  "set.field.market.br":    { pt: "Brasil · Português",             en: "Brazil · Portuguese" },
  "set.field.market.intl":  { pt: "Internacional · Inglês",         en: "International · English" },
  "set.field.market.note":  { pt: "Define automaticamente o idioma do dashboard.", en: "Automatically sets the dashboard language." },
  "set.field.type":         { pt: "Tipo de cliente",                en: "Client type" },
  "set.field.type.ecom":    { pt: "E-commerce",                     en: "E-commerce" },
  "set.field.type.lead":    { pt: "Lead gen",                       en: "Lead gen" },
  "set.field.currency":     { pt: "Moeda do relatório",             en: "Reporting currency" },
  "set.field.currency.ph":  { pt: "BRL, USD, EUR…",                 en: "USD, BRL, EUR…" },
  "set.field.platform.id":  { pt: "ID da conta",                    en: "Account ID" },
  "set.field.enabled":      { pt: "Ativo",                          en: "Enabled" },
  "set.field.disabled":     { pt: "Desativado",                     en: "Disabled" },
  "set.field.client.user":  { pt: "Usuário do cliente",              en: "Client username" },
  "set.field.client.pass":  { pt: "Senha do cliente",                en: "Client password" },
  "set.field.admin.user":   { pt: "Usuário admin",                   en: "Admin username" },
  "set.field.admin.pass":   { pt: "Senha admin",                     en: "Admin password" },
  "set.save":               { pt: "Salvar alterações",               en: "Save changes" },
  "set.saved":              { pt: "Salvo",                           en: "Saved" },
  "set.platform.meta":      { pt: "Meta Ads",                        en: "Meta Ads" },
  "set.platform.google":    { pt: "Google Ads",                      en: "Google Ads" },
  "set.platform.analytics": { pt: "Google Analytics",                en: "Google Analytics" },
  "set.platform.shopify":   { pt: "Shopify",                         en: "Shopify" },
  "set.platform.tiktok":    { pt: "TikTok Ads",                      en: "TikTok Ads" },
  "set.placeholder.show":   { pt: "Mostrar",                         en: "Show" },
  "set.placeholder.hide":   { pt: "Esconder",                        en: "Hide" },
};

function T({ k }) {
  const lang = (window.__mkLang || "pt");
  const s = STRINGS[k];
  if (!s) return <span style={{color: "#f0f"}}>{k}</span>;
  return s[lang] || s.pt;
}
function t(k, lang) {
  lang = lang || window.__mkLang || "pt";
  const s = STRINGS[k];
  if (!s) return k;
  return s[lang] || s.pt;
}

window.T = T;
window.t = t;
window.STRINGS = STRINGS;
