ในที่เก็บ GitHub ของ Gutenbergคุณสามารถดูที่มาของแพ็คเกจ i18n ที่ใช้ ในแหล่งนี้คุณจะเห็นการนำเข้าJed (สาย 4 ของกูเทนแบร์ก / แพ็คเกจ / i18n / src / index.js)จากนั้นจะถูกใช้สำหรับงานการแปลส่วนใหญ่ภายใต้ประทุน
Jedแนะนำ "Gettext Style i18n สำหรับแอพ JavaScript สมัยใหม่" (หรืออย่างน้อยก็บอกไว้บนเว็บไซต์)
คำถามของคุณสำหรับไฟล์. po Jed อธิบายบนเว็บไซต์ของพวกเขา:
มีตัวแปลง. po ให้. json ค่อนข้างน้อย ไฟล์ Gettext .po เป็นผลผลิตมาตรฐานจาก บริษัท แปลที่ดีที่สุดเนื่องจากเป็นมาตรฐานเก่า
ฉันใช้อยู่ตอนนี้: po2json
อย่างไรก็ตามฉันต้องการเพิ่มฟังก์ชันการทำงานนี้ลงในโมดูล Jed ที่แยกต่างหากในรุ่นอนาคต
อย่างไรก็ตามสิ่งนี้ดูเหมือนจะไม่ใช้ที่นี่
การขุดออกไปอีกsetLocaleData( data: Object, domain: string )
จะใช้ในการผ่านการแปลในลักษณะเช่นนี้ :
$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 )
เป็นเสื้อคลุมมากกว่าหรือน้อยกว่าget_translations_for_domain( $domain )
)
ดังนั้นดูเหมือนว่า WordPress จะดึงข้อมูลการแปลผ่าน PHP แล้วส่งต่อไปยัง Jed ดูเหมือนว่า Jed จะไม่โหลดไฟล์แปลใด ๆ
แพคเกจreadmeของแพคเกจยังอธิบายถึงวิธีการสร้างไฟล์. potที่มีสตริงที่แปลเป็นภาษาท้องถิ่นอย่างเหมาะสม
แพคเกจนี้ยังรวมถึงpot-to-php
สคริปต์ที่ใช้ในการสร้างไฟล์ php ที่มีข้อความอยู่ในไฟล์. pot สิ่งนี้มีประโยชน์ในการหลอกลวงการค้นพบสตริงการแปลของ WordPress.org ตั้งแต่ตอนนี้ WordPress.org ไม่สามารถแยกวิเคราะห์สตริงได้โดยตรงจากไฟล์ JavaScript
npx pot-to-php languages/myplugin.pot languages/myplugin-translations.php text-domain
window
คุณสมบัติบางอย่างเมื่อ JSON โหลดwp_add_inline_script
โดย PHP แล้วดึงข้อมูลนั้นทาง React และส่งต่อไปยัง Jed? ... และเจดทำเวทย์มนตร์เพิ่มเติมหรือไม่