LobeHub Internationalization Guide
SkillDev toolsUse for user-facing strings and react-i18next locale keys, namespaces, interpolation, translations or bun run i18n.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the LobeHub Internationalization Guide skill
What this skill tells your AI
The instructions your AI receives, as published by find-xposed-magisk/lobe-chat in .agents/skills/i18n/SKILL.md and read by ahel’s review.
- Default language: English (en-US)
- Framework: react-i18next
- Only edit files in
packages/locales/src/default/- Never edit JSON files inlocales/(except hand-written en-US/zh-CN previews) - 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
Usage
import { useTranslation } from 'react-i18next';
const { t } = useTranslation('common');
t('newFeature.title');
t('alert.cloud.desc', { credit: '1000' });
// Multiple namespaces
const { t } = useTranslation(['common', 'chat']);
t('common:save');
Common Namespaces
Most used: common (shared UI), chat (chat features), setting (settings)
Others: auth, changelog, components, discover, editor, electron, error, file, hotkey, knowledgeBase, memory, models, plugin, portal, providers, tool, topic
Signals
- GitHub stars
- 30
- Forks
- 9
- Last commit
- Sep 2026
- Hacker News mentions
- 4
Others that do the same job
Advanced
- Catalog kind
- skill
- Gateway key
i18n-find-xposed-magisk- Source
- github.com/find-xposed-magisk/lobe-chat