Μετά 16 χρόνια λειτουργίας και περισσότερα από δύο χρόνια χωρίς νέα έκδοση, Το plugin μας αντιμετώπισε μια ευρεία πρόκληση γνωστή ως Rot Code. Αυτό το ζήτημα προκύπτει όταν η λειτουργικότητα υποβαθμίζεται με την πάροδο του χρόνου - ακόμη και χωρίς αλλαγές στον κώδικα του plugin - προέρχεται από εξωτερικούς παράγοντες. Νέες κυκλοφορίες WordPress, Ενημερωμένες εκδόσεις PHP, και οι μετατοπίσεις στις υπηρεσίες μετάφρασης μπορούν να διαταράξουν προσεκτικά σχεδιασμένες λειτουργίες.
Σε έκδοση 1.0.9.5, Έχουμε αντιμετωπίσει αυτές τις προκλήσεις, με πρωταρχική εστίαση στους κινητήρες μετάφρασης. Καταργήσαμε τον ξεπερασμένο κώδικα και εισήγαμε νέες εφαρμογές για την αποκατάσταση της υποστήριξης για τις υπηρεσίες μετάφρασης Yandex και Baidu, που είχε σταματήσει να εργάζεται τα τελευταία χρόνια. Αυτές οι ενημερώσεις εξασφαλίζουν ότι τα χαρακτηριστικά μετάφρασης είναι πλήρως λειτουργικά για άλλη μια φορά. Επιπλέον, Έχουμε επεκτείνει την υποστήριξη γλωσσών για να συμπεριλάβουμε νέες γλώσσες που προστίθενται σε αυτές τις υπηρεσίες μετάφρασης με την πάροδο του χρόνου.
Αυτή η έκδοση αντικατοπτρίζει την αφοσίωσή μας στη διατήρηση του plugin αξιόπιστου και αποτελεσματικής, Προσαρμογή στο εξελισσόμενο τοπίο των τεχνολογιών και των υπηρεσιών.

Έχουμε εισαγάγει ένα νέο widget που χρησιμοποιεί τυποποιημένο emojis σημαίας, που έχουν ενσωματωθεί στο Emoji που έχουν οριστεί με την πάροδο των ετών. Αυτή η ενημέρωση απλοποιεί σημαντικά τον κώδικα του widget, Ενώ επίσης επιτρέπει την εύκολη προσαρμογή των σημαίων για να καλύψει τις συγκεκριμένες ανάγκες σας.
Μπορείτε να δείτε αυτό το νέο widget σε δράση στον ιστότοπό μας, όπου έχουμε προσθέσει ένα έξυπνο τέχνασμα CSS που κάνει το τρέχον εικονίδιο γλώσσας δύο φορές μεγαλύτερο από τους άλλους, επιτεύχθηκε με τις ακόλουθες δύο γραμμές κώδικα!.transposh_flags{font-size:22px}
.tr_active{font-size:44px; float:left}
Ελπίζουμε να απολαύσετε αυτήν τη νέα έκδοση!
How to translate your meta title and description with transposh!
After some “vibe coding” as they say (people who don’t know how to code but still code with AI) I figured out in a creative way how to translate the meta title and description when using transposh.
As an SEO marketing guy that was something that really bothered me. Translated sites, with English results in google.
So how did I do it.
First I added this php snippet (created by Grok 3)
That translated the meta title for me.
I called it Meta Title and Description in WP Snippet:
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;
});
– After this snippet > The Title was translated, but not the description. After further vibing and reaching a dead-end with Grok i figured that basically the transposh plugin was fetching the translation from the database multiple times.
So i told Grok, hey if we add the meta title and description in the footer (hidden) as text.
And Transposh translates it, if we than pull the description from the database that transposh manages for us wouldn’t it be translated?
And Grok3 confirmed and gave me this snippet (after giving me a compliment for thinking outside the box)
// 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
}
}
});
Just note, that I was using Rankmath as my SEO plugin, This maybe will work with Yoast? Or Other plugins, but I am sure if you feed this entire comment to an AI tool of your choice it could fix the correct fields for Yoast and others.
Happy Translating guys and thank you for picking up the support of this plugin after so many years 🙂
One of my top 3 secret weapons for sure!
Sorry I forgot to mention something.
// Voeg de meta title en description toe aan de footer, alleen als de description is ingevuld
If you’d translate this to english it says Add the meta title and description to the footer only if the description is filled in.
The reason why only if it’s filled in is the same reason why I figured this footer trick would work.
If I had a unique meta description for my pages, that was not on the website. It was not translated.
But when I didn’t add a translation at all, and kept it empty, it will pull the top words of the page. So when I only added the first snippet above, it was only translating the title, because the title is also written on the page. but the meta description was unique and nowhere seen on the website.
That’s basically how I figured out if we add an invisible meta description in the footer > we can translate meta titles and descriptions with that first snippet above.
So you need both snippets for it to work.
Or only the first if you never fill in your descriptions anyways. don’t bother.
When I save post, It shows this error:
Προειδοποίηση: Undefined array key “b” in \wp-content\plugins\transposh-translation-filter-for-wordpress\core\constants.php on line 1702
I solved it by changing this code on line 1702
εάν ($langrec[‘engines’][$κινητήρα]) {
προς την
εάν (έκδοση($langrec[‘engines’][$κινητήρα])) {
Ευχαριστώ για την αναφορά αυτή, που καθορίζεται στο https://github.com/oferwald/transposh/commit/70f1a6bafc72a0358b42ada8a576a9f02b5ed136