---
name: add-i18n
description: 添加 i18n 多语言 key 到所有4个语言文件
---

# i18n 多语言 Key 添加技能

将指定的翻译 key 添加到所有4个语言文件中，确保 key 位置正确、命名规范。

## 输入参数

用户需提供：
- **所属对象**: 如 `foots`、`cuxiao`、`fenlei`（对应 `$t('对象名.key名')` 中的对象名）
- **key 列表**: 每个语言的翻译内容，格式如下：
  ```
  keyName: zh=简体中文 en=English tw=繁體中文 vi=Tiếng Việt
  ```

## 执行步骤

### 第1步：读取语言文件
- 读取所有4个语言文件：`vi.js`、`zh.js`、`tw.js`、`en.js`
- 语言文件路径：
  - 商家端(foodie-store): `E:\QtwCode\foodie\foodie-store\src\lang\`
  - 平台管理端(foodie-admin-vue): 需确认路径

### 第2步：定位目标对象
- 在每个文件中找到用户指定的嵌套对象（如 `foots: {`）
- 定位该对象的最后一个属性
- **关键：** key 必须添加到该对象**内部**，不能加到文件顶部或其他对象中

### 第3步：添加 key
- **前端文件使用 CRLF 换行符**，Edit 工具可能失败，优先使用 Python 脚本：
  ```python
  python << 'PYEOF'
  import pathlib
  for lang, value in [('zh', '值'), ('tw', '值'), ('en', 'value'), ('vi', 'value')]:
      f = pathlib.Path(f'path/to/{lang}.js')
      content = f.read_text(encoding='utf-8')
      # 在目标对象的最后一个属性后插入新 key
      content = content.replace(old_tail, new_tail_with_key)
      f.write_text(content, encoding='utf-8')
  PYEOF
  ```

### 第4步：验证
- grep 确认每个 key 在所有4个文件中都存在
- 确认4个文件中的 key 名称完全一致
- 确认 key 在正确的嵌套对象内部

## 命名规范

- 使用**有意义的英文驼峰命名**
- 禁止使用 `text1`、`text2`、`text55` 等无意义序号
- 示例：按钮用 `orderBtn`，标题用 `orderDialogTitle`，状态用 `diningStatus`
