Claude-skill-registry i18n-helper

Handle WordPress internationalization. Use when adding translatable strings.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/i18n-helper" ~/.claude/skills/majiayu000-claude-skill-registry-i18n-helper && rm -rf "$T"
manifest: skills/data/i18n-helper/SKILL.md
source content

i18n Helper

Instructions

When adding translatable strings to the plugin:

  1. Use the correct text domain:
    'retrologin'
  2. Choose the right function:
    • __()
      - Return translated string
    • _e()
      - Echo translated string
    • esc_html__()
      - Return escaped translated string
    • esc_html_e()
      - Echo escaped translated string
    • esc_attr__()
      - Return escaped for HTML attributes
  3. Generate POT file:
    composer run make-pot
  4. Keep strings in English (US)

Translation Functions

FunctionOutputUse When
__($text, $domain)
ReturnStrings in PHP variables
_e($text, $domain)
EchoDirect output
esc_html__($text, $domain)
Return + escapeDisplaying user content
esc_html_e($text, $domain)
Echo + escapeDirect output of user content
esc_attr__($text, $domain)
Return + escapeHTML attributes

Example

// 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

# 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