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