
Interface Translations
Adds user-facing strings and react-i18next keys, with interpolation and translations.
Install
npx skills add lobehub/lobehub --skill i18n -g -a claude-code -y- Repository
- lobehub/lobehub83.7k
- Category
- Writing
- Updated
- 3d ago
- License
- See repository
- Context cost
- Lightabout 841 tokens
- Runs scripts
- No, instructions only
What it does
Use for user-facing strings and react-i18next locale keys, namespaces, interpolation, translations or bun run i18n.
LobeHub Internationalization Guide
- Default language: English (en-US)
- Framework: react-i18next
- Only edit files in
packages/locales/src/default/- Never hand-write translations inlocales/JSON (except en-US/zh-CN previews); generated locales change only throughlobe-i18n, plus the key deletions described in Changing an existing key's English text - Leave generated locales to the daily
auto-i18n.ymlworkflow by default; runbun run i18nmanually only when they are needed immediately
Key Naming Convention
Flat keys with dot notation (not nested objects):
// ✅ Correct
export default {
'alert.cloud.action': '立即体验',
'sync.actions.sync': '立即同步',
'sync.status.ready': '已连接',
};
// ❌ Avoid nested objects
export default {
alert: { cloud: { action: '...' } },
};
Patterns: {feature}.{context}.{action|status}
Parameters: Use {{variableName}} syntax
'alert.cloud.desc': '我们提供 {{credit}} 额度积分',
Avoid key conflicts:
// ❌ Conflict
'clientDB.solve': '自助解决',
'clientDB.solve.backup.title': '数据备份',
// ✅ Solution
'clientDB.solve.action': '自助解决',
'clientDB.solve.backup.title': '数据备份',
Workflow
- Add keys to
packages/locales/src/default/{namespace}.ts - Export new namespace in
packages/locales/src/default/index.ts - For dev preview: manually translate
locales/zh-CN/{namespace}.jsonandlocales/en-US/{namespace}.json - Leave all other locales to
.github/workflows/auto-i18n.yml, which runs daily and opens an automated translation PR - Run
bun run i18nmanually only when the branch needs those translations immediately; it is slow and requiresOPENAI_API_KEY
