// 检查 20 个硬编码导航标题的页面,其语言包是否都有 title key const paths = [ ['pages_goods/category','商品分类'], ['pages_goods/cart','购物车'], ['pages_goods/detail','商品详情'], ['pages_goods/list','商品列表'], ['pages_promotion/merch/merchcategory','入驻商户'], ['pages_promotion/merch/detail','商户首页'], ['pages_promotion/fenxiao/ranking_list','排行榜'], ['pages_promotion/fenxiao/child_fenxiao','分销商'], ['pages_tool/ai-chat/index','AI智能客服'], ['pages_tool/contact/contact','电子名片'], ['pages_tool/member/info','个人资料'], ['pages_tool/order/activist','退款'], ['pages_tool/login/login','登录'], ['pages_tool/weapp/order_shipping','小程序发货'], ['pages_tool/seal/structure','结构选型'], ['pages_tool/seal/medium/search','介质材料搜索'], ['pages_tool/seal/medium/detail','搜索结果'], ['pages_tool/cases/index','案例展示'], ['pages_tool/files/list','查看文件'], ['pages_tool/file-preview/file-preview','文件预览'], ]; function toLang(p) { const parts = p.split('/'); if (parts[0] === 'pages_tool') return parts.slice(1).join('/'); if (parts[0] === 'pages_goods') return 'goods/' + parts.slice(1).join('/'); if (parts[0] === 'pages_member') return 'member/' + parts.slice(1).join('/'); if (parts[0] === 'pages_order') return 'order/' + parts.slice(1).join('/'); if (parts[0] === 'pages_promotion') { if (['point','fenxiao','merch'].includes(parts[1])) return parts.slice(1).join('/'); return parts.slice(1).join('/'); } return p; } const fs = require('fs'); const path = require('path'); for (const [p, hardcoded] of paths) { const lp = toLang(p); for (const loc of ['zh-cn','en-us']) { const fp = path.join('lang', loc, lp + '.js'); if (!fs.existsSync(fp)) { console.log(`MISSING ${loc}/${lp}`); continue; } try { const m = require(path.resolve(fp)).lang; const title = m && m.title; const status = title === undefined ? 'NO title' : (title === hardcoded ? 'ZH-only?' : 'OK'); console.log(`${loc}/${lp}.title = ${JSON.stringify(title)} [${status}]`); } catch (e) { console.log(`ERR ${loc}/${lp}: ${e.message}`); } } }