translation by Kilo-Org
Guidelines for translating and localizing the Kilo Code extension, including language-specific rules for German, Simplified Chinese, and Traditional Chinese.
Design
14.0K Stars
1.7K Forks
Updated Jan 12, 2026, 05:33 AM
Why Use This
This skill provides specialized capabilities for Kilo-Org's codebase.
Use Cases
- Developing new features in the Kilo-Org repository
- Refactoring existing code to follow Kilo-Org standards
- Understanding and working with Kilo-Org's codebase structure
Skill Snapshot
Auto scan of skill assets. Informational only.
Valid SKILL.md
Checks against SKILL.md specification
Source & Community
Skill Stats
SKILL.md 412 Lines
Total Files 1
Total Size 0 B
License NOASSERTION
---
name: translation
description: Guidelines for translating and localizing the Kilo Code extension, including language-specific rules for German, Simplified Chinese, and Traditional Chinese.
---
# Translation Guidelines
This file provides guidance to agents when working with translations in this repository.
For the translation workflow, use the `/add-missing-translations` command or see `.kilocode/workflows/add-missing-translations.md`.
---
# 1. SUPPORTED LANGUAGES AND LOCATION
- Localize all strings into the following locale files: ar, ca, cs, de, en, es, fr, hi, id, it, ja, ko, nl, pl, pt-BR, ru, th, tr, uk, vi, zh-CN, zh-TW
- The VSCode extension has two main areas that require localization:
- Core Extension: src/i18n/locales/, src/package.nls.json, src/package.nls.<locale>.json (extension backend)
- WebView UI: webview-ui/src/i18n/locales/ (user interface)
# 2. VOICE, STYLE AND TONE
- Always use informal speech (e.g., "du" instead of "Sie" in German) for all translations
- Maintain a direct and concise style that mirrors the tone of the original text
- Carefully account for colloquialisms and idiomatic expressions in both source and target languages
- Aim for culturally relevant and meaningful translations rather than literal translations
- Preserve the personality and voice of the original content
- Use natural-sounding language that feels native to speakers of the target language
- Don't translate the word "token" as it means something specific in English that all languages will understand
- Don't translate domain-specific words (especially technical terms like "Prompt") that are commonly used in English in the target language
# 3. CORE EXTENSION LOCALIZATION (src/)
- Located in src/i18n/locales/
- NOT ALL strings in core source need internationalization - only user-facing messages
- Internal error messages, debugging logs, and developer-facing messages should remain in English
- The t() function is used with namespaces like 'core:errors.missingToolParameter'
- Be careful when modifying interpolation variables; they must remain consistent across all translations
- Some strings in formatResponse.ts are intentionally not internationalized since they're internal
- When updating strings in core.json, maintain all existing interpolation variables
- Check string usages in the codebase before making changes to ensure you're not breaking functionality
# 4. WEBVIEW UI LOCALIZATION (webview-ui/src/)
- Located in webview-ui/src/i18n/locales/
- Uses standard React i18next patterns with the useTranslation hook
- All user interface strings should be internationalized
- Always use the Trans component with named components for text with embedded components
<Trans> example:
`"changeSettings": "You can always change this at the bottom of the <settingsLink>settings</settingsLink>",`
```
<Trans
i18nKey="welcome:telemetry.changeSettings"
components={{
settingsLink: <VSCodeLink href="#" onClick={handleOpenSettings} />
}}
/>
```
# 5. TECHNICAL IMPLEMENTATION
- Use namespaces to organize translations logically
- Handle pluralization using i18next's built-in capabilities
- Implement proper interpolation for variables using {{variable}} syntax
- Don't include defaultValue. The `en` translations are the fallback
- Always use apply_diff instead of write_to_file when editing existing translation files (much faster and more reliable)
- When using apply_diff, carefully identify the exact JSON structure to edit to avoid syntax errors
- Placeholders (like {{variable}}) must remain exactly identical to the English source to maintain code integration and prevent syntax errors
# 6. WORKFLOW AND APPROACH
- First add or modify English strings, then ask for confirmation before translating to all other languages
- Use this process for each localization task:
1. Identify where the string appears in the UI/codebase
2. Understand the context and purpose of the string
3. Update English translation first
4. Use the `<search_files>` tool to find JSON keys that are near new keys in English translations but do not yet exist in the other language files for `<apply_diff>` SEARCH context
5. Create appropriate translations for all other supported languages utilizing the `search_files` result using `<apply_diff>` without reading every file.
6. Do not output the translated text into the chat, just modify the files.
7. Validate your changes with the missing translations script
- Flag or comment if an English source string is incomplete ("please see this...") to avoid truncated or unclear translations
- For UI elements, distinguish between:
- Button labels: Use short imperative commands ("Save", "Cancel")
- Tooltip text: Can be slightly more descriptive
- Preserve the original perspective: If text is a user command directed at the software, ensure the translation maintains this direction, avoiding language that makes it sound like an instruction from the system to the user
# 7. COMMON PITFALLS TO AVOID
- Switching between formal and informal addressing styles - always stay informal ("du" not "Sie")
- Translating or altering technical terms and brand names that should remain in English
- Modifying or removing placeholders like {{variable}} - these must remain identical
- Translating domain-specific terms that are commonly used in English in the target language
- Changing the meaning or nuance of instructions or error messages
- Forgetting to maintain consistent terminology throughout the translation
# 8. QUALITY ASSURANCE
- Maintain consistent terminology across all translations
- Respect the JSON structure of translation files
- Watch for placeholders and preserve them in translations
- Be mindful of text length in UI elements when translating to languages that might require more characters
- Use context-aware translations when the same string has different meanings
- Always validate your translation work by running the missing translations script:
```
node scripts/find-missing-translations.js
```
- Address any missing translations identified by the script to ensure complete coverage across all locales
# 9. TRANSLATOR'S CHECKLIST
- ✓ Used informal tone consistently ("du" not "Sie")
- ✓ Preserved all placeholders exactly as in the English source
- ✓ Maintained consistent terminology with existing translations
- ✓ Kept technical terms and brand names unchanged where appropriate
- ✓ Preserved the original perspective (user→system vs system→user)
- ✓ Adapted the text appropriately for UI context (buttons vs tooltips)
---
# Language-Specific Guidelines
## German (de) Translation Guidelines
**Key Rule:** Always use informal speech ("du" form) in all German translations without exception.
### Quick Reference
| Category | Formal (Avoid) | Informal (Use) | Example |
| ----------- | ------------------------- | ------------------- | ----------------- |
| Pronouns | Sie | du | you |
| Possessives | Ihr/Ihre/Ihrem | dein/deine/deinem | your |
| Verbs | können Sie, müssen Sie | kannst du, musst du | you can, you must |
| Imperatives | Geben Sie ein, Wählen Sie | Gib ein, Wähle | Enter, Choose |
**Technical terms** like "API", "token", "prompt" should not be translated.
---
## Simplified Chinese (zh-CN) Translation Guidelines
### Key Terminology
| English Term | Preferred (zh-CN) | Avoid | Context/Notes |
| --------------------- | ----------------- | ------------ | ------------- |
| API Cost | API 费用 | API 成本 | 财务相关术语 |
| Tokens | Token | Tokens/令牌 | 保留抽象术语 |
| Token Usage | Token 使用量 | Token 用量 | 技术计量单位 |
| Cache | 缓存 | 高速缓存 | 简洁优先 |
| Context | 上下文 | | 保留抽象术语 |
| Context Menu | 右键菜单 | 上下文菜单 | 技术术语准确 |
| Context Window | 上下文窗口 | | 技术术语准确 |
| Proceed While Running | 强制继续 | 运行时继续 | 操作命令 |
| Enhance Prompt | 增强提示词 | 优化提示 | AI相关功能 |
| Auto-approve | 自动批准 | 始终批准 | 权限相关术语 |
| Checkpoint | 存档点 | 检查点/快照 | 技术概念统一 |
| MCP Server | MCP 服务 | MCP 服务器 | 技术组件 |
| Human Relay | 人工辅助模式 | 人工中继 | 功能描述清晰 |
| Network Timeout | 请求超时 | 网络超时 | 更准确描述 |
| Terminal | 终端 | 命令行 | 技术术语统一 |
| diff | 差异更新 | 差分/补丁 | 代码变更 |
| prompt caching | 提示词缓存 | 提示缓存 | AI功能 |
| computer use | 计算机交互 | 计算机使用 | 技术能力 |
| rate limit | API 请求频率限制 | 速率限制 | API控制 |
| Browser Session | 浏览器会话 | 浏览器进程 | 技术概念 |
| Run Command | 运行命令 | 执行命令 | 操作动词 |
| power steering mode | 增强导向模式 | 动力转向模式 | 避免直译 |
| Boomerang Tasks | 任务拆分 | 回旋镖任务 | 避免直译 |
### Formatting Rules
1. **中英文混排**
- 添加空格:在中文和英文/数字之间添加空格,如"API 费用"(不是"API费用")
- 单位格式:时间单位统一为"15秒"、"1分钟"(不是"15 seconds"、"1 minute")
- 数字范围:"已使用: {{used}} / {{total}}"
- 技术符号保留原样:"{{amount}} tokens"→"{{amount}}"
2. **标点符号**
- 使用中文全角标点
- 列表项使用中文顿号:"创建、编辑文件"
3. **UI文本优化**
- 按钮文本:使用简洁动词,如"展开"优于"查看更多"
- 操作说明:使用步骤式说明(1. 2. 3.)替代长段落
- 错误提示:使用"确认删除?此操作不可逆"替代"Are you sure...?"
- 操作说明要简洁:"Shift+拖拽文件"优于长描述
- 按钮文本控制在2-4个汉字:"展开"优于"查看更多"
4. **技术描述**
- 保留英文缩写:如"MCP"不翻译
- 统一术语:整个系统中相同概念使用相同译法
- 长句拆分为短句
- 被动语态转为主动语态
- 功能名称统一:"计算机交互"优于"计算机使用"
- 参数说明:"差异更新"优于"差分/补丁"
5. **变量占位符**
- 保持原格式:`{{variable}}`
- 中文说明放在变量外:"Token 使用量: {{used}}"
### UI Element Translation Standards
1. **按钮(Buttons)**
- 确认类:确定/取消/应用/保存
- 操作类:添加/删除/编辑/导出
- 状态类:启用/禁用/展开/收起
- 长度限制:2-4个汉字
2. **菜单(Menus)**
- 主菜单:文件/编辑/视图/帮助
- 子菜单:使用">"连接,如"文件>打开"
- 快捷键:保留英文,如"Ctrl+S"
3. **标签(Labels)**
- 设置项:描述功能,如"自动保存间隔"
- 状态提示:简洁明确,如"正在处理..."
- 单位说明:放在括号内,如"超时时间(秒)"
4. **工具提示(Tooltips)**
- 功能说明:简洁描述,如"复制选中内容"
- 操作指引:步骤明确,如"双击编辑单元格"
- 长度限制:不超过50个汉字
5. **对话框(Dialogs)**
- 标题:说明对话框用途
- 正文:分段落说明
- 按钮:使用动词,如"确认删除"
### Contextual Translation Principles
1. **根据UI位置调整**
- 按钮文本:简洁动词 (如"展开", "收起")
- 设置项:描述性 (如"自动批准写入操作")
- 帮助文本:完整说明 (如"开启后自动创建任务存档点,方便回溯修改")
2. **技术文档风格**
- 使用主动语态:如"自动创建和编辑文件"
- 避免口语化表达
- 复杂功能使用分点说明
- 说明操作结果:如"无需二次确认"
- 参数说明清晰:如"延迟一段时间再自动批准写入"
3. **品牌/产品名称**
- 保留英文品牌名
- 技术术语保持一致性
- 保留英文专有名词:如"Amazon Bedrock ARN"
4. **用户操作**
- 操作动词统一:
- "Click"→"点击"
- "Type"→"输入"
- "Scroll"→"滚动"
- 按钮状态:
- "Enabled"→"已启用"
- "Disabled"→"已禁用"
### Technical Documentation Guidelines
1. **技术术语**
- 统一使用"Token"而非"令牌"
- 保留英文专有名词:如"Model Context Protocol"
- 功能名称统一:如"计算机功能调用"优于"计算机使用"
2. **API文档**
- 端点(Endpoint):保留原始路径
- 参数说明:表格形式展示
- 示例:保留代码格式
- 参数标签:
- 单位明确:如"最大输出 Token 数"
- 范围说明完整:如"模型可以处理的总 Token 数"
3. **代码相关翻译**
- 代码注释:
- 保留技术术语:如"// Initialize MCP client"
- 简短说明:如"检查文件是否存在"
- 错误信息:
- 包含错误代码:如"Error 404: 文件未找到"
- 提供解决方案:如"请检查文件权限"
- 命令行:
- 保留原生命令:如"git commit -m 'message'"
- 参数说明:如"-v: 显示详细输出"
4. **配置指南**
- 设置项命名:如"Enable prompt caching"→"启用提示词缓存"
- 价格描述:
- 单位统一:如"每百万 Token 的成本"
- 说明影响:如"这会影响生成内容和补全的成本"
- 操作说明:
- 使用编号步骤:如"1. 注册Google Cloud账号"
- 步骤动词一致:如"安装配置Google Cloud CLI工具"
### Common Patterns
| Original | Avoid | Preferred |
| ------------------------------- | ------------------------------------------------------------- | ---------------------------------------------------- |
| `"dragFiles"` | `"按住shift拖动文件"` | `"Shift+拖拽文件"` |
| `"description"` | `"启用后,Kilo Code 将能够与 MCP 服务器交互以获取高级功能。"` | `"启用后 Kilo Code 可与 MCP 服务交互获取高级功能。"` |
| `"cannotUndo"` | `"此操作无法撤消。"` | `"此操作不可逆。"` |
| `"hold shift to drag in files"` | `"按住shift拖动文件"` | `"Shift+拖拽文件"` |
| `"Double click to edit"` | `"双击进行编辑"` | `"双击编辑"` |
### Common Pitfalls
1. 避免过度直译导致生硬
- ✗ "Do more with Boomerang Tasks" → "使用回旋镖任务完成更多工作"
- ✓ "Do more with Boomerang Tasks" → "允许任务拆分"
2. 保持功能描述准确
- ✗ "Enhance prompt with additional context" → "使用附加上下文增强提示"
- ✓ "Enhance prompt with additional context" → "增强提示词"
3. 操作指引清晰
- ✗ "hold shift to drag in files" → "按住shift拖动文件"
- ✓ "hold shift to drag in files" → "Shift+拖拽文件"
4. 确保术语一致性
- ✗ 同一文档中混用"Token"/"令牌"/"代币"
- ✓ 统一使用"Token"作为技术术语
5. 注意文化适应性
- ✗ "Kill the process" → "杀死进程"(过于暴力)
- ✓ "Kill the process" → "终止进程"
6. 技术文档特殊处理
- 代码示例中的注释:
✗ 翻译后破坏代码结构
✓ 保持代码注释原样或仅翻译说明部分
- 命令行参数:
✗ 翻译参数名称导致无法使用
✓ 保持参数名称英文,仅翻译说明
### Best Practices
1. **翻译工作流程**
- 通读全文理解上下文
- 标记并统一技术术语
- 分段翻译并检查一致性
- 最终整体审校
2. **质量检查要点**
- 术语一致性
- 功能描述准确性
- UI元素长度适配性
- 文化适应性
3. **工具使用建议**
- 建立项目术语库
- 使用翻译记忆工具
- 维护风格指南
- 定期更新翻译资源
4. **审校流程**
- 初翻 → 技术审校 → 语言润色 → 最终确认
- 重点关注技术准确性、语言流畅度和UI显示效果
### Quality Checklist
1. 术语是否全文一致?
2. 是否符合中文技术文档习惯?
3. UI控件文本是否简洁明确?
4. 长句是否已合理拆分?
5. 变量占位符是否保留原格式?
6. 技术描述是否准确无误?
7. 文化表达是否恰当?
8. 是否保持了原文的精确含义?
9. 特殊格式(如变量、代码)是否正确保留?
---
## Traditional Chinese (zh-TW) Translation Guidelines
### Key Terminology
| English Term | Use (zh-TW) | Avoid (Mainland) |
| ------------- | ----------- | ---------------- |
| file | 檔案 | 文件 |
| task | 工作 | 任務 |
| project | 專案 | 項目 |
| configuration | 設定 | 配置 |
| server | 伺服器 | 服務器 |
| import/export | 匯入/匯出 | 導入/導出 |
### Formatting Rules
- Add spaces between Chinese and English/numbers: "AI 驅動" (not "AI驅動")
- Use Traditional Chinese quotation marks: 「範例文字」(not "範例文字")
- Use Taiwanese computing conventions rather than mainland terminology
Name Size