علیرضا صادقی
8 ماه پیش توسط علیرضا صادقی مطرح شد
8 پاسخ

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

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

@mahdi.nazari
@ossvahid
@Raymond
@FullStack


ثبت پرسش جدید
رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 8 ماه پیش مطرح شد
0

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


علیرضا صادقی
تخصص : وردپرس
@aliireza 8 ماه پیش مطرح شد
0

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


فرزاد عامری
تخصص : وردپرس
@Farzadameri 8 ماه پیش مطرح شد
1

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


oss_vahid
تخصص : wordpress developer
@ossvahid 8 ماه پیش آپدیت شد
1

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

ببین قالب ها برای لود ترجمه از
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 8 ماه پیش مطرح شد
1

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


oss_vahid
تخصص : wordpress developer
@ossvahid 8 ماه پیش مطرح شد
1

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


طاها تقی زاده
تخصص : ....
@tahatq1387 8 ماه پیش مطرح شد
0

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


oss_vahid
تخصص : wordpress developer
@ossvahid 8 ماه پیش مطرح شد
0

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


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

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