ইন গুটেনবার্গ এর GitHub সংগ্রহস্থলের আপনি i18n প্যাকেজ যে ব্যবহার করা হয় উৎস দেখতে পারেন। এই উত্সটিতে , আপনি জেডকে আমদানি করা (গুটেনবার্গ / প্যাকেজগুলি / i18n / src / index.js এর লাইন 4) দেখতে পাবেন এবং তারপরে হুডের অধীনে বেশিরভাগ অনুবাদ কাজের জন্য ব্যবহার করা হবে।
জেড "আধুনিক জাভাস্ক্রিপ্ট অ্যাপ্লিকেশনগুলির জন্য গেটটেক্সট স্টাইল আই 18 এন" উপস্থাপন করেছেন (বা কমপক্ষে তাই এটি তাদের সাইটে বলে)।
আপনার প্রশ্নটি .po ফাইলগুলির জন্য। জেড তাদের সাইটে ব্যাখ্যা করেছেন:
সেখানে বেশ কয়েকটি উপলব্ধ .po থেকে .json রূপান্তরকারীগুলিতে পাওয়া যায়। গেটেক্সটেক্স। পিও ফাইলগুলি বেশিরভাগ শালীন অনুবাদ সংস্থার স্ট্যান্ডার্ড আউটপুট, কারণ এটি একটি পুরানো স্ট্যান্ডার্ড standard
আমি বর্তমানে ব্যবহার করছি: po2json
তবে, আমি ভবিষ্যতের সংস্করণে এই কার্যকারিতাটি আলাদা জেড মডিউলে যুক্ত করতে চাই।
তবে এটি এখানে প্রযোজ্য বলে মনে হয় না।
আরও খনন সক্রিয় হয়, 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 )
)
সুতরাং মনে হয় ওয়ার্ডপ্রেস পিএইচপি এর মাধ্যমে অনুবাদ ডেটা পুনরুদ্ধার করে এবং তারপরে এটি জেডে প্রেরণ করে। জেড নিজেই কোনও অনুবাদ ফাইল লোড করবেন বলে মনে হয় না।
প্যাকেজের রিডমিও ব্যাখ্যা করে যে কীভাবে স্থানীয়করণের স্ট্রিং রয়েছে। পট ফাইলটি যথাযথভাবে উত্পন্ন করা যায় ।
প্যাকেজটিতে একটি pot-to-php
স্ক্রিপ্টও রয়েছে যা একটি .pot ফাইলে তালিকাভুক্ত বার্তাগুলি সহ পিএইচপি ফাইল তৈরি করতে ব্যবহৃত হয়। ওয়ার্ডপ্রেস.আর অনুবাদ অনুবাদ স্ট্রিং আবিষ্কারের কৌশলটি এই মুহুর্তে কার্যকর, WordPress.org সরাসরি জাভাস্ক্রিপ্ট ফাইলগুলি থেকে স্ট্রিংগুলি পার্স করতে সক্ষম নয়।
npx pot-to-php languages/myplugin.pot languages/myplugin-translations.php text-domain
window
সম্পত্তিতে অনুবাদগুলি স্টোর করেছেন যেহেতু জেএসওএনwp_add_inline_script
পিএইচপি দ্বারা লোড হয়েছে এবং তারপরে এটি প্রতিক্রিয়া দিক থেকে পুনরুদ্ধার করে এবং এটি জেডে চলে যায়? ... আর জেড কি আরও যাদু করে?