In Gutenberg GitHub depo Eğer kullanılan i18n paketinin kaynağını görebilirsiniz. Bu kaynaktan, sen göreceksiniz Jed aktarılmıyor (Gutenberg hattını 4 / paketler / i18n / src / index.js) ve ardından başlık altında çeviri görevlerin çoğu için kullanılıyor.
Jed , "Modern JavaScript Uygulamaları için Gettext Style i18n" i (veya en azından kendi sitelerinde söylediği gibi) tanıtır.
Sorunuz .po dosyaları içindir. Jed kendi sitesinde şöyle anlatıyor:
Orada oldukça az .po - .json dönüştürücüler vardır. Gettext .po dosyaları, eski bir standart olduğu için çoğu iyi çeviri şirketinin standart çıktısıdır.
Şu anda kullanıyorum: po2json
Ancak, bu işlevselliği gelecekteki bir sürümde ayrı bir Jed modülüne eklemek istiyorum.
Ancak, bu burada geçerli görünmüyor.
Bundan başka kazma, çıkıyor setLocaleData( data: Object, domain: string )
, çeviriler iletmek için kullanılır , böylece benzer bir şekilde :
$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 )
az çok sarıcı olmak get_translations_for_domain( $domain )
)
Görünüşe göre WordPress çeviri verilerini PHP ile alıyor ve Jed'e aktarıyor. Jed'in kendisi herhangi bir çeviri dosyası yüklemiyor gibi görünüyor.
Paketin benioku dosyası , yerelleştirilmiş dizeleri içeren .pot dosyasının nasıl düzgün oluşturulacağını da açıklar .
Paket ayrıca pot-to-php
bir .pot dosyasında listelenen iletileri içeren bir php dosyası oluşturmak için kullanılan bir komut dosyası içerir . Bu, WordPress.org çeviri dizeleri keşfini kandırmak için yararlıdır, çünkü şu anda WordPress.org, dizeleri doğrudan JavaScript dosyalarından ayrıştırma yeteneğine sahip değildir.
npx pot-to-php languages/myplugin.pot languages/myplugin-translations.php text-domain
window
yüklenen JSON olarak bazı mülklerde sakladığıwp_add_inline_script
ve daha sonra React tarafında aldığı ve Jed'e ilettiği anlamına mı geliyor? ... ve Jed daha fazla büyü yapar mı?