Note: check for updatedl10n.php
and wp i18n make-php
command → https://make.wordpress.org/core/2024/02/27/i18n-improvements-6-5-performant-translations/
Used to generate translations from __('string to translate', 'text-domain')
functions.
MO files: MO, or Machine Object is a binary data file that contains object data referenced by a program. It is typically used to translate program code, and may be loaded or imported into the GNU gettext program.
PO files: PO files are the files which contain the actual translations. Each language will have its own PO file, for example, for French there would be a fr.po file, for german there would be a de.po, for American English there might be en-US.po.
POT file: POT files are the template files for PO files. They will have all the translation strings left empty. A POT file is essentially an empty PO file without the translations, with just the original strings.
wp i18n make-pot . languages/<file-name>.pot --domain=<domain-name>
wp i18n update-po languages/<file-name>.pot languages/fr_FR.po
wp i18n make-mo languages/<file-name>.po languages/
wp i18n make-php languages/
It is possible to specify a specific Domain Path in style.css
: Defaults to /languages
.
The Text Domain
has to be specified in the style.css
file.
The function load_theme_textdomain( $text_domain, $path );
needs to be called with the after_setup_theme
hook.
Sources: