مرجع دانلود اسکریپت

وان اسکریپت | اولین مرجع دانلود رایگان اسکریپت در ایران

خرید هاست
تبلیغات
تبلیغات

درخواست شما

اگـر به دنبال قالب و اسکریپت یا هر مطلب دیگری هستید و آن را پیدا نکرده اید ، می توانید درخواست خود را به تیم وان اسـکریپت ارسال کنید تا در کوتاه ترین زمان مطلب مورد نظر شما در سایت قـرار گیرد ! وان اسـکریپت همچنان به دنبال ارائه خدمــاتی با کیفیت بالا به کاربران خود می باشد.

آموزش ترجمه افزونه وردپرس

ترجمه افزونه وردپرس را در این نوشته به شیوه ای متفاوت دنبال می‌کنیم؛ نوشته های بسیاری در این باره وجود داره که البته در این نوشته می‌خواهیم به شکلی متفاوت به بحث پارسی سازی یک ترجمه یک افزونه وردپرس بپردازیم. از سیر تا پیاز ترجمه یک افزونه وردپرسی را در این نوشته همراه ما باشید!

 

persian-making-wordpress-plugin

 

پارسی سازی افزونه وردپرسی

یک سری پرسش مطرح می‌کنیم؛ زمانی که تغییراتی در یک کد می‌دهید چه اتفاقی می‌افته؟ زمانی که یک افزونه رو به نگارش تازه بروز می‌کنید، چه اتفاقی می‌افته؟ این پرسش‌هایی هست که می‌خواهیم در این نوشته به آن‌ها پاسخ بدیم و البته از ابتدا هر چیزی درباره ترجمه یک افزونه وردپرسی هست رو بگیم.

ساخت یک افزونه برای وردپرس

کاملا مشخصه که برای ترجمه یک افزونه باید یک افزونه داشته باشیم ? بنابراین اگر افزونه رو در اختیار دارید که چه بهتر و اگر نه ما در این نوشته یک افزونه ساده برای نمایش جملات تصادفی در پیشخوان وردپرس می‌سازیم که در همین افزونه بحث ترجمه رو هم پیش می‌کشیم!

پیش از هر چیز یک پوشه در بخش افزونه های وردپرس به نام wp-admin-motivation بسازید؛ به این پوشه وارد بشید و فایلی با نام wp-admin-motivation.php بسازید و در این فایل کد زیر رو بذارید.

در این کد نخستین تابعی که به چشم می‌خوره ()get_motivation_text هست و کاری که در این تابع انجام میشه تعریف یک سری از جملات انگلیسی در یک آرایه هست و پس از اون با استفاده از تابع ()shuffle این جملات در هر بار فراخوانی بصورت تصادفی در آرایه جابه جا می‌شوند و در نهایت نخستین جمله از این آرایه که هر بار متفاوت هست بازگشت داده میشه.

در ادامه با کد ;add_action( ‘admin_notices’, ‘show_motivation_text’ ) تابع ()show_motivation_text رو در بخش اطلاعیه های پیشخوان وردپرس فراخوانی می‌کنیم.

اتفاقی که در این تابع می‌افته این هست که از تابع پیش از اون یک جمله انگلیسی گرفته می‌شه و در یک تگ p با شناسه (ID) برابر wp-admin-motivation چاپ میشه.

خوب تقریبا کار ساختن افزونه ما به پایان می‌رسه ولی پیش از اون چه بهتر که برای نمایش این جملات یک استایل هم در نظر بگیریم!

در ادامه با اضافه کردن  add_action( ‘admin_enqueue_scripts’, ‘motivation_assets’ ) در واقع اجرای تابع ()motivation_assets رو در نوبت می‌ذاریم ولی قرار در این تابع چه کاری انجام بشه؟ در این تابع یک فایل style.css به اضافه میشه! محتوای فایل style.css به شکل زیر هست.

کاملا مشخصه که در این کد چه کاری انجام شده و مهمتر اینکه برای حالت Right-To-Left (RTL) هم استایلی در نظر گرفتیم که برای زبان پارسی که در ادامه قرار به این افزونه اضافه بشه، مشکلی نداشته باشیم.

تا به این‌جای کار تنها چیزی که باقی میمونه این هست که این افزونه تنها از زبان انگلیسی پشتیبانی میکنه و کار اصلی ما یعنی ترجمه افزونه تازه از اینجای کار آغاز میشه.

ترجمه افزونه وردپرس

توابع زیادی برای ترجمه رشته های متنی یک افزونه و ترجمه افزونه وردپرس وجود دارد که در این نوشته به مهمترین این توابع اشاره می‌کنیم.

تابعی که با اون کار ترجمه رشته ها رو انجام میدیم تابع ()__ هست.این تابع دو پارامتر یا آرگومان دریافت میکنه، رشته ای که قراره ترجمه بشه و یک Text Domain که شناسه ای هست که برای اون افزونه در نظر گرفتیم.

نمونه ای از کاربرد تابع ()__ برای ترجمه یک رشته:

این تابع ترجمه رشته موردنظر رو در صورت وجود بر میگردونه و در غیر اینصورت همون رشته اصلی رو بر میگردونه.

توجه داشته باشید در رابطه با اینکه چه ترجمه ای و از چه زبانی برای این رشته برگردانده بشه بستگی به زبان انتخاب شده در تنظیمات وردپرس داره.

از پازل ترجمه یک افزونه تنها Text Domain باقی میمونه که شاید ندونید چی هست.

Text Domain نامی هست که رشته های یک افزونه یا یک پوسته وردپرس رو با هم پیوند و در یک گروه قرار میده. بهتر هست که Text Domain که برای افزونه خودتون انتخاب می کنید همون نام فولدر یا دایرکتوری افزونه باشه (wp-admin-motivation در این نمونه).

در نهایت کد رشته های افزونه ما به شکل زیر تغییر میکنه:

جایگذاری ترجمه های وردپرس

تابه‌حال ما رشته های افزونه خودمون رو برای ترجمه شدن آماده کردیم ولی هنوز ترجمه ای برای ترجمه افزونه وردپرس در کار نیست!

در این بخش باید در ابتدا به وردپرس بگیم که قراره فایل های ترجمه برای هر افزونه یا پوسته کجا قرار بگیره.

برای معرفی مکان فایل های ترجمه برای افزونه ای که نمونه آوردیم باید کد زیر رو در فایل افزونه قرار بدید.

در کد بالا تکست دامین و مسیر فایل های ترجمه که در واقع دایرکتوری /lang هست رو به وردپرس معرفی کردیم.

بنابراین به مسیر افزونه برید و مسیری بنام lang رو بسازید.

ساخت فایل های ترجمه برای وردپرس

حالا که به وردپرس هم مکان فایل های ترجمه برای افزونه مورد نظرمون رو معرفی کردیم کافیه تا فایل های ترجمه رو وابسته به هر زبان بسازیم.

توجه داشته باشید که در نهایت باید فایل های ترجمه ما فایل هایی با نام mo.[محل]-[نام افزونه] باشه. که در نمونه ما به صورت wp-admin-motivation-fa_IR.mo میشه.

برای آگاهی از ملیت های شناخته شده در وردپرس برای زبان های دیگر به صفحه “ملیت های وردپرس” مراجعه کنید.

بهترین راه برای ساخت فایل های ترجمه استفاده از نرم افزار Poedit هست. این نرم افزار خودکار رشته های یک افزونه یا پوسته رو شناسایی و دریافت میکنه و به شما امکان ترجمه هر کدوم رو میده و در نهایت به شما فایل .po و .mo رو میده.

فایل .po فایلی هست که میتونید هر بار اون رو ویرایش کنید و فایل .mo فایلی هست که وردپرس از شما میخواد و قابل ویرایش نیست (البته راهکار هایی داره).

برای دانلود نرم افزار Poedit اینجا کلیک کنید.

آموزش کار با نرم افزار Poedit برای ساخت فایل ترجمه

  • نرم افزارPoedit رو اجرا کنید و بر روی New و سپس Catalog کلیک کنید.
  • در پنجره باز شده اطلاعات خواسته شده رو وارد کنید و نگران بخش های charset  و plural forms نباشید.
  • حالا کافی هست تا فایل مورد نظر رو در مسیری که به وردپرس برای دریافت ترجمه معرفی کردید ذخیره کنید.
  • در بخش Source Paths بر روی نماد + کلیک کنید و مسیر اصلی افزونه رو Open کنید.
  • در بخش Source keywords تابع __ رو معرفی کنید.
  • حالا مشاهده می کنید که رشته ها از فایل های افزونه استخراج میشه.
  • در نهایت با ترجمه هر رشته و ذخیره فایل .mo متوجه ترجمه افزونه وردپرس میشید!
نوشته شده در ژوئن 9, 2017 / 3,789 نمایش / کد مطلب : 16383

دیدگاه خود را به اشتراک بگذارید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

8 + 1 =