Curated resource guide
WordPress Internationalization Resources
Make WordPress plugins and themes translation-ready across PHP, JavaScript, interfaces, and stored content. This collection covers text domains, gettext files, language packs, context and plurals, escaped translations, locale switching, RTL, formatting, WordPress.org workflows, multilingual architecture, performance, accessibility, and testing.
Scope
What this guide covers
- Internationalization functions
- text domains
- translation files
- gettext
- POT/PO/MO and JSON translations
- JavaScript translations
- context and plurals
- escaping translated strings
- WordPress.org translation workflows
- plugin/theme language packs
- locale switching
- date/number formatting
- RTL support
- multilingual architecture considerations
- REST/headless translations
- database-stored strings
- translation performance
- accessibility
- testing multiple locales
- and building translation-ready plugins/themes
Selected references
Curated resources
Links open the original publisher so you can use the complete, current material in context.
- 01Recommended starting point
Internationalizing WordPress Plugins
Prepare plugin strings, text domains, placeholders, plurals, and translator comments correctly.
developer.wordpress.org - 02
Internationalizing WordPress Themes
Make theme strings and metadata ready for WordPress language packs and local translation.
developer.wordpress.org - 03
Internationalization Functions
Choose the right translation, context, plural, date, number, and escaped-output functions.
developer.wordpress.org - 04
Block Editor Internationalization
Localize block JavaScript, register translations, and generate the required POT and JSON files.
developer.wordpress.org - 05
wp i18n
Generate POT, JSON, and MO files and update translation headers through WP-CLI.
developer.wordpress.org - 06
Plugin Localization
Understand POT, PO, MO, language-pack locations, and the localization workflow.
developer.wordpress.org - 07
Internationalization Security
Escape translated output and treat externally supplied translation files as untrusted data.
developer.wordpress.org