基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
AIHT
内容
精选全部 AI 动态热点榜AI 日报收藏
分类
模型行业编程产品技术观点开源
更多
Agent 接入
返回首页开发者导航
AIHT
精选 / 资讯详情
8.0
热点
AI SCORE
编程提效2026-10-31 05:05

让编程代理统一三端文案与翻译键

dev.to · AI#国际化#编程助手#跨平台
Editor brief · 编辑速览

作者通过locli配合编程代理,将硬编码文案迁入各平台资源目录,并统一iOS、Android和Web的翻译标识。代理合并语义重复的键,遇到译文实际冲突时交由人工决定。

文章思维导图
Knowledge map
拖拽缩放
AI deep read

AI 深度解读

把界面文案交给 AI 翻译,难点往往不在翻译,而在同一句话分散在多个平台、占位符不能改坏、译文长度还得适合按钮。作者做的 locli,试图把这些问题放进一条完整流程:由编程代理整理文案、统一标识、辅助翻译,再由人批准发布。

作者已把它用于自己的 6 个应用,覆盖约 2,650 个键。这份经验值得看的是流程设计;至于换到多人团队后能省多少时间,原文没有对照数据。

先统一文案身份,翻译才不会越做越乱

作者的应用同时覆盖 iOS、Android,部分还有 Web。几轮发布之后,文案一部分硬编码在 SwiftUI 和 Compose 界面里,另一部分虽然进了资源文件,命名却各自为政。

同一个登录按钮,iOS 可能叫 Sign in、account.login 或 login_button,Android 用 R.string.login_btn,Web 又叫 auth.signIn。三套名字让翻译重复维护,也更容易出现用词漂移。

他们的第一步是让代理把硬编码文案搬进各平台原有的目录:iOS 用 String Catalog,Android 用 strings.xml,Web 或后端用 ICU JSON。业务代码改为按键读取。

接着统一为带功能前缀的 lower_snake_case,例如 account_login、settings_language_title、cart_checkout。跨平台表达同一个含义,就共用一个标识;某个平台确实需要不同措辞,再建立对应变体。

这里统一的是含义,不能只看原文是否相同。两个位置都显示「打开」,也可能分别指打开文件和开启功能。

合并时,代理还要保留已有译文、更新代码引用。遇到同一个按钮存在两份不同的德语译文,才停下来让作者判断,而不是自行选一份。

翻译上下文,比多写一句提示词更重要

locli push 上传键和文本,并按作者描述保留翻译人员已经修改的内容。随后,代理结合两类信息翻译:项目为不同语言设定的语气和术语表,以及文案在代码中的使用位置。

例如术语表要求统一使用 workspace,不能随意换成 project;locli context 则通过读取代码,判断 cart_checkout 是工具栏项目,cart_title 是页面标题。

locli context 展示文案在代码中的使用上下文

这能帮助代理判断译文需要多简短、承担什么作用。同一句表达放在标题和按钮里,合适的写法可能不同。

上传时还会检查 %lld、{count} 等占位符、各语言的复数形式和术语使用。波兰语、阿拉伯语的复数规则不能只靠 one、other 两类覆盖。

上下文帮助选词,校验负责拦住结构错误,两者不能互相替代。

不过,原文没有展示占位符检查的实现,也没有提供翻译准确率或界面溢出的测试结果。知道文案用于工具栏,并不等于已经验证它能在真实屏幕上放得下。

发布必须绑定批准的版本

这条流程最后留了一道人工作业:作者在 locli Web 应用里查看文案差异,批准一个发布版本。之后,locli pull 才把该版本写入应用。

这样,构建取用的是一份明确批准的内容,而不是随时变化的最新译文。作者希望借此保证构建可复现,并避免代理凭自信把错误翻译送进商店。

作者使用 Claude Code,也表示 Cursor 和 Codex 可以采用同样的流程。他在自己的 6 个应用中管理约 2,650 个键,覆盖 iOS、Android、Web 和后端,locli 自己的 Web 应用也用它做本地化。

这些实际使用确实发现过兼容问题:当前 Xcode 保存的 String Catalog 版本为 1.1,CLI 起初拒绝读取。作者称已为发现的问题补上修复和测试。

仓库内的初始化入口如下,用于开始配置应用文案:

npx @locli/cli init

注意包名是 @locli/cli;这条命令只是初始化入口,原文没有展开迁移配置细节。

Claude Code 还可以安装插件,让代理接入这套流程:

/plugin marketplace add mariohahn/locli
/plugin install locli@locli

注意先添加 marketplace,再安装插件。作者称 CLI 和 MCP server 采用 MIT 许可、没有依赖,并提供一个免费项目;原文没有说明托管服务的完整授权及额度边界。

我的判断

我认同的是它把整理、翻译、校验、审批连起来了。相比直接让代理批量改资源文件,这套流程更清楚地回答了两个问题:谁处理冲突,以及构建最终取哪份译文。

但跨平台共用键需要稳定的语义边界。移动端短按钮和 Web 上的解释性操作,未必适合共用同一措辞。原文允许建立变体,这是必要的余地,不能为了减少键的数量强行合并。

6 个自有应用能证明作者实际用过,不能证明多人团队的审核成本、协作冲突和规模表现。原文也没有与现有本地化平台或仓库内脚本做对照,效率收益仍应视为作者的经验判断。

能拿来做什么

  • 先盘点前端项目里的硬编码和重复键,按含义整理命名;合并时保留已有译文,并把语义冲突交给人确认。
  • 给 AI 翻译任务附上使用位置、语气和术语表。标题、按钮、工具栏操作应有明确上下文,不能只传一个孤立字符串。
  • 在资源检查中覆盖占位符和语言复数规则,并保留真实界面的人工检查,尤其关注长译文能否正常显示。
  • 如果让编程代理参与本地化,把文案修改与发布批准分开,让构建读取明确批准的版本。
Original source

本文由 AI 通读原文后重新编写,观点部分为站内判断,细节以原文为准,来源 dev.to · AI,原文版权归原作者所有。

阅读原文
上一篇
Cursor上Anthropic扩展遭植入后门近12小时
下一篇
重排器微调零提升,实验能说明什么

资讯速览

dev.to · AI · 2026-10-31 05:05

AI 评分 8.0 / 10

相关标签

#国际化#编程助手#跨平台

继续阅读

  • 撤销修复再跑测试,检查AI补丁是否被覆盖
  • Cursor上Anthropic扩展遭植入后门近12小时
  • 重排器微调零提升,实验能说明什么
  • AI 编辑器预览页的权限边界隐患
  • 代理评测应补上四项过程指标