i18n-update
Update translation files and check for untranslated strings
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Update translation files and check for untranslated strings
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Create a new Gutenberg block with scaffolding
Use when working with the WordPress Abilities API (wp_register_ability, wp_register_ability_category, /wp-json/wp-abilities/v1/*, @wordpress/abilities) including defining abilities, categories, meta, REST exposure, and permissions checks for clients.
Prepare plugin for WordPress.org deployment
Use when generating responses containing factual claims, API details, configuration specifics, version compatibility, or recalled knowledge that could be hallucinated - especially when not working directly from source code or command output
Use when executing implementation plans with independent tasks in the current session
Create a block extension to enhance core WordPress blocks
| name | i18n-update |
| description | Update translation files and check for untranslated strings |
| disable-model-invocation | true |
| allowed-tools | Bash(npm run *), Bash(npx wp-env *), Bash(git *), Read, Glob |
Manage internationalization for the DesignSetGo plugin.
Find untranslated strings:
# JavaScript strings missing translation
grep -r "'[A-Z][a-z]" src/ --include="*.js" | grep -v "__(" | grep -v "//"
# Strings missing text domain
grep -r "__(" src/ includes/ | grep -v "'designsetgo'"
Generate POT file:
npx wp i18n make-pot . languages/designsetgo.pot
Update PO files:
# For each language
msgmerge --update languages/designsetgo-nl_NL.po languages/designsetgo.pot
msgmerge --update languages/designsetgo-es_ES.po languages/designsetgo.pot
Compile MO files:
msgfmt languages/designsetgo-nl_NL.po -o languages/designsetgo-nl_NL.mo
msgfmt languages/designsetgo-es_ES.po -o languages/designsetgo-es_ES.mo
Scan codebase for hardcoded strings or missing text domains.
Common issues:
// ❌ BAD - Hardcoded string
console.log('Block loaded');
// ✅ GOOD - Translated
console.log(__('Block loaded', 'designsetgo'));
// ❌ BAD - String concatenation
const msg = 'You have ' + count + ' items';
// ✅ GOOD - Use sprintf
const msg = sprintf(__('You have %d items', 'designsetgo'), count);
// ❌ BAD - Missing translator comment
__('Save', 'designsetgo')
// ✅ GOOD - With context
/* translators: Button label to save block settings */
__('Save', 'designsetgo')
Create or update the template file with all translatable strings.
Merge new strings into existing translations. Translators will fill in missing translations.
Convert human-readable PO files to machine-readable MO files.
In WordPress:
Test RTL Languages:
For Arabic, Hebrew:
style-rtl.css is loadedAlways:
__('String', 'designsetgo') for translatable stringssprintf() for variable interpolationNever:
// Simple translation
__('Text', 'designsetgo')
// Translation with echo
_e('Text', 'designsetgo')
// Singular/plural
_n('%d item', '%d items', count, 'designsetgo')
// Translation with context
_x('Post', 'noun', 'designsetgo')
_x('Post', 'verb', 'designsetgo')
Always check for untranslated strings:
npm run lint:i18n # If you have this script