Come tradurre un tema figlio di WordPress

Conviene impostare le traduzioni del tema di WordPress nel tema figlio, in modo che non vengano sovrascritte quando il tema viene aggiornato.

Per far caricare le traduzioni dal tema figlio e non dal parte va aggiunto questo codice nel functions.php del tema figlio:
// Carica i file di traduzione dal tema figlio invece che dal padre
function my_child_theme_locale() {
load_child_theme_textdomain( 'domain-tema-padre', get_stylesheet_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'my_child_theme_locale' );

La stringa domain-tema-padre deve essere il textdomain del tema padre. Lo si trova controllando le funzioni __() e _e() nei file del tema padre; il secondo parametro è la stringa da usare.

Si prende poi il file di modello del tema, che in genere sta nella cartella lang/ del tema padre ed ha l’estensione .pot, lo si copia in it_IT.po (se si vuole fare la traduzione italiana) e lo si traduce con PoEdit.
Per compilare il file .mo si usa, da linea di comando di Linux:

msgfmt -o it_IT.mo it_IT.po

I file .po e .mo si mettono nella directory languages/ del tema figlio.