با عرض سلام خدمت کاربران محترم سایت پی وی لرن.
با جلسه ای دیگر از سری جلسات دوره جامع آموزش ساخت قالب وردپرس در خدمت شما هستیم.
در این جلسه قصد داریم به معرفی و آموزش بومی سازی در وردپرس (Localization) بپردازیم.
بومی سازی یا localization فرآیند متعاقب ترجمه یک قالب چند زبانه یا دوزبانه را شرح میدهد.
localization را به صورت l10n نیز مینویسند. (برای اختصار. بین حرف l و n 10 حرف وجود دارد)
در ادامه فایل هایی را که در localization کاربرد دارند را توضیح میدهیم.
این فایل ها حاوی رشته های (string) اصلی (معمولا به زبان انگلیسی یا فارسی برای ما) هستند.
در پایین یک مثال از فایل POT آورده شده است:
1 2 3 | #: theme-name.php:123 msgid "Page Title" msgstr "" |
خط اول یک کامنت است که معمولا شامل نام فایل و شماره خط رشته است.
msgid رشته اصلی و msgstr ترجمه رشته است.
هر مترجمی فایل POT را گرفته و بخش msgstr را به زبان خودش ترجمه میکند.
خروجی یک فایل PO است که فرمتی مشابه با فایل های POT دارد اما همراه با ترجمه و زبان مخصوص هدر.
برای هر زبان، یک فایل PO در قالب وجود دارد.
از روی هر فایل PO، یک فایل MO نیز ساخته میشود.
این ها فایل های باینری هستند که توسط توابع gettext استفاده میشوند. (در واقع نسخه کامپایل شده فایل های PO هستند)
در ادامه آموزش نحوه با نحوه ساخت این فایل ها آشنا خواهید شد.
فایل های POT همان چیزی هستند که شما باید به مترجم ها تحویل دهید تا بتوانند کارشان را انجام دهند.
نام های فایل های PO و POT را میتوان به راحتی با یکدیگر عوض کرد تا انواع فایل ها را بدون مشکل تغییر دهید.
ایده خوبی است که فایل POT را همراه با قالب اراده دهید. با این کار مترجمان نیازی به درخواست آن به طور خاص ندارند.
روش های مختلفی برای ساخت فایل POT وجود دارد.
ابزار خط فرمان یا کامند لاین WP-CLI را نصب کنید.
خط فرمان را باز کرده و از دستور زیر برای ساخت فایل POT استفاده کنید.
1 | wp i18n make-pot path/to/your-theme-directory |
Poedit یک ابزار متن باز است.
با استفاده از آن میتوان تمام سورس کد ها را با استفاده از توابع gettext اسکن کنید.
تعدادی پلاگین مانند loco-translate وجود دارند که میتوانید از آن ها برای ترجمه و تولید فایل POT استفاده کنید.
برای ترجمه فایل های PO به زبان های مختلف راه های مختلفی وجود دارد.
میتوانید از یک ویرایشگر متن برای ترجمه دستی استفاده کنید. (اگر زبان مقصد را بلد هستید. در غیر این صورت میتوانید از ابزار هایی که در ادامه معرفی میشوند، استفاده کنید)
1 2 3 | #: theme-name.php:123 msgid "Page Title" msgstr "Seitentitel" |
همچنین میتوانید از Poedit استفاده کنید.
همچنین سایتی به نام WP-Translations وجود دارد که بین توسعه دهندگان و مترجمان ارتباط برقرار میکند.
راه دیگر استفاده از ابزار های آنلاین است:
در ادامه روش های ساخت فایل های MO را معرفی میکنیم.
برنامه msgfmt برای ساخت فایل های MO استفاده میشود.
msgfmt بخشی از بسته gettext است.
یک مثال جامع از msgfmt به شکل زیر است:
1 | msgfmt -o filename.mo filename.po |
اگر تعداد زیادی فایل PO برای تبدیل دارید، میتوانید این دستور را به عنوان batch اجرا کنید.
در سیستم های عامل UNIX
1 | for file in `find . -name "*.po"` ; do msgfmt -o ${file/.po/.mo} $file ; done |
در سیستم های عامل Windows (نیاز به نصب Cygwin دارید)
1 | for file in `/usr/bin/find . -name '*.po'` ; do /usr/bin/msgfmt -o ${file/.po/.mo} $file ; done |
میتوانید این دستور را در خط فرمان اجرا کنید:
1 | cd C:/path/to/language/folder/my-theme/languages & C:/cygwin/bin/bash -c /cygdrive/c/path/to/script/directory/potomo.sh |
از Poedit نیز میتوانید برای ساخت فایل های MO استفاده کنید.
جلسه معرفی و آموزش بومی سازی در وردپرس (localization) نیز به پایان رسید.
در جلسات بعد به معرفی و آموزش Customizer وردپرس خواهیم پرداخت.