آموزش فارسی سازی اف...
 
آگاه‌سازی‌ها
پاک‌کردن همه

آموزش فارسی سازی افزونه وردپرس (قسمت دوم)


ارسال‌: 524
شروع کننده موضوع
(@hamed)
Honorable Member
عضو شده: 10 سال قبل

توی مطلب قبلی در مورد فارسی سازی افزونه‌هایی که دارای فایل po. و pot. هستن توضیح دادیم و گفتیم که فارسی سازی این افزونه ها به راحتی با استفاده از برنامه poedit قابل انجام است.
حال نوبت آن رسیده که اگر افزونه ای بدون فایل po. یا pot. بود چکار کنیم و چگونه این فایل را بسازیم…

قبل از هر چیز پیشنهاد میکنم اگر تمایل دارید برای افزونه ای فایل po بسازید قبلش توی گوگل سرچ کنین شاید کسی قبل از شما این فایل رو ساخته باشه و فقط آماده ترجمه فارسی شما باشه.
مثلاً اگه میخواید توی اینترنت برای فایل po. افزونه مثلاً wp-polls سرچ کنین ، توی گوگل بنویسید wp-polls.po سپس نتایج رو بررسی کنید!

شروع کار ، ابتدا ویرایشگر مناسبی دانلود کنید سپس افزونه ای رو که فاقد فایل زبان و فاقد هر گونه فایل po. و pot. و mo. رو آماده کنید. برای مثال برای سادگی کار من افزونه شمارش صفحات wp-page-numbers رو پیشنهاد میکنم.

افزونه رو دانلود کنید و فعال کنید ، سپس باید حدس بزنید متنهای نمایشی در این افزونه که در قسمت مدیریت وردپرس برای شما نمایش داده میشه در چه فایلی هست؟
(این افزونه فقط یک فایل php. داره پس تموم رشته های متنی در این فایل هستش)

اگر شما خواستید افزونه ای رو فارسی کنید ، حتماً چک کنید که چند تا فایل php. دارای رشته متنی هستن! خیلی ساده است توی فایل افزونه فایلهای php. رو باز کنید و عنوان متنی افزونه رو جستجو کنید و یا دنبال یک رشته متنی بگردید ، دیگه چه جوری بگم…!!!؟
اگه بازم نتونستید تشخیص بدید که کدوم فایل دارای رشته متنی هست ، شناسه و رمز عبور وبلاگ یا سایتتون رو برام بفرستید تا بهتون بگم کدوم فایله! P:

بعد از مشخص کردن فایل که حالا مثلاً ما میدونیم برای این افزونه فایل ، wp-page-numbers.php دارای رشته های متنی است ، فایل رو (با ویرایشگر مناسب) باز میکنیم.
در بالاترین خط بعد از
<?php
عبارت زیر رو میذاریم.

add_action('init', 'init_textdomain');
function init_textdomain(){
load_plugin_textdomain('page-number',PLUGINDIR . '/' .
dirname(plugin_basename (__FILE__)) . '/zaban');
}

مثل عکس زیر


تاکیید میکنم اگر هر چند تعداد فایل php حاوی رشته متنی بود باید این کد به اول همشون اضافه بشه!
خب این که به افزونه حالی میکنه که توی پوشه zaban داخل افزونه فایلی به اسم page-number-fa_IR.mo هست که زبان فارسی افزونه است! (برای سایر زبانها پسوند fa_IR متفاوت است).
حالا گیریم افزونه فهمید ولی آیا این فایل واقعاً هست؟!

قدم بعد توی پوشه افزونه wp-page-numbers یک پوشه جدید میسازیم به اسم zaban.

بعد این فایل رو دانلود کنید. این فایل حاوی فایل page-number.pot هست که شما باید اون رو داخل پوشه zaban که داخل افزونه wp-page-numbers هست بگذارید.

خب بیایید کل ماجرا رو از اول بررسی کنیم!

شما باید توی افزونه wp-page-numbers یک پوشه داشته باشید به اسم zaban که اون پوشه هم حاوی فایلی باشه به اسم page-number.pot که ابتدای این فایل یه سری کد باشه. داخل پوشه افزونه wp-page-numbers هم یه فایلی هست به اسم wp-page-numbers.php که باید ابتدای این فایل هم کد معرفی فایل زبان افزونه باشه!
چک کنید ببنید درسته اگر نه مشکل رو پیدا کنید و اگر درسته بریم سراغ مرحله بعد!!

حالا نوبت اون رسیده که فایل pot. رو کامل کنیم و رشته های متنی رو که میخواییم ترجمه کنیم وارد کنیم!

فایل page-number.pot رو با ویرایشگر مناسب باز کنید. اگه دقت کنید در اول این فایل چند خط توضیحات هست که میتونین اطلاعات خودتون رو وارد کنین در ضمن یادتون باشه که حتماً Encoding رو روی UTF-8 بذارید.


