跳到正文
cccskills
免费在 GitHub 公开

i18n

Guides internationalization (i18n) implementation using i18next with TypeScript. Triggered when handling localization, translation files, or multilingual support.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md3.5 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

i18n Internationalization Guide

This skill provides mandatory specifications for implementing internationalization using i18next in this project.

1. Architecture Overview

The project adopts a modular i18n structure:

  • i18next: Core internationalization library.
  • TypeScript: Provides complete type safety protection for translation keys.
  • Modular Structure: Translation copy is organized by functionality/module.
  • Dual-end Support: Simultaneously supports app (renderer process) and desktop (main process).

2. Translation File Structure

2.1 Basic Translation Module

// packages/app/locales/en/global.ts
export default {
	notice: 'Notice',
	edit: 'Edit',
	add: 'Add',
	save: 'Save',
	remove: 'Remove',
	remove_confirm:
		'Confirm removal? Deleting this item will also delete the corresponding local file. Please proceed with caution!'
}

2.2 Namespace Module

// packages/app/locales/en/app.ts
export default {
	module: {
		chat: 'Chat',
		research: 'Research',
		agent: 'Agent'
	},
	workspace: {
		title: 'Workspace',
		name_placeholder: 'A unique name'
	}
}

2.3 Regional Language Entry Point

// packages/app/locales/en/index.ts
import ai from './ai'
import app from './app'
import global from './global'

export default {
	translation: {
		...global,
		app,
		ai
	}
} as const // ✅ Must use as const to ensure TypeScript type inference

3. Steps for Adding New Translations

3.1 Adding New Module Translation

// Step 2: Add to entry index
// packages/app/locales/en/index.ts
import newFeature from './newFeature'

// Step 1: Create new translation file (English and Chinese must be created simultaneously)
// packages/app/locales/en/newFeature.ts
export default {
	title: 'New Feature',
	description: 'This is a new feature description'
}

// packages/app/locales/zh-cn/newFeature.ts
export default {
	title: '新功能',
	description: '这是新功能描述'
}

export default {
	translation: {
		// ... others
		newFeature // Register new module
	}
} as const

4. Constraints and Best Practices

4.1 Naming Conventions

  • Keys: Translation keys must use snake_case.
  • Structure: Organize key names hierarchically by functionality or component.
  • Consistency: Must maintain completely consistent key name structure across all language files.

4.2 Code Style Requirements

  • No Comments: Do not add any comments to translation files.
  • Default Export: Always use export default to export translation objects.
  • Type Safety: In regional language index exports, always use as const.
  • Flat Structure: Keep translation objects as flat as possible (nesting should not exceed 3 levels).

4.3 Dynamic Content and Interpolation

// In translation file
export default {
	welcome_message: 'Welcome, ${name}!',
	item_count: 'You have ${count} items'
}

// In component
const { t } = useTranslation()
t('welcome_message', { name: 'John' })

4.4 Quality Guidelines

  • Translation Completeness: In all supported language files, all keys must have corresponding translations.
  • Context: When words are ambiguous, accurate translations must be provided based on context.
  • Avoid Hardcoding: In React components, never hardcode visible Chinese or English characters; they must be extracted to locale files.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Maintain package-level `agentmap.md` files as outline-level maps of the real file tree and core responsibilities. Use when package structure or responsibility boundaries change and the corresponding `agentmap.md` must be created or updated.

中文简介正在准备中。当前显示原文说明。

MatrixAges/polywise6622026年6月11日 更新

Guides the generation, reading, and updating of agentmap.md files. This skill ensures a consistent and up-to-date codebase map for AI Agents.

中文简介正在准备中。当前显示原文说明。

MatrixAges/polywise6622026年6月11日 更新

Interacts with local browser via Chrome DevTools Protocol (only triggered after user explicitly requests to inspect, debug, or interact with pages open in Chrome)

中文简介正在准备中。当前显示原文说明。

MatrixAges/polywise6622026年6月11日 更新

css

免费

Guides styling implementation using TailwindCSS + CSS Modules. Triggered when handling component styles, layout design, or CSS patterns.

中文简介正在准备中。当前显示原文说明。

MatrixAges/polywise6622026年6月11日 更新

Specialized for translating document files and their content into English. Triggered when localization, translation, or converting Chinese documents to English is requested.

中文简介正在准备中。当前显示原文说明。

MatrixAges/polywise6622026年6月11日 更新

Guides using eRPC (electron-tRPC) for inter-process communication (IPC) between Electron main and renderer processes. Triggered when handling Electron IPC or tRPC-based systems.

中文简介正在准备中。当前显示原文说明。

MatrixAges/polywise6622026年6月11日 更新

查看 MatrixAges 的全部技能

报告此技能的问题