بعد، بعدما 16 سنوات من التشغيل وأكثر من عامين دون إصدار جديد, واجه البرنامج المساعد لدينا تحديًا واسع النطاق يعرف باسم Code Rot. تنشأ هذه المشكلة عندما تتدهور الوظيفة بمرور الوقت - حتى بدون تغييرات على رمز البرنامج المساعد - إلى عوامل خارجية. إصدارات وورد جديدة, تحديث إصدارات PHP, ويمكن أن تعطل التحولات في خدمات الترجمة الميزات المصممة بعناية.
في الإصدار 1.0.9.5, لقد تعاملنا مع هذه التحديات, مع التركيز الأساسي على محركات الترجمة. أزلنا رمزًا قديمًا وقمنا بتقديم تطبيقات جديدة لاستعادة دعم خدمات ترجمة Yandex و Baidu, الذي توقف عن العمل في السنوات الأخيرة. تضمن هذه التحديثات أن ميزات الترجمة تعمل بشكل كامل مرة أخرى. بالإضافة إلى ذلك, لقد قمنا بتوسيع دعم اللغة لتضمين لغات جديدة تضاف إلى خدمات الترجمة هذه مع مرور الوقت.
يعكس هذا الإصدار تفانينا في الحفاظ على المكون الإضافي موثوقًا وفعالًا, التكيف مع المشهد المتطور للتقنيات والخدمات.

