No repositório GitHub do Gutenberg, você pode ver a fonte do pacote i18n usado. Nesta fonte, você verá o Jed sendo importado (linha 4 do gutenberg / packages / i18n / src / index.js) e sendo usado na maioria das tarefas de tradução.
Jed apresenta o "Gettext Style i18n para aplicativos modernos de JavaScript" (ou pelo menos assim diz em seu site).
Sua pergunta é para os arquivos .po. Jed explica em seu site:
Existem alguns conversores .po para .json disponíveis no mercado. Os arquivos .po da Gettext são saída padrão da maioria das empresas de tradução decentes, pois é um padrão antigo.
Atualmente, uso: po2json
No entanto, gostaria de adicionar essa funcionalidade a um módulo Jed separado em uma versão futura.
No entanto, isso não parece se aplicar aqui.
Mais escavações setLocaleData( data: Object, domain: string )
são usadas para passar as traduções, da seguinte maneira :
$locale_data = gutenberg_get_jed_locale_data( 'gutenberg' );
wp_add_inline_script(
'wp-i18n',
'wp.i18n.setLocaleData( ' . json_encode( $locale_data ) . ' );'
);
( gutenberg_get_jed_locale_data( $domain )
sendo mais ou menos um invólucro para get_translations_for_domain( $domain )
)
Parece que o WordPress recupera os dados de tradução via PHP e os passa para Jed. O próprio Jed não parece carregar nenhum arquivo de tradução.
O leia-me do pacote também explica como gerar corretamente o arquivo .pot que contém as seqüências localizadas.
O pacote também inclui um pot-to-php
script usado para gerar arquivos php contendo as mensagens listadas em um arquivo .pot. Isso é útil para enganar a descoberta de strings de tradução do WordPress.org, pois, no momento, o WordPress.org não é capaz de analisar strings diretamente de arquivos JavaScript.
npx pot-to-php languages/myplugin.pot languages/myplugin-translations.php text-domain
window
propriedade como JSON carregada viawp_add_inline_script
PHP e depois as recupera no lado React e as passa para Jed? ... e Jed faz mais mágica?