بعد از انجام دادن این کار آخر متن رو نگاه کنید عبارت

#: wp-page-numbers.php:325
msgid "Page Number Themes"
msgstr "قالبهای نمایش شماره صفحات"

رو میبینید.

این چند خط رو توضیح میدم این یعنی توی فایل wp-page-numbers.php خط 325 عبارت Page Number Themes هست که ترجمه پیشفرضش قالبهای نمایش شماره صفحات هست.
البته نیازی نداره که ترجمه پیشفرضش رو بنویسیم چون وقتی آخر کار با برنامه poedit افزونه رو ترجمه میکنیم تموم ترجمه ها رو دوباره مینویسم ، من برای توجیه بهتر اینو نوشتم.
حال نوبت این رسیده که چجوری به فایل wp-page-numbers.php بفهمونیم که در خط 325 به جای عبارت Page Number Themes دنبال ترجمه اش بگرده!

خب فایل wp-page-numbers.php رو باز میکنیم و به جای عبارت Page Number Themes توی خط 325 عبارت

رو می‌ذاریم.
این به فایل wp-page-numbers.php حالی میکنه که وقتی به این خط رسید ابتدا فایل page-number-fa_IR.mo رو بررسی کنه ببینه واسه عبارت Page Number Themes ترجمه هست ، که اگر هست ترجمه رو نشون بده اگرم نیست همون Page Number Themes رو نشون بده!

خب تا اینجا متوجه شدید چی شد؟

برای تست این خط ترجمه میتونین فایل page-number.pot رو توی پوشه zaban با برنامه poedit بازکنید ، ترجمه رو وارد کنید سپس فایل رو ذخیره کنید ، همچنین با ذخیره فایل ، فایل page-number.mo خودکار ساخته میشه که باید اونو به page-number-fa_IR.mo تغییر نام بدید بعد بیایید توی تنظیمات وردپرس افزونه رو انتخاب کنید و تغییرات رو ببینید.

درست کار میکنه؟

اگر نه بررسی کنید:

1- داخل فایل page-number.pot عبارت معرفی زبان رو نوشتید؟
2- داخل فایل wp-page-numbers.php بطور درست پارامتر معرفی ترجمه رو نوشتید؟
3- فایل page-number.pot رو با poedit باز کردید و ذخیره کردید؟
4- فایل page-number.mo درست شده ، آیا آنرا به page-number-fa_IR.mo تغییر داده اید؟
5- فایل page-number-fa_IR.mo باید در پوشه zaban باشد آیا هست؟

اگر باز هم مشکل رو پیدا نکردید عیب نداره در آخر این مطلب میتونید افزونه فارسی شده رو همراه با فایل pot. دانلود کنید و خودتون بررسی کنید که کجای کار ایراد داره!

تا حالا 95% راه رو رفتید حالا میمونه بقیه متن ها!!
توی قسمت تنظیمات وردپرس روی افزونه page numbers کلیک کنید رشته متنی بعدی که باید ترجمه بشه Use themes? هست.
حالا فایل wp-page-numbers.php رو باز کنید توی خط 328 این Use themes؟ رو میتونید پیدا کنید خب حالا این متن رو به تغییر بدید و فایل رو ذخیره کنید. سپس فایل page-number.pot موجود در پوشه zaban رو باز کنید و به آخر صفحه زیر
#: wp-page-numbers.php:325
msgid "Page Number Themes"
msgstr "قالبهای نمایش شماره صفحات"

عبارت
#: wp-page-numbers.php:328
msgid "Use themes?"
msgstr ""

رو اضافه کنید.

برای سایر رشته های متنی هم به همین صورت ، سپس در آخر فایل رو ذخیره کنید و با برنامه poedit باز کنید ، ترجمه ها رو وارد کنید و فایل رو ذخیره کنید ، سپس فایل page-number.mo ساخته شده را به page-number-fa_IR.mo تغییر بدید.

خب اگه تموم رشته های متنی رو به همین صورت وارد کنید که دیگه تموم افزونه فارسی میشه و شما فایل زبانش رو ساختید!
این روش استاندارد ساخت فایل زبان افزونه است که به دیگر دوستانی که قصد دارن افزونه رو به زبانی دیگر ترجمه کنن کمک میکنه و در ضمن از مزیت های این روش اینه که میتونین برای هر افزونه ای فایل زبانهای زیادی بسازی مثلاً یکی فارسی باشه ، یکی کردی ، یکی عربی ، یکی روسی ، یکی… بسه دیگه!!!

در ضمن من بطور کامل افزونه رو فارسی کرده ام ، اگر لازم دونستید برای بررسی و مقایسه با فایل زبان خودتون دانلود کنید.

دانلود افزونه wp page number فارسی (221)

/ امیدوارم تا اینجای کار ، ماهیگیری رو یاد گرفته باشید و ممنون میشم اگه دعای خیری نصیب ما کنید تا ما هم خوشحال بشیم.

اشتراک: