Não edite o arquivo localmente, as atualizações sempre irão sobrescrever. A melhor prática é contribuir com as traduções diretamente no portal do WordPress: https://translate.wordpress.org/projects
Já sugeri as traduções no portal do WordPress. Obrigado.
Mas em alguns casos, precisamos ajustar a tradução para atender a algum requisito de negócio. E então, teríamos que manter com a tradução diferente do WordPress.
Pra mim a melhor opção é sempre chegar um arquivo .pot para atualizarmos o .po com as palavaras/frases novas. Seria possível fazer dessa maneira?
show de bola então.
Toda vez que precisar de editar um tema do repositório crie um tema filho, desta forma você poderá editar os arquivos sem perdê-los durante a atualização. O tema utilizará todos os arquivos originais, mas aqueles que você criar na pasta, irão ser utilizados no lugar dos originais. Mais detalhes em: https://codex.wordpress.org/pt-br:Temas_Filhos
Se eu colocar o pt_BR.po dentro da pasta do meu tema filho, a tradução a ser considerada será o que está dentro da pasta do tema filho? Qual o diretório exatamente para eu colocar este arquivo?
Se você já criou a pasta com os arquivos style.css
e functions.php
como passado no link anterior, basta fazer a chamada to arquivo de tradução, ficaria algo desta forma.
function child_load_text_domain(){
// Tradução customizada para o tema pai
load_theme_textdomain( 'twentyfifteen', get_stylesheet_directory() . '/languages/parent' );
// Tradução customizada para novas strings do tema filho
load_child_theme_textdomain( 'twentyfifteen-child', get_stylesheet_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'child_load_text_domain' );
Nesse exemplo, eu deixei duas pastas, uma languages/parent
com os arquivos de tradução do pt-BR.mo e pt-BR.po para as alterações no tema pai. E deixei também novos arquivos na raiz de languages para o novo text-domain que criei para o tema filho.
Como eu estou utilizando o tema twentyfifteen, eu utilizei o text-domain dele, mas basta você ajustar para o seu tema de preferência.
Não se esqueça, algumas atualizações podem vir com novas strings, então caso falte alguma nas próximas atualizações é só ir acrescentando.