OpenClaw 语言包结构
通常一个完整的语言包包含以下部分:

配置文件结构
openclaw/
├── locales/
│ ├── en-US/ # 英文(美国)
│ │ ├── common.json
│ │ ├── ui.json
│ │ └── errors.json
│ ├── zh-CN/ # 中文(简体)
│ ├── zh-TW/ # 中文(繁体)
│ └── ja-JP/ # 日文
└── i18n.config.js # 国际化配置
语言文件示例
en-US/common.json:
{
"welcome": "Welcome to OpenClaw",
"login": "Sign In",
"logout": "Sign Out",
"dashboard": "Dashboard",
"settings": "Settings",
"profile": "Profile",
"save": "Save",
"cancel": "Cancel",
"delete": "Delete",
"confirm_delete": "Are you sure you want to delete?",
"loading": "Loading...",
"success": "Operation successful",
"error": "An error occurred"
}
zh-CN/common.json:
{
"welcome": "欢迎使用 OpenClaw",
"login": "登录",
"logout": "退出登录",
"dashboard": "仪表板",
"settings": "设置",
"profile": "个人资料",
"save": "保存",
"cancel": "取消",
"delete": "删除",
"confirm_delete": "确定要删除吗?",
"loading": "加载中...",
"success": "操作成功",
"error": "发生错误"
}
国际化实现方案
React 项目示例:
// i18n.js
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import LanguageDetector from 'i18next-browser-languagedetector';
import enTranslation from './locales/en-US/common.json';
import zhTranslation from './locales/zh-CN/common.json';
i18n
.use(LanguageDetector)
.use(initReactI18next)
.init({
resources: {
en: { translation: enTranslation },
zh: { translation: zhTranslation }
},
fallbackLng: 'en',
interpolation: {
escapeValue: false
}
});
export default i18n;
最佳实践建议
-
键名规范
component.section.element.action button.login.submit, modal.user.delete.title -
占位符处理
{ "welcome_user": "Welcome, {{name}}!", "items_count": "You have {{count}} items" } -
复数形式
{ "message_count": { "one": "You have {{count}} message", "other": "You have {{count}} messages" } } -
HTML 标签处理
{ "terms": "Please read our <1>Terms and Conditions</1>" }
自动化工具推荐
- i18next - 流行的国际化框架
- react-intl - React 国际化库
- vue-i18n - Vue.js 国际化
- Lokalise - 翻译管理平台
- Crowdin - 协作翻译工具
- Phrase - 本地化平台
翻译工作流程
- 提取文本 - 从源代码中提取所有需要翻译的字符串
- 创建翻译文件 - 生成基础语言模板
- 翻译工作 - 由翻译人员或团队进行翻译
- 质量检查 - 校对和验证翻译质量
- 集成部署 - 将翻译文件集成到项目中
你需要我帮你:
- 创建特定语言包的完整文件?
- 设计特定的国际化方案?
- 解决语言包相关的具体问题?
- 还是其他方面的帮助?
请告诉我你的具体需求,我可以为你提供更针对性的帮助。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。