国际化项目在工作台下包含两个部分:国际化在其工作台中。全球适配性指的是你已有的代码。文化指的是你开展业务的市场。全球化检查可防止新代码新增全球适配性已识别的问题。
全球适配性
全球适配性会列出默认分支上的代码仍针对某一语言或文化做出的假设。Coroid会按照全球化检查应用于变更的规则来读取代码,无需运行代码即可报告所有发现的问题。此处不会限制任何操作:这只是现有代码,你可以自行决定修复节奏。
- 全球就绪假设单一语言的代码
- 文化各市场的预期差异
- 概览展示每种语言的当前状态
- 字符串涵盖所有语言下的每条字符串
- 建议等待最终决策
- 交换用于其他工具的文件
- 贡献者可提出措辞建议的人员
- 自动化夜间及合并时自动执行的任务
- 设置语言、访问权限及相关开销设置
默认分支中的代码往往仍会预设单一语言或文化环境的相关假设。通过细粒度的任务来修正这些问题;Globalization检查机制可防止新写入的代码引入更多此类假设。
已检查 3f2c9a1 2小时前
- 写入代码的文本默认情况下在新代码中被拦截供人阅读的文本直接写入代码而非目录中。142-9创建修复任务
- 由零散部分拼接而成的句子默认情况下在新代码中被拦截句子由零散部分拼接而成,不同语言的词序存在差异。23-3
- 未考虑区域设置的数字格式数字格式未适配读者的区域设置。31-4
- 手动拼接的列表供人阅读的列表用逗号或“和”连接,不同语言的表述方式各异。12-2
- 单词组合输入期间的处理输入中文、日文或韩文单词时,按下回车键会在单词选定前提交表单。6
- src/components/checkout/summary.tsx写入代码的文本:18 · 未考虑区域设置的数字格式:418
- 42:9
订单摘要
- 57:13
所有订单均免运费
- 61:11
应用优惠码
- 42:9
- src/app/account/page.tsx写入代码的文本:11 · 由零散部分拼接而成的句子:211
- src/components/cart/empty-state.tsx写入代码的文本:77
工作台中的全球就绪状态:默认分支的代码仍对某语言或文化存在假设,按问题代码归类,附修复文件及任务。仅为示意数据。
该部分会显示以下内容:
- 发现结果,包含已读取的文件数量以及自上一次检查以来的变更情况。
- 发现的问题:每种类型的问题各占一行,并标注其数量。写入代码的文本以及由片段拼接而成的句子会被标记为新代码中默认被屏蔽,因为全球化检查会返回新增这些内容的变更请求。
- 文件:按发现问题数量排序的文件列表。选择某种类型可仅查看对应类型的文件,选择一个文件则可查看每个问题的所在行号及具体内容。
当你打开全球适配性页面,且默认分支上的代码自上一次检查后发生了变更,Coroid会重新进行检查。再次检查会立即读取代码。若项目的问题数量超过20,000个,系统会先列出前20,000个;计数会涵盖所有发现的问题。
问题的类型及对应的修复方法详见面向各市场的设计。你刻意排除的代码会添加i18n-ignore注释说明原因,整个文件夹也可在配置文件中被排除(详见检查读取的内容)。
修复任务
所有者和管理员可选择创建修复任务针对某种类型的问题。Coroid会为该类型生成一个任务,其中会注明需要修复的文件、行号及修复方式。单个任务最多涵盖15个文件或150个问题,优先处理问题最多的文件,以确保任务便于审核;任务合并后,下一次检查会显示剩余待修复的内容。
该任务等待您启动。若任务处于打开状态再次发起请求,会打开同一任务。该行会显示修复任务当前是正在处理、已完成还是已停止。
文化
文化模块展示了各目标市场对日期、数字、货币、地址、电话号码和姓名的格式要求。相关数据来源于公开资料:Unicode CLDR提供格式、日历、计量单位和纸张规格信息,Google提供地址和邮政编码数据,libphonenumber则用于电话号码处理。通过读取器本地化设置进行格式化的代码通常能自动满足大部分要求。
- 全球就绪假设单一语言的代码
- 文化各市场的预期差异
- 概览展示每种语言的当前状态
- 字符串涵盖所有语言下的每条字符串
- 建议等待最终决策
- 交换用于其他工具的文件
- 贡献者可提出措辞建议的人员
- 自动化夜间及合并时自动执行的任务
- 设置语言、访问权限及相关开销设置
各市场对日期、数字、货币、地址、电话号码及姓名格式的期望各不相同,这些信息均源自Unicode CLDR标准以及邮政服务机构发布的地址数据。代码可根据阅读者的本地设置自动采用正确的格式。
- 格式化工具
- next-intl的格式化工具
useFormatter from next-intl - 各市场的货币
- 德语: EUR · 日语: JPY · 阿拉伯语: SAR · 瑞典语: SEK
| 市场 | 数字 | 货币 | 日期 | 时间 | 每周起始日 | 纸张 |
|---|---|---|---|---|---|---|
| 英语en-US · 源文本 | 12,345.678 | $1,299.50 | 3/14/26 | 4:05 PM | 周日 | Letter |
| 德语de-DE | 12.345,678 | 1.299,50 € | 14.03.26 | 16:05 | 周一 | A4 |
| 日语ja-JP | 12,345.678 | ¥1,300 | 2026/03/14 | 16:05 | 周日 | A4 |
| 阿拉伯语ar-SA | ١٢٬٣٤٥٫٦٧٨ | ١٬٢٩٩٫٥٠ ر.س. | ١٤/٣/٢٠٢٦ | ٤:٠٥ م | 周日 | A4 |
| 瑞典语sv-SE | 12 345,678 | 1 299,50 kr | 2026-03-14 | 16:05 | 周一 | A4 |
数据源:Unicode CLDR 48、Google地址数据(libaddressinput)及libphonenumber。示例中各市场的时刻与金额保持一致。
工作台中的文化差异:各市场以自身方式书写数字、价格、日期与时间,设定每周起始日及纸张规格。数值源自读者浏览器及Unicode CLDR。
顶部:
- 格式化工具。代码为阅读者格式化数字、日期和货币的方式,例如next-intl的格式化工具、react-intl、i18next的格式化功能、Angular的管道或普通
Intl。如果没有这类工具,代理会使用Intl以及阅读器的本地化设置进行格式化。 - 各市场的货币。各市场使用的结算货币。每个市场默认采用其所在地区的本地货币。
市场模块会将各个市场的信息并列展示:数字、货币、日期、时间、一周的首日、道路距离和纸张规格。所有内容均采用统一的时刻和单位。与源市场存在差异的值会以深色显示。
打开某个市场可查看更多详情:
| 分组 | 展示内容 |
|---|---|
| 日历与时间 | 各市场使用的日历类型及对应日期、12小时制或24小时制、一周的首日、周末安排、周数编号方式 |
| 数字与货币 | 数位、数值、百分比和价格 |
| 计量与纸张 | 公制、美制或两者并存;道路距离、温度、身高和体重单位;A4纸或Letter纸 |
| 人员与文本 | 姓氏是否在前、电话号码的国内和国际格式、带示例的邮政编码、文本方向、列表拼接方式和文本排序规则 |
| 地址 | 该市场的官方地址写法,若当地使用非拉丁文字则同时标注拉丁文写法;注明必填字段或需大写书写的字段,以及各字段在当地称谓 |
在向导的“文化”步骤中更改格式化工具和各市场的货币文化步骤
(向导中的更改)。所选内容会被写入配置文件,即world.formatter和world.currencies,且需要 CLI 1.14.0 或更高版本;
该向导会移动旧版引脚。
给智能体的指令
参与国际化项目的开发智能体会获取格式化工具, 并且针对每个市场,仅接收与源市场存在差异的内容:包括货币、 日历、数字格式、时钟设置、周起始日与周末规则、纸张规格、计量单位、姓名顺序、 文本方向以及邮政编码。同时还会收到以下要求:将邮政编码和电话号码作为文本存储, 按 E.164 格式保存电话号码,除非当地市场有拆分姓名的需求,否则将姓名存入同一字段, 且在验证阶段接受所有书写系统。