// Cook Street Sourcing — Translations Part 2: Mandarin + Language Hook

window.TRANSLATIONS.zh = {
  nav:{ about:"关于我们", services:"服务", categories:"产品类别", process:"工作流程", regions:"生产区域", cta:"联系我们" },
  hero:{ label:"B2B 采购与制造", line1:"概念", line2:"如何", line3:"成为产品。", sub:"Cook Street Sourcing 将深厚的制造业合作关系与专有数字化工具相结合，为产品开发的每个阶段带来软件级别的管理结构。", cta1:"开启项目", cta2:"我们的服务" },
  stats:[{ label:"年制造业传承" },{ label:"近两年生产件数" },{ label:"全球工厂合作伙伴" },{ label:"运营国家" },{ label:"年实践经验" }],
  about:{
    label:"关于我们",
    headline1:"我们不是传统的", headline2:"采购中介。",
    p1:"Cook Street Sourcing 建立在一个简单的信念之上：优质产品来自优质关系、深厚的产品知识以及每个阶段的清晰可见性。",
    p2:"我们的基础在于皮包，背靠数十年的家族制造业传承、18年的产品开发实践经验，以及在巴西和中国之间近二十年的国际贸易经验。",
    p3:"我们从内到外了解产品——从结构、材料、五金和样品，到供应商谈判、生产跟进、质量控制、物流和最终交付。",
    p4:"但我们的价值不仅仅在于工厂关系。我们将长期供应商合作与结构化数字工具相结合，用于项目跟踪、供应商管理、样品工作流程和生产监督。",
    p5:"客户选择Cook Street，是因为我们理解流程的两个层面：产品背后的创意抱负，以及将其精良制造所需的运营精准度。",
    tagline:"您来构想，我们来实现——从第一件样品到最终发货。",
    values:[
      { label:"品质", desc:"从开发到交付的严格标准。" },
      { label:"透明度", desc:"每个阶段的清晰沟通与可见性。" },
      { label:"合作关系", desc:"长期供应商关系，而非交易性采购。" },
    ],
    expertiseLabel:"创始专长",
    expertiseH1:"皮包是", expertiseH2:"我们的基因。",
    stats:[
      { value:"25+", label:"年家族制造业传承" },
      { value:"18", label:"年产品开发实践经验" },
    ],
    expertiseBio:"我们的创始专长来自一个经营皮包制造工厂超过25年的家族。结合自2007年以来的产品开发实践经验和直接国际贸易工作，这使Cook Street对产品和流程都有实际的深刻理解。",
    points:[
      { title:"结构知识", desc:"从结构和加固到边缘处理和最终组装，我们了解包袋是如何从内到外构建的。" },
      { title:"材料专业知识", desc:"皮革、合成材料、纺织品、内衬、加固材料和辅料——我们以同样的专注采购材料。" },
      { title:"五金专长", desc:"扣件、D形环、包脚、拉链、扣环和品牌金属配件是品质的体现。我们知道如何规格化、采购和测试。" },
      { title:"样品精确度", desc:"我们的样品流程结构化、有据可查且可追溯。每次修改均被追踪，每个细节均被沟通，每个决定均被明确说明。" },
    ],
  },
  intlTrade:{
    label:"国际贸易",
    headline1:"近二十年", headline2:"国际贸易", headline3:"经验。",
    sub:"自2007年起在巴西、亚洲和美洲之间运营——在合同悄然失败之处，我们已完成数千笔交易。",
    since:"2007", sinceLabel:"开始运营年份",
    continents:"3", continentsLabel:"从一张桌子协调的大洲",
    pillars:[
      { n:"01", title:"国际采购", desc:"我们知道哪个地区适合哪种产品，以及如何驾驭每个地区的商业动态——定价、交货期、最小订购量和权衡取舍。" },
      { n:"02", title:"商业文件专业知识", desc:"信用证、国际贸易术语、HS编码、原产地证书、海关文件。我们已完成数千笔，知道如何构建以保护您的利益。" },
      { n:"03", title:"多币种谈判", desc:"以美元、巴西雷亚尔、人民币和欧元定价。我们谈判、对冲并构建交易，充分了解货币敞口及其对到岸成本的影响。" },
      { n:"04", title:"物流与关税策略", desc:"从货运路线到关税优化，我们以总成本为导向进行规划——而非仅仅关注工厂价格。正确的开始结构在海关节省真实资金。" },
    ],
  },
  technology:{
    label:"技术优势", headline1:"软件级严谨，", headline2:"制造业灵魂。",
    desc:"Cook Street 使用专有数字工具，为采购流程带来软件级别的结构——实时项目可视化、里程碑跟踪、供应商文档和样品工作流程，消除传统采购的混乱。",
    quote:"\"建立于关系之上，运行于流程之中。\"",
    features:[
      { n:"01", title:"实时项目可视化", desc:"每个项目都在结构化的数字环境中运行。里程碑、审批和状态更新随时可查——无需追踪邮件。" },
      { n:"02", title:"里程碑跟踪", desc:"从简报到交付，每个阶段都有明确的检查点。客户始终了解产品在开发周期中的位置。" },
      { n:"03", title:"供应商文档管理", desc:"工厂档案、认证、审计记录和生产历史记录维护在结构化数据库中——决策基于数据。" },
      { n:"04", title:"样品工作流管理", desc:"样品请求、修改轮次和审批链通过结构化工作流程管理，消除关键阶段的混乱。" },
      { n:"05", title:"生产监督", desc:"生产过程中的质量检查、生产里程碑和货运协调实时追踪，并有现场监督。" },
      { n:"06", title:"沟通基础设施", desc:"结构化沟通协议确保无一遗漏。每个决策、变更和审批均有记录可查。" },
    ],
  },
  servicesWhyUs:{
    label:"我们的服务",
    headline1:"端到端", headline2:"合作伙伴。",
    sub:"从简报到最终发货——我们管理完整的产品开发和生产生命周期。",
    whyLabel:"品牌为何选择与我们合作",
    whyPoints:[
      { title:"我们注重每一个细节", desc:"针脚数量、五金处理、标签位置——这些细微之处决定了一件产品的好坏。我们比远程作业的团队发现更多问题。" },
      { title:"困难时期的坦诚沟通", desc:"制造业总有不顺的时候。一旦发生，我们会第一时间告知您，提供背景信息和解决方案——而非借口。" },
      { title:"商业视角", desc:"每一个采购决策都需要对照您的利润率和发展目标来衡量。当某个规格会损害您的成本时，我们会提出异议。" },
      { title:"信用证与贸易专业知识", desc:"信用证、国际贸易术语、HS编码——国际贸易的后端往往是交易悄然失败之处。我们处理过数千笔。" },
      { title:"无需追问的可视化管理", desc:"我们的平台让您实时查看采购订单、样品和货物状态。任何变化发生时，您与我们同步获知。" },
    ],
    servicesLabel:"我们的服务项目",
    items:[
      { n:"01", title:"产品开发", desc:"从概念简报到最终规格——材料选择、结构决策、五金采购和技术包开发。" },
      { n:"02", title:"供应商采购", desc:"进入巴西、中国和越南19家经过审核的工厂网络，根据产品类型、数量和商业目标匹配供应商。" },
      { n:"03", title:"样品与原型制作", desc:"结构化样品工作流程，含有据可查的修改轮次、清晰的审批链和实时沟通。" },
      { n:"04", title:"生产跟进", desc:"生产期间的现场监督，含里程碑跟踪、生产线质量检查和主动沟通。" },
      { n:"05", title:"质量对齐", desc:"根据您的品牌标准进行生产前、生产中和最终检验，提前定义质量标准并全程执行。" },
      { n:"06", title:"物流协调", desc:"从工厂大门到您的仓库——货运协调、海关文件、关税优化和交付规划。" },
    ],
  },
  services:{
    label:"我们的服务", headline1:"端到端", headline2:"合作伙伴。",
    sub:"从第一次概念沟通到最终交付——我们管理完整的产品开发和生产生命周期。",
    items:[
      { n:"01", title:"产品开发", desc:"从概念简报到最终规格——材料选择、结构决策、五金采购和技术包开发，具备工艺级专业知识。" },
      { n:"02", title:"供应商采购", desc:"进入中国、越南和巴西19家经过审核的工厂网络。我们根据产品类型、数量和商业目标匹配最适合的供应商。" },
      { n:"03", title:"样品与原型制作", desc:"结构化样品工作流程，含有据可查的修改轮次、清晰的审批链和实时沟通。" },
      { n:"04", title:"生产跟进", desc:"生产期间的现场监督。里程碑跟踪、生产线质量检查和主动沟通确保产品按规格生产。" },
      { n:"05", title:"质量对齐", desc:"根据您的品牌标准进行生产前、生产中和最终检验。我们提前定义质量标准，并在整个生产周期中执行。" },
      { n:"06", title:"物流协调", desc:"从工厂大门到您的仓库——货运协调、海关文件、关税优化和交付规划，全程管理。" },
    ],
  },
  categories:{
    label:"产品类别", headline1:"我们共同", headline2:"打造的产品。",
    sub:"从我们的核心皮包专长到时装、生活方式和特色类别的全系列产品。",
    items:[
      { name:"手袋", note:"托特包、手拿包、斜挎包、硬挺结构包及时尚包" },
      { name:"鞋履", note:"运动、正装、休闲及楦头开发" },
      { name:"服装", note:"梭织、针织和技术面料" },
      { name:"配饰", note:"腰带、钱包、棒球帽、小皮具及珠宝" },
      { name:"行李箱", note:"硬壳、软壳及旅行系统" },
      { name:"眼镜", note:"镜框、太阳镜及光学眼镜" },
      { name:"围巾", note:"丝绸、羊毛、印花和织造" },
      { name:"杯壶", note:"保温饮品器具及生活方式产品" },
      { name:"面料", note:"为纺织行业提供采购与开发服务" },
      { name:"生活方式", note:"家居、旅行及品牌延伸" },
    ],
  },
  process:{
    label:"工作方式", headline1:"一套专为", headline2:"清晰而建的流程。",
    steps:[
      { n:"01", title:"发现与简报", desc:"结构化的发现会议——产品愿景、商业需求、目标市场、数量和时间表。每个项目从清晰开始。" },
      { n:"02", title:"供应商匹配", desc:"利用我们在中国、越南和巴西经过审核的工厂网络，为您的产品和目标找到合适的制造合作伙伴。" },
      { n:"03", title:"开发与样品", desc:"结构化样品工作流程，含有据可查的修改轮次、清晰的审批链和实时沟通。每个细节均被追踪。" },
      { n:"04", title:"生产与监督", desc:"现场生产监督，含生产线质量检查、里程碑跟踪和主动沟通。无意外。" },
      { n:"05", title:"物流与交付", desc:"货运协调、海关文件、关税优化和交付规划——从工厂大门到您的仓库。" },
    ],
  },
  regions:{
    label:"生产区域", headline1:"合适的工厂，", headline2:"合适的区域。",
    sub:"经过审核的工厂合作伙伴，遍布3个国家——在我们运营的每个区域均有现场监督。",
    note:"所有工厂均经过审核、审计，并作为活跃合作关系维护——而非名录。",
    totals:[["19","工厂总数"],["3","国家"],["2","大洲"]],
    items:[
      { country:"巴西", factories:5, label:"南美洲", desc:"我们的南美基地提供区域近邻优势、较小的起订量、有利的关税结构以及皮具方面的深厚传承。", strengths:["较小起订量","区域关税优势","皮具制造传承","毗邻美洲市场"] },
      { country:"中国", factories:12, label:"亚洲", desc:"我们最大的制造基地。在手袋、鞋履、服装、配饰、眼镜、行李箱和生活方式产品方面具有无与伦比的规模、品类深度和竞争力价格。", strengths:["规模与专业化","全产品类别","竞争力价格","完善的质量基础设施"] },
      { country:"越南", factories:2, label:"亚洲", desc:"专注的高质量网络。越南在鞋履、皮具和服装方面表现卓越——拥有强大的制造文化和不断增长的技术能力。", strengths:["鞋履与皮具","服装与梭织面料","强大的质量文化","有竞争力的交货期"] },
    ],
  },
  whyUs:{
    label:"品牌为何选择与我们合作", headline1:"采购合作伙伴，", headline2:"而非推销", headline3:"话术。",
    quote:"采购合作伙伴，而非推销话术。",
    points:[
      { title:"我们注重每一个细节", desc:"针脚数量、五金处理、标签位置——这些细微之处决定了一件产品是品牌引以为傲的，还是令人遗憾的。我们花了整个职业生涯学习产品在哪里出问题，因此能比远程作业的团队发现更多问题。" },
      { title:"困难时期的坦诚沟通", desc:"制造业总有不顺的时候。样品未达标，货期延误。一旦发生，我们会第一时间告知您，提供背景信息和解决方案——而非借口。我们的职责是让您走在问题前面，而非管理您的感受。" },
      { title:"商业视角", desc:"每一个采购决策都需要对照您的利润率、市场定位和发展目标来衡量。当某个规格会损害您的成本时，我们会提出异议；当供应商的报价好得令人怀疑时，我们会及时预警。" },
      { title:"信用证与贸易专业知识", desc:"信用证、国际贸易术语、HS编码、贸易文件——国际贸易的后端往往是交易悄然失败之处。我们处理过数千笔此类业务，深知如何构建既能保护您又不会吓退优质供应商的交易条款。" },
      { title:"无需追问的可视化管理", desc:"我们的运营平台让您实时查看采购订单、样品和货物状态，您的团队无需再发邮件催要更新。任何变化发生时，您与我们同步获知。" },
    ],
    stats:[["19","工厂合作伙伴"],["3","国家"],["25+","年传承"]],
  },
  contact:{
    label:"联系我们", headline1:"开始一段", headline2:"对话。",
    sub:"无论您是在开发新产品、优化供应链，还是探索制造选项——我们都希望了解您的项目。",
    details:[{ label:"邮箱", val:"contato@cookstreet.com.br" }],
    form:{ name:"姓名", namePh:"您的姓名", company:"公司", companyPh:"您的品牌", email:"电子邮箱", emailPh:"your@email.com", category:"产品类别", categoryPh:"选择类别", message:"项目描述", messagePh:"请描述您的产品、数量要求、时间表及具体需求...", submit:"发送消息", thanks:"感谢您。", thanksMsg:"我们已收到您的留言，将在一个工作日内与您联系。", categories:["手袋与皮具","鞋履","服装","配饰","行李箱","眼镜","围巾","杯壶","面料","生活方式","其他"] },
  },
  footer:{ desc:"为时装和生活方式品牌提供技术赋能的采购与制造合作服务。", nav:"导航", regionsLabel:"区域", contactLabel:"联系方式", emailLabel:"邮箱", responseLabel:"响应时间", responseVal:"一个工作日内", rights:"版权所有。", tagline:"技术赋能采购与制造", regions:[["巴西","5家工厂"],["中国","12家工厂"],["越南","2家工厂"]] },
};

