رفع مشکل ترجمه وردپرس 6.7
وردپرس 6.7 چندین ویژگی و به روز رسانی جدید را به همراه داشت، اما بدون چالش نیست. یکی از رایج ترین مشکلاتی که کاربران پس از به روز رسانی با آن مواجه میشوند، مشکلات ترجمه در وردپرس 6.7 است. اگر بعد از بهروزرسانی متوجه شدید که ترجمههای سایت شما از بین رفته یا به درستی کار نمیکند، نگران نباشید.
هنگامی که وردپرس به نسخه جدیدی مانند 6.7 به روز میشود، معمولا با مشکلات سازگاری مواجه میشوید. این مشکل میتواند بر نحوه مدیریت پلاگینها و تمها تاثیر بگذارد و منجر به مشکلات ترجمه شود.
مشکلات رایج ترجمه در وردپرس 6.7
- ترجمه پلاگین کار نمیکند: گاهی اوقات، افزونههایی که قبل از به روز رسانی ترجمهها را به درستی نمایش میدادند، کار نمیکنند.
- پوستهها یا افزونهها ترجمه نمیشوند: پوسته یا افزونه ممکن است پس از به روز رسانی محتوای ترجمه شده را نشان ندهد.
- ترجمهها پس از بهروزرسانی ناپدید میشوند: ممکن است متوجه شوید که ترجمهها قبل از بهروزرسانی به وردپرس 6.7 خوب کار میکردند، اما اکنون از دست رفتهاند.
چرا ترجمه در وردپرس 6.7 کار نمیکند؟
مشکلات ترجمه در وردپرس 6.7 اغلب به دلیل تغییر در ساختار اصلی وردپرس ایجاد میشود. بهروزرسانیها ممکن است نحوه بارگیری فایلهای زبان را تغییر دهند یا بر سازگاری پوستهها و افزونهها تاثیر بگذارند که میتواند منجر به از بین رفتن ترجمه پس از به روز رسانی وردپرس 6.7 شود.
برای عیب یابی مشکلات ترجمه در وردپرس 6.7، مراحل زیر را دنبال کنید:
- تنظیمات زبان خود را در پیشخوان وردپرس در قسمت تنظیمات > عمومی بررسی کنید.
- فایلهای پلاگین و پوسته خود را بررسی کنید تا مطمئن شوید که فایلهای زبان همچنان وجود دارند.
- فایل wp-config.php را بررسی و تایید کنید که زبان صحیح تنظیم شده است.
راه حلهای ساده برای رفع مشکلات ترجمه وردپرس
راه حل 1: اضافه کردن Domain Path به plugin.php
یکی از روشهای اثبات شده برای رفع مشکلات ترجمه در وردپرس 6.7 این است که فایل plugin.php را در افزونه یا پوشه theme خود تغییر دهید.
- plugin.php را در پوشه plugin خود قرار دهید، به عنوان مثال
wp-content/plugins/your-plugin/plugin.php
- این خط را در بالا اضافه کنید:
php
* Domain Path: /languages
- فایل را ذخیره کنید و بررسی کنید که آیا ترجمهها اکنون کار میکنند یا خیر.
این مرحله به وردپرس میگوید که کجا فایلهای زبان را پیدا کند و از بارگیری صحیح آنها اطمینان حاصل شود.
راه حل 2: بررسی فایلهای زبان
مطمئن شوید که فایلهای زبان .mo و .po لازم در پوشه languages/ وجود دارند. بدون این فایلها، ترجمهها نمایش داده نمیشوند.
راه حل 3: افزونهها و پوستهها را به روز کنید
گاهی اوقات، یک پلاگین یا قالب قدیمی ممکن است دلیل آن باشد. برای حفظ سازگاری با وردپرس 6.7 همه افزونهها و پوستههای خود را به آخرین نسخههای خود به روز کنید.
ویرایش فایلهای پلاگین و پوسته برای رفع اشکال ترجمه
برای تغییر فایل plugin.php یا functions.php برای ترجمه، از یک نرمافزار مدیریت FTP یا فایل منیجر هاست خود استفاده کنید:
- با استفاده از یک کلاینت FTP مانند FileZilla یا winSCP به فایلهای سایت خود دسترسی پیدا کنید.
- به پوشه plugin یا پوشه theme بروید.
- همانطور که قبلا ذکر شد، خط Domain Path را اضافه کنید.
- فایل را ذخیره کرده و دوباره به سرور خود آپلود کنید.
اطمینان از سازگاری پلاگین و قالب
همیشه قبل از بهروزرسانی، یادداشتهای سازگاری را از توسعهدهندگان پلاگین یا تم بررسی کنید. توسعه دهندگان اغلب اطلاعات مهمی در مورد نحوه مدیریت ابزارهایشان با ترجمه در نسخههای جدید وردپرس درج می کنند.
بازنشانی و نصب مجدد ترجمهها
- حذف فایلهای زبان خراب: فایلهای قدیمی یا خراب .mo و .po را حذف کنید.
- نصب مجدد ترجمهها: به پیشخوان > به روز رسانیها بروید و روی گزینه نصب مجدد ترجمهها کلیک کنید.
استفاده از افزونه های ترجمه شخص ثالث
اگر ترجمههای built-in کافی نیست، راهکارهای شخص ثالث را امتحان کنید:
- Loco Translate یک افزونه وردپرس است که به شما امکان میدهد به راحتی قالبها و افزونهها را مستقیم از پیشخوان ترجمه کنید، از چندین زبان و ایجاد فایل ترجمه خودکار پشتیبانی میکند.
- Polylang: یک افزونه کاربر پسند که مدیریت چند زبانه را ساده میکند.
- WPML (افزونه چند زبانه وردپرس): ایده آل برای نیازهای پیچیده ترجمه
این افزونهها را برای شناسایی و رفع خودکار مشکلات ترجمه پیکربندی کنید.
اشتباهات رایجی که باید هنگام رفع مشکلات ترجمه در وردپرس 6.7 اجتناب کنید
- بی توجهی به بکاپ: همیشه قبل از ایجاد تغییرات از سایت خود بکاپ تهیه کنید تا از از دست رفتن داده جلوگیری کنید.
- نادیده گرفتن هشدارها: به هشدارهای سازگاری از سوی توسعه دهندگان پلاگین و قالب توجه کنید.
نکات پیشرفته عیب یابی
- فعال کردن حالت دیباگ: افزودن ;define('WP_DEBUG', true) به فایل wp-config.php خود برای گزارش دقیق خطاها.
- برای مشاوره از کاربران با تجربه با انجمنهای پشتیبانی وردپرس مشورت کنید.
جلوگیری از مشکلات ترجمه در به روز رسانیهای آینده وردپرس
- قبل از اعمال بهروزرسانیها در سایت زنده خود، از یک محیط مرحلهبندی برای آزمایش بهروزرسانیها استفاده کنید.
- یک چک لیست از قبل به روز رسانی ایجاد کنید تا از سازگاری بین افزونهها و قالبها اطمینان حاصل کنید.
با خرید هاست وردپرس کانفیگ حرفهای و نظارت بر سرور به صورت پیوسته توسط تیم فنی پارسدِو انجام خواهد شد.
راهکار دیگر با استفاده از تابع load_theme_textdomain
برای اینکه ترجمهها در وردپرس 6.7 کار کنند، باید نحوه بارگذاری آنها را به روز کنید. این چیزی است که باید انجام دهید:
1. تابع load_theme_textdomain را به روز کنید
از آنجایی که وردپرس 6.7 اکنون انتظار دارد که ترجمه ها در wp-content/languages/themes/ باشد، باید تماس دامنه load_theme_text خود را به روز کنید تا این تغییر را منعکس کند. میتوانید مسیر پیشفرض را به این صورت override کنید:
function my_theme_setup() {
load_theme_textdomain('gutrs', WP_LANG_DIR . '/themes');
}
add_action('after_setup_theme', 'my_theme_setup');
این به وردپرس میگوید که بهجای پوشه languages در پوشه theme، به دنبال ترجمهها در wp-content/languages/themes/ بگردد.
2. فایلهای ترجمه خود را انتقال دهید
فایل های ترجمه خود را از پوشه /languages/ پوسته خود به دایرکتوری زیر در نصب وردپرس خود منتقل کنید:
wp-content/languages/themes/gutrs-{locale}.mo
به عنوان مثال، اگر از ترجمههای فرانسوی استفاده میکنید، فایل به صورت زیر خواهد بود:
wp-content/languages/themes/gutrs-fr_FR.mo
3. این کار ترجمههای شما را متمرکز نموده و تضمین میکند که با سیستم جدید در وردپرس 6.7.3 کار کنند. جایگزینی برای محیط های توسعه (اختیاری)
اگر همچنان میخواهید از پوشه languages در پوشه themes برای ترجمه استفاده کنید (برای اهداف توسعه یا آزمایش)، میتوانید تنظیمات فعلی خود را حفظ و همچنین مسیر پوشه themes را به صراحت مشخص کنید:
function my_theme_setup() {
load_theme_textdomain('gutrs', get_template_directory() . '/languages');
load_theme_textdomain('gutrs', WP_LANG_DIR . '/themes'); // Fallback to global folder
}
add_action('after_setup_theme', 'my_theme_setup');
وردپرس هم پوشه languages قالب و هم دایرکتوری مرکزی wp-content/languages/themes/ را بررسی میکند.
هنگامی که با ترجمه در وردپرس سر و کار دارید، هوک init انتخاب مطمئنتری است، به خصوص بعد از نسخه 6.7.
در ادامه یک رویکرد اصلاح شده با استفاده از هوک init آورده شده است که تضمین میکند وردپرس قبل از بارگیری ترجمهها به طور کامل مقداردهی اولیه شده است:
function my_theme_setup() {
load_theme_textdomain('gutrs', WP_LANG_DIR . '/themes');
}
add_action('init', 'my_theme_setup');
اگر میخواهید هم ترجمه لوکال (پوشه languages قالب) و هم ترجمههای متمرکز (wp-content/languages/themes/) را پشتیبانی کنید، میتوانید هر دو روش را در هوک init به این صورت ترکیب کنید:
function my_theme_setup() {
// First, try loading translations from the theme's local languages folder
load_theme_textdomain('gutrs', get_template_directory() . '/languages');
// Then, fallback to the centralized languages folder
load_theme_textdomain('gutrs', WP_LANG_DIR . '/themes');
}
add_action('init', 'my_theme_setup');