Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    lobehub

    i18n

    lobehub/i18n
    Coding
    72,111

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    Internationalization guide using react-i18next. Use when adding translations, creating i18n keys, or working with localized text in React components (.tsx files)...

    SKILL.md

    LobeHub Internationalization Guide

    • Default language: English (en-US)
    • Framework: react-i18next
    • Only edit files in src/locales/default/ - Never edit JSON files in locales/
    • Run pnpm i18n to generate translations (or manually translate zh-CN/en-US for dev preview)

    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

    1. Add keys to src/locales/default/{namespace}.ts
    2. Export new namespace in src/locales/default/index.ts
    3. For dev preview: manually translate locales/zh-CN/{namespace}.json and locales/en-US/{namespace}.json
    4. Remind the user to run pnpm i18n before creating PR — do NOT run it yourself (very slow)

    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

    Recommended Servers
    Vercel Grep
    Vercel Grep
    Astro Docs
    Astro Docs
    Ref
    Ref
    Repository
    lobehub/lobehub
    Files