zjkal-github-notes-i18n-rule.ocm.json json Copy{
"ocm": "1",
"id": "zjkal-github-notes-i18n-rule",
"kind": "skill",
"name": "i18n",
"description": "国际化(i18n)双语文案约定",
"publisher": "zjkal",
"version": "1.0.0",
"capabilities": {
"domains": [
"general"
],
"tags": [
"skill-md",
"github-cursor-rules"
],
"languages": [
"en"
]
},
"quality_prior": 0.6,
"examples": [
"国际化(i18n)双语文案约定"
],
"primary": false,
"metadata": {
"source": {
"provider": "github-cursor-rules",
"repository": "https://github.com/zjkal/github-notes",
"path": ".cursor/rules/i18n.mdc",
"ref": "c957959479b900a6610172e0f3340d4c29ebf384",
"url": "https://github.com/zjkal/github-notes/blob/c957959479b900a6610172e0f3340d4c29ebf384/.cursor/rules/i18n.mdc",
"key": "zjkal/github-notes/.cursor/rules/i18n.mdc"
},
"applies_to": "_locales/**/*.json,src/**/*.js,pages/**/*.html"
},
"instructions": "# i18n 约定\n\n## 双语强制同步\n\n任何新增或修改的文案,必须**同时**更新 `_locales/en/messages.json` 和 `_locales/zh_CN/messages.json`,key 用 camelCase(如 `noteSaved`)。\n\n## 两种使用路径\n\n1. **content.js / background.js**:直接调用 `chrome.i18n.getMessage('key')`,并提供中文兜底:\n\n```javascript\nconst text = chrome.i18n.getMessage('noteSaved') || '备注已保存';\n```\n\n2. **popup / options 页面**:HTML 静态文案用 `data-i18n` 属性,由 `I18n.initPageText()` 统一填充;JS 动态文案用全局 `t('key')`:\n\n```html\n<button data-i18n=\"saveBtn\" data-i18n-title=\"saveBtnTooltip\"></button>\n```\n\n支持的属性:`data-i18n`(文本)、`data-i18n-title`、`data-i18n-aria-label`、`data-i18n-placeholder`。\n\n## 禁止事项\n\n- 禁",
"cost": {
"context_tokens": 169
}
}