لقد قدمنا عنصر واجهة مستخدم جديدة تستخدم الرموز التعبيرية العليا القياسية, التي تم دمجها في مجموعة الرموز التعبيرية على مر السنين. يقوم هذا التحديث بتبسيط رمز القطعة بشكل كبير, بينما يتيح أيضًا التخصيص السهل للأعلام لتلبية احتياجاتك المحددة.
يمكنك التحقق من هذه القطعة الجديدة في العمل على موقعنا, حيث أضفنا خدعة CSS ذكية تجعل أيقونة اللغة الحالية مرتين مثل الآخرين, تحققت مع سطرين فقط من الكود!.transposh_flags{font-size:22px}
.tr_active{font-size:44px; float:left}
نأمل أن تستمتع بهذا الإصدار الجديد!
كيفية ترجمة عنوان التعريف الخاص بك والوصف مع Transposh!
بعد البعض “الترميز فيبي” كما يقولون (الأشخاص الذين لا يعرفون كيفية الترميز ولكن لا يزالون رمزًا مع الذكاء الاصطناعي) لقد اكتشفت بطريقة إبداعية كيفية ترجمة عنوان التعريف والوصف عند استخدام Transposh.
كرجل تسويقي لكبار المسئولين الاقتصاديين كان شيئًا أزعجني حقًا. المواقع المترجمة, مع نتائج اللغة الإنجليزية في Google.
فكيف فعلت ذلك.
أولاً أضفت مقتطف PHP هذا (تم إنشاؤها بواسطة Grok 3)
التي ترجمت لقب التعريف بالنسبة لي.
لقد أطلقت عليه عنوان meta والوصف في Snippet WP:
add_filter('rank_math/frontend/title', function($title) {
global $my_transposh_plugin;
// Controleer of Transposh actief is
if (!isset($my_transposh_plugin) || !is_object($my_transposh_plugin)) {
return $title;
}
// Haal de huidige taal op
$lang = transposh_get_current_language();
// Vertaal alleen als de taal niet de standaardtaal is
if ($lang && !$my_transposh_plugin->options->is_default_language($lang)) {
// Gebruik fetch_translation om de title te vertalen
list(, $translated_title) = $my_transposh_plugin->database->fetch_translation($title, $lang);
if ($translated_title) {
$title = $translated_title;
}
}
return $title;
});
add_filter('rank_math/frontend/description', function($description) {
global $my_transposh_plugin;
// Controleer of Transposh actief is
if (!isset($my_transposh_plugin) || !is_object($my_transposh_plugin)) {
return $description;
}
// Haal de huidige taal op
$lang = transposh_get_current_language();
// Vertaal alleen als de taal niet de standaardtaal is
if ($lang && !$my_transposh_plugin->options->is_default_language($lang)) {
// Gebruik fetch_translation om de description te vertalen
list(, $translated_description) = $my_transposh_plugin->database->fetch_translation($description, $lang);
if ($translated_description) {
$description = $translated_description;
}
}
return $description;
});
– بعد هذا المقتطف > تمت ترجمة العنوان, ولكن ليس الوصف. بعد مزيد من الاهتزاز والوصول إلى طريق مسدود مع Grok I ، اعتقدت أن المكون الإضافي transposh كان في الأساس يجلب الترجمة من قاعدة البيانات عدة مرات.
لذلك أخبرت جروك, مرحبًا ، إذا أضفنا عنوان التعريف والوصف في تذييل التذييل (مختفي) كنص.
ويترجمها Transposh, إذا قمنا بتسحب الوصف من قاعدة البيانات التي يديرها Transposh بالنسبة لنا ، فلن يتم ترجمتها?
وأكد Grok3 وأعطاني هذا المقتطف (بعد إعطائي مجاملة للتفكير خارج الصندوق)
// Voeg de meta title en description toe aan de footer, alleen als de description is ingevuld
add_action('wp_footer', function() {
global $post;
if (is_singular() && $post) {
$meta_title = get_post_meta($post->ID, 'rank_math_title', true);
$meta_description = get_post_meta($post->ID, 'rank_math_description', true);
// Controleer of de meta description is ingevuld
if (!empty($meta_description)) {
// Standaard meta title als deze leeg is
if (empty($meta_title)) {
$meta_title = get_the_title($post->ID);
}
?>
document.addEventListener('DOMContentLoaded', function() {
var metaElement = document.getElementById('transposh-meta');
if (metaElement) {
var translatedText = metaElement.innerText || metaElement.textContent;
// Splits de tekst weer op in title en description (na vertaling)
var parts = translatedText.split(' | ');
var translatedDesc = parts[1] || translatedText; // Gebruik description na de |, anders hele tekst
var metaTag = document.querySelector('meta[name="description"]');
if (metaTag) {
metaTag.setAttribute('content', translatedDesc);
} else {
var newMeta = document.createElement('meta');
newMeta.name = 'description';
newMeta.content = translatedDesc;
document.head.appendChild(newMeta);
}
}
});
<?php
}
}
});
مجرد ملاحظة, أنني كنت أستخدم Rankmath كمساعد مُحسّنات محرّكات البحث الخاصة بي, ربما سيعمل هذا مع Yoast? أو غيرها من الإضافات, لكنني متأكد إذا كنت تغذي هذا التعليق بأكمله على أداة منظمة العفو الدولية التي تختارها ، يمكنها إصلاح الحقول الصحيحة لـ Yoast وغيرها.
سعيد ترجمة الرجال وشكرا لك على الحصول على دعم هذا البرنامج المساعد بعد سنوات عديدة 🙂
واحدة من أعلى 3 الأسلحة السرية بالتأكيد!
آسف لقد نسيت أن أذكر شيئًا.
// أضف عنوان التعريف ووصفه إلى تذييل التذييل, فقط إذا تم الانتهاء من الوصف
إذا قمت بترجمة هذا إلى اللغة الإنجليزية ، فإضافة عنوان التعريف ووصفًا إلى تذييل فقط إذا تم ملء الوصف.
السبب فقط إذا تم ملؤه هو نفس السبب الذي جعلني أحسب أن خدعة التذييل هذه ستعمل.
إذا كان لدي وصف ميتا فريد من نوعه لصفحاتي, لم يكن ذلك على الموقع الإلكتروني. لم تترجم.
لكن عندما لم أضيف ترجمة على الإطلاق, وأبقيها فارغة, سوف يسحب الكلمات العليا للصفحة. لذلك عندما أضفت فقط المقتطف الأول أعلاه, كان فقط ترجمة العنوان, لأن العنوان مكتوب أيضًا على الصفحة. لكن وصف التعريف كان فريدًا ولم يظهر في أي مكان على الموقع الإلكتروني.
هكذا اكتشفت بشكل أساسي إذا أضفنا وصفًا ميتا غير مرئي في تذييل التذييل > يمكننا ترجمة عناوين التعريف والأوصاف مع هذا المقتطف الأول أعلاه.
لذلك تحتاج إلى كلا المقتطفات للعمل.
أو الأول فقط إذا لم تملأ أوصافك على أي حال. لا تهتم.
عندما أحفظ المنشور, يظهر هذا الخطأ:
تحذير: مفتاح صفيف غير محدد “ب” في wp-content plugins transposh-translation-for-wordpress core constants.php on line 1702
لقد قمت بحلها عن طريق تغيير هذا الرمز على السطر 1702
إذا ($لانجريك["المحركات"][$المحرك]) {
ل
إذا (هالك($لانجريك["المحركات"][$المحرك])) {
شكرا على الإبلاغ عن هذا, ثابت في https://github.com/oferwald/transposh/commit/70f1a6bafc72a0358b42ada8a576a9f02b5ed136
أهلا, أستخدم Ranmath لموقع الويب الخاص بي, لن يتم ترجمة العنوان والوصف,لكن الإصدار قبل بضع سنوات كان على ما يرام,هل يمكن تحسين هذا البرنامج المساعد? شكرا
لو كنت أعرف ماهية رانماث, ربما. لا أستطيع إلا أن أفترض أنهم غيروا شيئًا. ولا يمكنني اختبار الأشياء التي لا أعرف شيئًا عنها.
آسف, أدخلت معلومات خاطئة, إنه رتبة الرياضيات.