• Skip to main content
  • Skip to primary sidebar

WordPress, Genesis Framework and Storefront customization tutorials

  • Archive
    • Free
    • Premium
  • Blog
  • About
  • Contact
  • Newsletter
  • Membership
  • Login
Home » Internationalization

Internationalization

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.

Filed Under: Other

About Gabor Flamich

I'm a web developer and designer based in Budapest, Hungary. In recent years, I've documented hundreds of solutions I came across during development. This site is an archive for useful code snippets on WordPress, Genesis Framework and WooCommerce. If You have any questions related to WordPress development, get in touch!

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Gabor Flamich

Hi! I'm Gabor.
I write tutorials on WordPress and WooCommerce.

MacBook

12 Essential Snippets for Genesis Developers

Subscribe to my Newsletter to view my basic collection of Genesis snippets that I use for my projects!

Sign Up for Free
  • Facebook
  • GitHub
  • Instagram
  • LinkedIn
  • Twitter
  • YouTube
UpdraftPlus Premium

Tags

ACF Ajax Analytics API Bootstrap Breadcrumb category CPT CSS fetch Genesis Google Maps Gutenberg HTML Isotope JavaScript jQuery loop Map Menu Parallax PHP SASS SEO SQL Storefront SVG tab tag manager tags Taxonomy Tool upsell Webpack Wholesale WooCommerce WordPress WPML

Disclosure: Some of the links in this site are affiliate links. I will be paid a commission if you use this link to make a purchase.

  • Privacy Policy / Terms of Service
© 2023 WP Flames - All Right Reserved