راکت

افزودن فایل ترجمه افزونه به قالب وردپرس

8 پاسخ

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

@mahdi.nazari
@ossvahid
@Raymond
@FullStack

ثبت پرسش جدید

پاسخ‌ها

8
رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

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

علیرضا صادقی
علیرضا صادقی
@aliireza

تخصص: وردپرس

من خودم قبلا تو یک قالب دیده بودم منتها یادم نمیاد اسم قالب چی بود
همینطور که میشه یه دستور داد که چک بشه افزونه نصب هست یا نه به همین طریق نمیشه این کارو کرد بنظر شما ؟
نظری ندارین که از چه روشی امکان داره جواب بده
@Raymond

شاید پاسخ شما همین‌جا باشد

فرزاد عامری
فرزاد عامری
@Farzadameri

تخصص: وردپرس

سلام دوست عزیز
اگه افزونه مورد نظر در مخزن وردپرس باشه شما میتونید به صفحه افزونه در سایت وردپرس برید یه بخش داره که نشون میده افزونه ترجمه شده یا خیر اگه نبود به اکانت وردپرس خودتون وارد بشید و در خود سابت وردپرس میتونید افزونه ترجمه کنید و اون منتشر کنید ( اینجوری هم کاربر هایی که از قالب شما استفاده میکنند به نسخه ترجمه شده دسترسی دارند هم به جامعه وردپرس فارسی کمک کردید )
موفق باشید 💙

vahid
vahid
@vahid1379

تخصص: توسعه دهنده وردپرس

سلام حقیقتا ی راحل به ذهنم رسید یکم ممکنه مشکل باشه پیاده کردنش

ببین قالب ها برای لود ترجمه از
loadthemetextdomain
استفاده میکنن و پلاگین ها از
loadplugintextdomain

اگه شما بیایی loadplugintextdomain رو داخل فاکشن قالب صدا بزنی خطا میده فک کنم

راحل چیه ما باید به فایل اصلی افزونه ی اکشن اضافه کنیم
این اکشن رو باید خودمون بسازیم مثلا ی اکشن می‌سازیم بنام addtrnslatedfiletoPLUGINNAME
خب این اکشن رو در فایل فاکشن پوسته add میکنیم و داخلش از
loadplugintextdomain استفاده می‌کنیم و آدرس ترجمه و تکست دومین رو بهش میدیم طبق آدرسی که داخل فولدر پوستمون هستش
یک چنین چیزی میشه

add_action('add_trnslated_file_to_PLUGINNAME', 'callback_');
function callback_(){
    load_plugin_textdomain('اسم تکست دومین افزونه ایی که میخایم ترجمه کنیم',false, 'آدرس به فولدر ترجمه');
}

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

خب تا اینجا حله برای اینکه بتونیم افزونه مورد نظر رو ترجمه باید این اکشن رو داخل فایل اصلی پلاگین مورد نظر صدا بزنیم

اینجا ی مسئله هست خب وقتی کاربر میاد تم رو نصب میکنه ما که نمیتونیم برا اون صدا بزنیم کاربر باید دستی خودش صدا بزنه تا ترجمه لود بشه اینجا باید از php استفاده کنیم

اینجا جای سخت کاره

باید با استفاده از php بیایی بریم داخل wp content و بعدش بریم داخل فولدر plugin ها بر اساس نام پلاگین فولدر رو باز کنیم و و داخل فایل اصلی پلاگین رو باز کنیم و اخر کد های پلاگین اکشنی که ساختیم رو doaction کنیم
میتونی برای اینکار از توابع fopen و fwrite و... استفاده کنی

البته این راحل و من تست نکردم ولی فک میکنم کار کنه

برای اینکه چک کنی پلاگین نصبه میشه از file_exists استفاده کرد میشه از is_plugin_active هم استفاده‌ کرد

رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

@aliireza
فعلا چنین چیزی ندیدم که راهنمایی کنم.
@ossvahid
داش
مورد آخر رو گفتی حداقل یه تست بگیر که طرف گیر نکند.

vahid
vahid
@vahid1379

تخصص: توسعه دهنده وردپرس

@Raymond جان گفتم که تست نکردم راحلی هستش که به ذهنم رسید ایشون گفتن راهی وجود داره برای انجام اینکار منم فک کردم این راه به ذهنم اومد

طاها تقی زاده
طاها تقی زاده
@tahatq1387

تخصص: ....

منم این رو تست کردم

vahid
vahid
@vahid1379

تخصص: توسعه دهنده وردپرس

@tahatq1387 کار می‌کرد؟

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام