跳到正文
cccskills
免费在 GitHub 公开

update-i18n

Maintain PlainTab runtime UI translations and i18n language packs. Use when adding, editing, formatting, validating, or reviewing UI text in js/i18n/*.js, js/languages.js, data-i18n markup, or t(key) calls; also use when onboarding/help copy or new settings need localized strings.

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

查看安装方法

包含的文件(2)

  • SKILL.md2.9 KB
  • agents/openai.yaml241 B

SKILL.md(原文)

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

Update PlainTab I18N

Use this skill for PlainTab runtime UI copy. Keep the runtime contract unchanged:

  • js/languages.js is the synchronous language bootstrap and must stay early in index.html.
  • js/i18n/*.js are language packs that assign flat objects to window.I18N["locale"].
  • Runtime code should call t(key) or use existing data-i18n; do not hard-code UI language branches.
  • Keep all language packs key-complete. zh-CN and en need carefully maintained copy, and every supported locale should receive localized UI text for newly added runtime keys. Do not use English as the default fallback for non-English packs; only leave a product name, protocol, shortcut, or technical token in English when that exact token is the UI concept.

Workflow

  1. Read .claude/rules/30-language.md and any touched runtime file.
  2. Add or update flat keys in every js/i18n/*.js file. New user-facing keys must be localized for all supported locales, not copied from en.
  3. Keep language packs multi-line, one key per line:
window.I18N["en"] = {
    "someKey": "Some text",
    "anotherKey": "Another text"
};
  1. In runtime code, reference keys through t("someKey"). Avoid detecting language manually for UI strings.
  2. For generated or mechanical updates, preserve UTF-8 text. Be careful with PowerShell pipelines that can turn non-ASCII text into ?; prefer apply_patch or an ASCII-safe temporary script that is deleted after use.
  3. If adding user-facing behavior, keep first-paint rules intact; do not move js/languages.js or js/preload.js.

Validation

Run these checks before finishing:

Get-ChildItem js\i18n\*.js | ForEach-Object { node --check $_.FullName }
node --check js\languages.js
node --check js\newtab.js
@'
const fs = require('fs');
global.window = {};
global.document = { write() {} };
global.navigator = { language: 'en' };
global.localStorage = { getItem() { return ''; } };
require('./js/languages.js');
for (const file of fs.readdirSync('js/i18n').filter(f => f.endsWith('.js'))) require('./js/i18n/' + file);
const report = window.validatePlainTabI18N({ silent: true });
if (!report.ok) {
  console.log(JSON.stringify(report, null, 2));
  process.exit(1);
}
console.log('validatePlainTabI18N ok');
'@ | node -

If only specific runtime files changed, still run git diff --check on the touched files.

Also audit newly added keys for accidental English fallback in non-English packs. A value that is identical to window.I18N.en[key] should be treated as suspicious unless it is an intentional product name, protocol, shortcut, or technical token.

评价

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

评论

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

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

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

0 / 1000 字

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

同一仓库的技能

Claude adapter for bumping the PlainTab version. Use when the user asks "更新版本", "bump version", "upgrade to vX.Y.Z", "发布新版本", or asks to prepare a PlainTab release.

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

kaininx/PlainTab952026年5月27日 更新

Use when preparing a PlainTab release or bumping the PlainTab version, triggered by phrases like "更新版本", "bump version", "upgrade to vX.Y.Z", "发布新版本". Updates manifest.json, runtime UI/version constants, localized changelogs, store listings, release notes, validation notes, and current project docs.

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

kaininx/PlainTab952026年5月27日 更新

Prepare and create PlainTab git commits with scoped Conventional Commit subjects and detailed commit bodies. Use when the user asks to commit, 提交, create a git commit, stage changes, or asks for precise Conventional Commits / Google-style commit messages; especially when the worktree may contain unrelated user changes.

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

kaininx/PlainTab952026年5月27日 更新

Claude adapter for preparing and creating PlainTab git commits with scoped, detailed Conventional Commit messages. Use when the user asks to commit, 提交, stage changes, or use precise Conventional Commit / Google-style commit messages.

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

kaininx/PlainTab952026年5月27日 更新

diagnose

免费

Claude adapter for diagnosing PlainTab bugs, broken flows, startup issues, storage or wallpaper regressions, and performance regressions.

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

kaininx/PlainTab952026年5月27日 更新

diagnose

免费

Use when diagnosing PlainTab bugs, broken UI behavior, failing extension/web-mode flows, storage or wallpaper regressions, startup issues, or performance regressions.

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

kaininx/PlainTab952026年5月27日 更新

查看 kaininx 的全部技能

报告此技能的问题