How to add translated .po files in child theme

Home » Translation » How to add translated .po files in child theme
Translation No Comments

Working with Child Theme Translations

Child Themes are using in normal cases the translation files of the main theme. In some cases it could be necessary to have a separate language file handling at the Child Theme itself.

How to make your Child Theme ready to use its own translation files?

First of all you have to modify your Child Themes functions.php file and call the appropriated load method as shown below. Assume the textdomain is defined at the Main Theme as super theme the load function should look like:

load_child_theme_textdomain('wpestate', get_stylesheet_directory().'/languages');

The code can be added before add_action. See an example before:

<?php
// Exit if accessed directly
if ( !defined( 'ABSPATH' ) ) exit;

// BEGIN ENQUEUE PARENT ACTION
// AUTO GENERATED - Do not modify or remove comment markers above or below:
        
if ( !function_exists( 'chld_thm_cfg_parent_css' ) ):
    function chld_thm_cfg_parent_css() {
        wp_enqueue_style( 'chld_thm_cfg_parent', trailingslashit( get_template_directory_uri() ) . 'style.css' ); 
    }
endif;

load_child_theme_textdomain('wpestate', get_stylesheet_directory().'/languages');

add_action( 'wp_enqueue_scripts', 'chld_thm_cfg_parent_css' );

// END ENQUEUE PARENT ACTION

The path has been defined as subdirectory within the Child Themes directory but you can skip the directory parameter and place the language files at the Child Themes main folder.

(Re)scan process and Synchronization at Child Themes

Scanning a Child Theme always includes the files from Main Theme too. So you always get the mixed translation from Main and Child Theme. Doing a Synchronization with the Main Theme will preserve the texts from Child Theme and will attach new texts from Main Theme only.

LEAVE A COMMENT