// ── Global language state ────────────────────────────────────────────────────
window.__lang = localStorage.getItem('ckst_lang') || 'en';
window.__setLang = (lang) => {
  window.__lang = lang;
  localStorage.setItem('ckst_lang', lang);
  window.dispatchEvent(new CustomEvent('langchange', { detail: lang }));
};

function useT() {
  const [lang, setLang] = React.useState(window.__lang);
  React.useEffect(() => {
    const h = (e) => setLang(e.detail);
    window.addEventListener('langchange', h);
    return () => window.removeEventListener('langchange', h);
  }, []);
  return window.TRANSLATIONS[lang] || window.TRANSLATIONS['en'];
}

function LangSwitcher({ dark }) {
  const [lang, setLang] = React.useState(window.__lang);
  React.useEffect(() => {
    const h = (e) => setLang(e.detail);
    window.addEventListener('langchange', h);
    return () => window.removeEventListener('langchange', h);
  }, []);

  const opts = [{ code:'en', label:'EN' }, { code:'pt', label:'PT' }, { code:'zh', label:'中文' }];

  return (
    <div style={{ display:"flex", alignItems:"center", gap:2 }}>
      {opts.map((o, i) => (
        <React.Fragment key={o.code}>
          <button onClick={() => window.__setLang(o.code)} style={{
            background:"none", border:"none", cursor:"pointer",
            fontFamily: o.code==='zh' ? "'Noto Sans SC', sans-serif" : "'Raleway', sans-serif",
            fontSize:11, fontWeight: lang===o.code ? 600 : 400,
            letterSpacing:"0.06em",
            color: lang===o.code ? "#9B7B52" : (dark ? "rgba(255,255,255,0.4)" : "rgba(30,27,24,0.4)"),
            padding:"4px 5px",
            borderBottom: lang===o.code ? "1px solid #9B7B52" : "1px solid transparent",
            transition:"all 0.2s",
          }}
            onMouseEnter={e => { if(lang!==o.code) e.currentTarget.style.color="#9B7B52"; }}
            onMouseLeave={e => { if(lang!==o.code) e.currentTarget.style.color= dark ? "rgba(255,255,255,0.4)" : "rgba(30,27,24,0.4)"; }}
          >{o.label}</button>
          {i < opts.length-1 && <span style={{ color: dark ? "rgba(255,255,255,0.15)" : "rgba(30,27,24,0.18)", fontSize:9 }}>|</span>}
        </React.Fragment>
      ))}
    </div>
  );
}

Object.assign(window, { useT, LangSwitcher });
