本技能是一份关于在应用中实现国际化与本地化的综合指南。其用途包括:构建多语言应用、支持国际用户、实现语言切换、按不同地区格式化日期/时间/数字、支持从右到左(RTL)语言、提取和管理翻译字符串、实现复数规则,以及建立翻译工作流。
主要能力涵盖:消息翻译、复数化处理、日期/时间/数字格式化、RTL 语言支持,以及与流行 i18n 库的集成。参考资料(references/ 目录)中包含以下详细实现主题:i18next(JavaScript/TypeScript)、React-Intl(Format.js)、Python i18n(gettext)、日期与时间格式化、数字与货币格式化、复数规则、RTL 语言支持、翻译管理、地区检测、服务端 i18n。
使用方式方面,资料给出了一个最小可用示例(i18n.ts),使用 i18next 配合 i18next-http-backend 和 i18next-browser-languagedetector,设置 fallbackLng 为 en、开启开发环境调试、配置插值不转义(React 已处理转义)、后端加载路径为 /locales/{{lng}}/{{ns}}.json,并按 querystring、cookie、localStorage、navigator 的顺序检测语言,缓存到 localStorage 和 cookie。完整实现请参见 reference guides。
适用场景包括:多语言应用、国际用户支持、语言切换、地区化日期/时间/数字格式化、RTL 语言(如阿拉伯语、希伯来语)、翻译字符串提取与管理、复数规则、翻译工作流搭建。
最佳实践建议做:将所有面向用户的字符串提取到翻译文件;复杂消息使用 ICU 消息格式;为每种语言正确支持复数;使用地区感知的日期/时间/数字格式化;为阿拉伯语、希伯来语等实现 RTL 支持;提供回退语言(通常为英语);使用命名空间组织翻译;用伪本地化(ääçćëńţś)测试;存储地区偏好(cookie、localStorage);生产环境使用专业译者;实现翻译管理工作流;支持动态语言切换;使用翻译记忆工具。建议不要:在代码中硬编码面向用户的字符串;拼接已翻译字符串;假设英语语法规则适用于所有语言;对所有语言使用通用复数形式(一/多);忘记文本扩展(德语约长 30%);以地区特定格式存储日期/时间;用旗帜代表语言(旗帜 ≠ 语言);在没有上下文的情况下翻译技术术语;将翻译键与 UI 字符串混用;忘记翻译 alt 文本、标题、占位符;假设布局为从左到右。
限制:该资料为技能/提示词指南,具体价格、平台限制、效果数据暂未提供。