Agent skill
i18n-helper
Handle WordPress internationalization. Use when adding translatable strings.
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/i18n-helper
SKILL.md
i18n Helper
Instructions
When adding translatable strings to the plugin:
- Use the correct text domain:
'retrologin' - Choose the right function:
__()- Return translated string_e()- Echo translated stringesc_html__()- Return escaped translated stringesc_html_e()- Echo escaped translated stringesc_attr__()- Return escaped for HTML attributes
- Generate POT file:
composer run make-pot - Keep strings in English (US)
Translation Functions
| Function | Output | Use When |
|---|---|---|
__($text, $domain) |
Return | Strings in PHP variables |
_e($text, $domain) |
Echo | Direct output |
esc_html__($text, $domain) |
Return + escape | Displaying user content |
esc_html_e($text, $domain) |
Echo + escape | Direct output of user content |
esc_attr__($text, $domain) |
Return + escape | HTML attributes |
Example
php
// Basic usage
__('Login Page', 'retrologin');
_e('Welcome back!', 'retrologin');
// With escaping
esc_html__('Please log in to continue', 'retrologin');
esc_attr__('Username', 'retrologin');
// In attributes
<input placeholder="<?php esc_attr_e('Enter username', 'retrologin'); ?>">
Generate Translations
bash
# Generate POT file for translations
composer run make-pot
# POT file location: inc/languages/retrologin.pot
Guidelines
- Always include text domain second parameter
- Use escaping functions for user-generated content
- Keep strings concise for translation
- Avoid embedding variables in translatable strings
Didn't find tool you were looking for?