Define the text domain in the style.css of the theme.
/*! Theme Name: WPFlames Text Domain: wpflames Theme URI: http://gaborflamich.com/ Author: Gabor Flamich
You should use escaping functions for sanitizing data:
<h1><?php esc_html_e( 'Front Page', 'wpflames' ); ?></h1>
Instead of this
<h1>Front Page</h1>
Generating POT file with WP-CLI
wp i18n make-pot wpflames-theme
Load textdomain in functions.php
// ========================================================================= // Load textdomain for internationalization // ========================================================================= function wpflames_load_theme_textdomain() { load_theme_textdomain( 'wpflames', get_template_directory() . '/languages' ); } add_action( 'after_setup_theme', 'wpflames_load_theme_textdomain' );
Poedit
You can also use Poedit locally for translating.
POT (Portable Object Template) files
This file contains the original strings (in English) in your plugin/theme
#: plugin-name.php:123 msgid "Page Title" msgstr ""
PO (Portable Object) files
You can take the POT file and translate the msgstr sections in your own language. The result is a PO file with the same format as a POT, but with translations and some specific headers. There is one PO file per language.
MO (Machine Object) files
MO file is a “compiled” version of the PO file.
Leave a Reply