دوستان سلام وقتتون بخیر
من میخوام چندتا افزونه رو ترجمه کنم
این افزونه جزو پیشنیار های قالب من هستن که کاربر باید از مخزن وردپرس دانلود کنه
من میخوام فایل ترجمه این افزونه هارو داخل قالبم بزارم تا کاربر وقتی افزونه رو نصب کرد فایل ترجمش از قالب گرفته بشه و فارسی نمایش داده میشه ممنون میشم راهنمایی کنید .
اصلا این کار شدنی هست یا خیر؟ اگر شدنیه لطفا راهکار بگید
درود خوبی...
فایل ترجمه باید خود افزونه قرار گرفته شود و تا حالا ندیدم که افزونه ای نصب شده باشد و فایل ترجمه افزونه از قالب گرفته شود.
من خودم قبلا تو یک قالب دیده بودم منتها یادم نمیاد اسم قالب چی بود
همینطور که میشه یه دستور داد که چک بشه افزونه نصب هست یا نه به همین طریق نمیشه این کارو کرد بنظر شما ؟
نظری ندارین که از چه روشی امکان داره جواب بده
@Raymond
سلام دوست عزیز
اگه افزونه مورد نظر در مخزن وردپرس باشه شما میتونید به صفحه افزونه در سایت وردپرس برید یه بخش داره که نشون میده افزونه ترجمه شده یا خیر اگه نبود به اکانت وردپرس خودتون وارد بشید و در خود سابت وردپرس میتونید افزونه ترجمه کنید و اون منتشر کنید ( اینجوری هم کاربر هایی که از قالب شما استفاده میکنند به نسخه ترجمه شده دسترسی دارند هم به جامعه وردپرس فارسی کمک کردید )
موفق باشید 💙
سلام حقیقتا ی راحل به ذهنم رسید یکم ممکنه مشکل باشه پیاده کردنش
ببین قالب ها برای لود ترجمه از
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 جان گفتم که تست نکردم راحلی هستش که به ذهنم رسید ایشون گفتن راهی وجود داره برای انجام اینکار منم فک کردم این راه به ذهنم اومد
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