#217 – Leonardo Losovic on Affordable and Accurate WordPress Translations Using AI

Jukebox is a podcast which is dedicated to all things WordPress, the people, the events, the plugins, the blocks, the themes, and in this case, how to create affordable and accurate WordPress translations using AI.

If you’d like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast player of choice, or by going to wptavern.com/feed/podcast, and you can copy that URL into most podcast players.

If you have a topic that you’d like us to feature on the podcast, I’m keen to hear from you and hopefully get you, or your idea, featured on the show. Head to wptavern.com/contact/jukebox and use the form there.

So on the podcast today we have Leonardo Losovic. Leonardo has been working with WordPress since 2012, developing plugins such as Gato GraphQL, a GraphQL server for WordPress, and more recently, Gato AI Translations for Polylang, a plugin that harnesses AI to streamline the process of translating WordPress websites.

After giving a talk at WordCamp Asia on the invisible gotchas of WordPress translation, Leonardo joins us to discuss both the moral and practical arguments for making your site multilingual, and how the technology has changed the landscape for site owners and developers alike.

I suspect that many listeners have considered translating their WordPress websites, whether for legal compliance or to reach a wider audience, but may be unsure where to start, or if the investment is worthwhile.

As Leonardo explains, the ease and affordability introduced by AI powered translation tools have changed the landscape. What used to require costly human translators and time consuming workflows can now often be handled with a few clicks, and for a fraction of the price.

Leonardo starts by sharing his background in plugin development, and the evolution of translation plugins over the

decade. We then get into how AI translations work, why manual oversight still matters, and how the new features coming to WordPress, such as collaborative editing and deeper AI integration will impact workflows and user experience.

We also discuss plugin strategies around managing multiple translations, SEO considerations, and the best practises for ensuring your translations are accurate and efficient.

Leonardo gives practical advice on how to avoid wasting resources when updating posts, and offers his perspective on the arms race of translation, as AI becomes ubiquitous, and why as it gets easier, keeping up with competitors becomes essential.

If you’re interested in making your site multilingual, or just want to hear how WordPress translation technology is evolving, this episode is for you.

If you’re interested in finding out more, you can find all of the links in the show notes by heading to wptavern.com/podcast, where you’ll find all the other episodes as well.

And so without further delay, I bring you Leonardo Losovic.

I am joined on the podcast by Leo Losoviz. Hello, Leo.

[00:03:40] Leonardo Losoviz: Hello, Nathan.

[00:03:42] Nathan Wrigley: It’s lovely to have you on the podcast today. Leo and I were hanging out at WordCamp Asia where you did a presentation, I think it’s correct to say. It was all about how you might translate things on your WordPress website, leveraging some of the solutions that Leo has built, but possibly just some things that might be baked into WordPress as well. So that’s going to be the discussion topic for today.

Before we crack into that, Leo, can you just tell us a little bit about you, your background with WordPress, and probably the stuff that you’ve been doing recently, which touches on translations?

[00:04:14] Leonardo Losoviz: Alright. So I’ve been working with WordPress since 2012, and I have a plugin called Gato GraphQL, which is a graphical server for WordPress. I’ve been working on that since like forever now.

And then I upgraded to try to make plugins that can be used by the final user of the website, bloggers and marketing people, not just developers. And then I launched another plugin that is called Gato AI Translations for Polylang. It’s basically a wrapper of my other plugin that will help people translate their websites using AI. And I have been working with this plugin for over one year now. And, yeah, I mean this is what I’m doing.

[00:04:54] Nathan Wrigley: Yeah. And how did your presentation at WordCamp Asia go? Were you happy with the delivery and the attendance and things like that?

[00:05:00] Leonardo Losoviz: Delivery. Yes. Actually, I think it came out quite good. You can check it out, it’s on YouTube. Attendance? Not really. My talk was the first one on the second day of the conference. It was 9:30 AM. Everybody was either sleeping or they were drinking coffee outside. We did have people showing up slowly. Maybe by the end of the presentation there were people who were like, hey, this appeared to be good. Too bad that I didn’t come here on time.

[00:05:23] Nathan Wrigley: I hope you forgive me because I was one of those people. I dropped in towards the end. I certainly enjoyed the latter part of your talk. So you’ve built a whole load of solutions around the capacity, the capability to make your WordPress website go from language A to language, B, C, D, E, and so on and so forth. I will just read the blurb about what your presentation was called and also what it was about.

And so the presentation title was The Invisible Gotchas of WP Translation. And then the blurb surrounding that was nice and short, and it goes like this. This talk walks through a practical checklist to turn, we should translate, into a precise plan that leaves no strings untranslated. Attendees will leave with a practical end-to-end approach to translating WordPress content that leaves nothing to chance.

So my first question then is really focused on the, we should translate, that little bit. Let’s make the case for, I suppose the moral argument, not the technological argument. Now, it might be a moral argument, but it also might be a legal argument. I’m just wondering where you think we stand in terms of whether you have to, or should, translate things at this point in time.

[00:06:34] Leonardo Losoviz: Well, I guess that if you have to out of legal requirements, then you will have to. So that is out of the equation. If you’re compelled to do it, then that’s part of your business. It’s a business requirement, so you’ll have to do it.

The key question is, if you don’t have to, I mean, nobody’s forcing you to do it, should you still do it? And the answer is, yes, of course you should, because it will help you. Why wouldn’t you do it if you can do it? If you have potential visitors to your website speaking different languages, why wouldn’t you want to track them? Why wouldn’t you want to show your content to new, like a new user base? The key question is, as long as you can do it, do it.

[00:07:13] Nathan Wrigley: Yeah, I think that’s an interesting point. So certainly in the part of the world where I live, there is a lot of legislation around what must be done. So for example, I’m in the UK and we have a variety of different languages spread throughout the country. And depending on where you live and what your business is involved in, you may be compelled to do it. And so, as you say, that’s just the way it is. You know, you don’t have any choice around that.

But I think now, especially with the advent of technologies which enable translation to happen at the speed of light, more or less, it becomes increasingly a question of, well, why wouldn’t you do that?

And so I’m kind of keen to explore the things that have changed over the last, let’s say decade. That’s probably a bit too long, but something along those lines, to make it easier to translate. In the past, I’ve interviewed lots of founders of plugins that do translations. Let’s say 10 years ago, this was a fairly lengthy, probably quite costly enterprise. Translating, let’s say an English site into, let’s say a German site.

Because you had to figure out which bits of the website needed to be translated. You probably had to go somewhere to find a human that could do that translation work. You then had to negotiate the price for that, receive the translated text, and then somehow figure out how to make it so that the English string is converted into the German string, and so on and so forth. I’m imagining that’s no longer the case. Where are we at in April, 2026 in terms of the ease of getting things translated? And probably, I think we’re going to stray into AI here.

[00:08:45] Leonardo Losoviz: Yes, the answer is AI. Truth is that with AI you can translate your content very easily and the quality is just excellent. I will not tell you to not engage a professional translator if you don’t speak the language, just to make sure that the translation is right. Mostly when we’re talking about technical terms, or when they refer to some industry that your website is targeting. Otherwise, the quality is just excellent.

I would say that with AI, you can rely on it, I don’t know, maybe 99% of the translation seems accurate. If there’s some ambiguity around some technical term, then you might still want to have a professional translator. But even then, you know that you don’t need to engage the translator for the 100% translation. But only to pay attention to those details, possibly fix those errors, make sure the technical acronyms are correct and that kind of stuff.

So clearly the pricing tag that now you have compared to five years ago has gone down dramatically. You have to pay for the tokens. Basically, when you engage one of these AI providers, either Open AI or Anthropic or Gemini, you are paying to them for tokens to perform the translation. But that is literally like very little money. It can be like cents on the dollar.

In the past when you have, not just the past but also the present, you have company providing translation services. They will charge you much, much, much more than that. Maybe it will be like 50 USD per hour. Maybe it’ll be like 100 USD per hour for a professional translator. And then you have to engage them maybe five hours to translate one blog post, or, I don’t know, like five blog posts, it doesn’t matter. Now that the amount of work that you need to engage them just to double check, instead of five hours, will be maybe 30 minutes. So you are still spending money to engage the professional translator, but much, much, much less.

And that means that if you do have the budget, now instead of translating one language, you are talking, Nathan, about legal requirements, possibly your country has two or three different languages. I don’t know, if you’re from Canada, you might speak English and French. Maybe they will ask you to translate your websites to English and French. But now you can say, okay, well now, if I had the money and it’s so easy to translate using AI, I can translate to many more languages and also target people, not just from Canada, but from other regions of the world.

And then you can also translate to Spanish. Why not? And you can translate to Portuguese. So the situation now is that prices went down dramatically, the quality of the translation using AI is really, really, really high and you will need professional services only in those cases that you need to be 100% sure that translation is valid when it is a professional industry.

[00:11:25] Nathan Wrigley: Yeah, I suppose the, as you described, the acronyms and things like that, the technical language, I guess if you’ve just got a blog where, in my case I’m just using plain English, an ordinary set of words, I’m not ever going to be delving into complexity, and that may be the case for many people. I think I agree with you that the AI will probably do an admirable job.

But the minute you start to stray into unusual words, or technical things where, I don’t know, you’re referencing some aspect of physics or biochemistry or something like that, then I can see exactly why you might need to do that.

But also, interestingly, the budget has obviously shrunk to get that translation done from perhaps many hundreds of dollars down to perhaps a handful of US cents. But still, if you want to be compliant and you’ve got an intuition that your language may be straying into a grey area where AI might not do a perfect job, that is now where the budget is going. It’s just sort of polishing it up a little bit and making sure that, okay, that actually is highlighted.

Can I ask a question related to that? Do the AIs, when you ask them to translate things, do they come back with, okay, we’ve done our best, but we are confused by this portion or that portion? Or do they typically just hand back, this is our translation, go figure it out for yourself from there?

[00:12:43] Leonardo Losoviz: When we’re talking about my plugin, Gato AI Translations, you get the translation straight because you’re not interacting with the AI. You are asking straight for the response and that response, you add it, you embed it into your blog post. There is no interaction with the person.

So basically, you can do that, you could feed the content to ChatGPT and tell ChatGPT, translate it, and if you have any doubt, please ask me. And then ChatGPT will talk to you, and then we say, I don’t know how to translate this word. Should I say this or should I say that? But that is in the context of the interface when you’re talking to ChatGPT or you’re talking to Claude. In a plugin where you want to collect the string and just add it into the translated blog post, you don’t have that interaction. So it really depends on your use case.

[00:13:29] Nathan Wrigley: The plugins that I’ve seen in the past that have been tackling this job in WordPress, and again, we’re going back many, many years prior to AI. There was a lot of UI involved. You would have to log into the WordPress website. Let’s say it was a blog post, you would go to the blog post and usually lurking somewhere in meta, so in a box somewhere else would be the original string and then the translated string. And that would typically have been done by a human. And you’d probably copy and paste that back, or maybe the platform, the plugin would actually facilitate the putting of that text into that box by somebody that’s logged into the platform who’s paid to do the translations.

But the point being, there was a lot to look at. If you had a German translation and a Portuguese and a Lithuanian and Russian and, you know, on you go. Every time you add one of those in the UI becomes much more complicated and what have you. So I’m curious to see in 2026, how do you manage that? How is that all done? What does the UI look like? In an era of AI when we are increasingly typing and talking to our software, have you leveraged that and sort of tried to minimise the UI in a way?

[00:14:34] Leonardo Losoviz: Okay, so there are two responses to this. One is what I’m doing right now, and what I expect WordPress to offer coming soon. So what I am doing now with my plugin is just to do the translation. And you have one blog post in, say in English, your origin language, and then you select it from the post list, and you have this dropdown in the bulk actions with all the actions that you can execute with the post. And you just say, translate. And when you do that, it will duplicate the post from the origin to all of the translations.

You can have one translation, you can have 17 translations. It will create all of those 17 entries, and it will already translate all the content to the target language. So then if you want to edit the translation, if you want to fix it, then you’ll just edit the translation and then there you will see there’s something that doesn’t appear right, and then you fix it in the WordPress editor.

In my scenario right now, we go from nothing to everything. There’s no in between. Now with WordPress 7.0, they’re adding two things. One is adding the AI Connector. So we will have more and more and more capabilities to interact with AI. And the other thing that we have that is unrelated, but I think it will end up being related is phase three, which is the communications in the WordPress editor, right? That two people can communicate with each other, like Google Docs style.

And so we’ll have these windows on the right hand side from the WordPress editor, right? So you can add a comment. Somebody can add a comment saying, hey, do you think this is right? And the other person on the other side can say, yeah, this needs to be fixed. So they can communicate via the WordPress editor. Whereas right now you have two people interacting with each other. You can have one person and one AI.

So then imagine the scenario where you translate everything and then you edit the translated post. And you might have those same windows with a kind of sticky post, and pointing an arrow to some word saying, hey, I’m not sure if this is the right translation. Please check it out.

So I can see that WordPress 7.0 will give use the infrastructure to start adding this additional interaction. So then I could translate all the content as I’m doing right now. And if I find out from the AI that a world has not been, it doesn’t have 100% confidence that it’s the right translation, maybe we can use that phase three functionality to add a sticky post to have the AI interact with the person, say, hey, this translation, I’m not sure, please double check.

[00:17:04] Nathan Wrigley: This leverage is so much interesting stuff. So again, just in case the user hasn’t been keeping up with the WordPress news, 7.0 has, or WordPress 7.0 I should say, has this capability which wasn’t quite ready for the WordCamp Asia release. The idea was to release 7.0 at WordCamp Asia, but because of technical reasons, there was something that needed to be changed and amended about the way that data was handled and stored in different tables.

7.0 will bring the capability to have collaborative editing, so think Google Docs. And it really didn’t occur to me until quite recently, because somebody suggested exactly what you said, I was always imagining another human being, being in that interface. So it would be me and Leo having a conversation through comments or what have you in that same WordPress post.

But of course now we realise, well, of course, the AI work, the MCP and the adapters and all of those kind of things allow that thing in the post to be not a human being, it could be an AI. And so that’s really interesting.

So maybe we’ll come in, have a conversation, something along the lines of, please could you just check, this would appear to be fine but there seem to be a few errors here and there and everywhere, and it may be able to come back with a suggestion.

That stuff is so powerful, but yet completely unrealised at the minute. It’s kind of just on the horizon, but when that feature drops, I think that will be quite an interesting experience. You’ll be able to talk about the content with an AI, based upon what is in the content area of WordPress. That’s going to be really, really fascinating. Gosh, wow. What a future.

Is that stuff ready? Do you know if WordPress is going to ship with those kind of capabilities? So you mentioned things like the sticky post to sort of highlight, imagine a post-it note or something like that. Something which can highlight? Are all of those foundational pieces ready or were you just sort of blue sky gazing there?

[00:19:02] Leonardo Losoviz: I haven’t seen it, but we can all picture that happening. So you know that 7.0 is giving us the foundation to build all of the things. Once the foundation is there, it’s up to the community to implement these use cases. So yeah, I’m quite confident that it will happen, but I haven’t seen it. I haven’t seen it yet.

[00:19:19] Nathan Wrigley: Yeah, I do love the idea though, of communicating through that interface. That’ll be really interesting to see how that changes the calculus of how we write things and who we write them with and all of that kind of thing.

So Gutenberg, which we don’t talk about too much really at the moment, but Gutenberg had four phases when it was first talked about. So we’re in phase three at the moment, which is this collaborative editing. Broadly it was collaborative editing was the poster child of that release.

And the fourth one, so that may be many years away, I don’t know when phase four will come about, but the fourth one is bound very much to translation. Do you know if there’s any sort of foundational work being done over there? It may still be a complete black box. It’s just the word we’re going to deal with translations. Do you have any wisdom or insight into what’s happening over there?

[00:20:03] Leonardo Losoviz: No. All I know is that Matt Mullenweg was postponing that for the very, very, very end. And since we’re still working on phase three, I don’t think that there will be any phase four work happening anytime soon.

[00:20:16] Nathan Wrigley: No. Okay. So we’ll have to wait and see how that drops. But it could be another interesting phase. Let’s see what that does.

So, okay, now let’s sort of dig into the weeds of how your system works. So you mentioned that if I’m in the data view for posts, one of the options that I have when I’m hovering over a post, you know, delete post, edit post, what have you. It sounds like in there somewhere you inject a translate. And presumably when you hit that button, automations that you’ve previously set up, say, translate to French, translate to Portuguese, translate to Chinese and Japanese, that would then be triggered.

Do you then create separate posts? So that the post that’s now in Chinese is separate to the original one, or as some plugins handle it, do you take the original one and just inject metadata into that post?

[00:21:04] Leonardo Losoviz: If we’re talking about my plugin, my plugin is called Gato AI Translations for Polylang. I depend on Polylang. So Polylang is a plugin that works by creating separate entries for each of the languages. So you have a post in English, and when you translate it, you’ll create another post in French and another one in Spanish and another one in Portuguese.

Then you have a different plugin like WPML which has a different strategy, which is to have only one post and then all the individual strings are translated on runtime. So you’re not statically creating different versions of the post, but you have only one post and then you translate the strings, the actual content.

It really is up to what is the best strategy for your site, what it is that you are most comfortable working with. There are other plugins, of course. There is TranslatePress, there is Weglot, MultilingualPress. They all have different strategies. I do like Polylang because the post is created in advance. Then all the same rules for your WordPress site apply. You can cache the page, you can export it statically, and it also is fast because you don’t need to translate the string.

Like finding a specific string can be very expensive. Like a string, you know, that you need to find from English and translate to French. The string might be like, I mean 1000 characters long. You know, that can become very expensive. And if you do that on runtime, even if you cache it later, that can be very expensive. Yeah, my plugin is based only on Polylang, but it’s not the only plugin.

[00:22:28] Nathan Wrigley: Yeah. So there’s a whole range of different things out there, but you’ve obviously opted for Polylang. Is that a commercial kind of pro plugin or do they have a, is there a free version that you can leverage?

[00:22:37] Leonardo Losoviz: Yeah. It’s free. And they have the pro version that is, I think 99 USD per year for one domain, if I’m not wrong. But it’s completely optional, you can use Polylang free and it’s more than enough. Actually, Polylang Pro, they have a few features and the main feature that they had historically is that you could use machine learning for translating the content.

They use DeepL as a service, like Google Translate. Now the thing is that I wouldn’t use DeepL anymore. Even my own plugin, at the very beginning had, even nowadays, it has integration for Google Translate and for DeepL. But AI is so much superior than those. So you can still use Polylang Pro for the other features, but the machine translation one, there’s no need, Polylang free, more than enough.

[00:23:23] Nathan Wrigley: So when, let’s say for example, that I’ve got a post and I’ve translated it. I’m just beginning my journey, figuring stuff out. And again, we’re talking about your solution here. So, you know, you can speak to how it works, not how all the other ones work.

I click the translate button and I’ve now got six posts, the English original and then these five other languages. How does that surface? Are they like child posts of the original post? Is there an easy way for me to see, okay, here’s the German version of that, and it’s bound to this? Is there a filter system or what have you?

And then how does that look on the front end? So if the original string is, I don’t know, example.com/post-one, am I from an SEO point of view, does that stay nice and tidy? Like, I don’t know, it goes example.com/g for German, forward slash post-one, or how does that all tie together?

[00:24:13] Leonardo Losoviz: All right, so this is once again, a feature provided by Polylang. When you create the translations, all the posts, they’re all parallel to each other. They don’t have a hierarchy. They’re not like the child post from the origin post. And if you want to only see the post for one specific language, there is a switch, like a switcher button at the top menu bar, and you can select the language.

So by default it says all languages, and then you’ll have all the posts. So in a way, if you have, say that you have 10 posts and then you have 10 languages, that means that you have now 100 posts. So it can be a bit clutter. So then you go to the top menu and then you select English, and then it only shows you the English ones.

And the important thing is that, say you’re using AI to translate, you only need to deal with the origin post and nothing else, until you need to double check if the translation is right, maybe fix one thing here, one thing there. But otherwise, the whole time you are only dealing with the origin post.

So what I do is I always have my selector in that origin language. So it’s in English and I only see the English post. So then I do translate, and I know that the translation will be created alongside all of the categories, and all of the tags and all the feature image, right? But I don’t need to deal with them. So then I also don’t need to see them on my screen. They create clutter, so then I remove them.

And then to see them, to visualise them, yeah, once again, Polylang, it gives you the option of choosing the language by appending the language code in the URL. So mysite.com/fr/the-slug, that’s for French. Or you can also use subdomains. So you can have fr.mysite.com/the-slug. So that’s something that you can configure. And then basically when you go to that page and you add the language code in the URL, then you will see that blog post for the selected language.

And the way that Polylang handles all of this is it connects a post to all of its translations via a specific taxonomy, like a tag that they created, I think it’s called language, if I’m not wrong, or language relationship, I’m not completely sure now. And so it ties all the post to all of its translations. And the thing is that then when you go to the post in French, it can add the href lang meta tag that is telling Google that this post is a translation of that post.

So that is important for SEO purposes that these posts are not two independent entities, but one is a translation of that one for French. So Google will understand a lot of the relationships, and if the user who is searching for information, they’re searching for information in French, then Google will know to serve the French page. And if it is in Spanish, Google will know to serve the Spanish page.

[00:27:01] Nathan Wrigley: It’s an amazing wraparound solution, isn’t it? In that all of this is just sort of handled and what you essentially end up doing is, the user that is, you click the translate button and once you’ve got everything set up correctly, it just, off it goes.

I have a question though about amendment. So let’s say for example, I realised that my blog post was full of inaccuracies and errors and there’s just wrong throughout it. And I then go in and I make amendments. Do I then need to restart that whole translation process or can I rely on it kind of figuring out, okay, amendments were made, let’s just do that automatically for you? How does amendments to the original, in my case, English work?

[00:27:37] Leonardo Losoviz: Yeah, well, I would change that. I would say do not do any translation until you’re 100% sure that the post is final. And that’s the main way to waste your time, and to waste money in tokens. Because you execute the translation, and then you realise that something was wrong. Maybe this H2 tag was supposed to be an H3, then you fix it, and then you run the translation again. And then you realise that was another mistake, there was a typo. And then you had to run the translation again. And then you’re like, oh, but that image has embedded text in the image. It doesn’t work on the translated post. And then you run the translation again.

So all of these things are common sense, and you don’t think about them until you see the error happening time and again and again. So what I do is I have a checklist actually on my website. I have a blog post where I have every single item that we need to pay attention to in advance of executing the translation. So executing the translation is when you go to the post list, you select the post, and then you select translate. Easy, and it takes five seconds.

But before you do that, you need to make sure that the post is final. That means no typos. That means all the headers are the right header. That means that all images are correct. They have alt attributes. They have the title that you need. There’s no embedded text in the image, even adding an embed from another source.

Say that you have a YouTube video that you’re embedding on your content, and the YouTube video is in Spanish. When you translate that to French, maybe the YouTube video is not useful anymore. So all of these things you need to check from a multilingual point of view when you’re looking at your origin post. And then you’re like, okay, this origin post, now it’s okay. It’s perfect. You publish the post, then you translate.

[00:29:26] Nathan Wrigley: I got it. Yeah, I mean that makes sense. But, should you need to, it’s a process of clicking the button again and kind of beginning that process. But yeah, good idea to have those checks and balances.

I was at an event not that long ago in which AI was used inside of a WordPress plugin, inside of a post, to ascertain the content of things like images and infographics. So as an example, there was data held inside of a graph. So, I don’t know, whatever that data was, bar charts, pie charts you can imagine, but also just images and what have you. And although this may not be handled and maybe it’s blue sky thinking, I was wondering what the capabilities are for handling those kind of things.

So in the case of an image with a chart in it, wouldn’t it be nice if we could replicate that chart, but instead of all the labels being in English, if they could be in German or French or whatever it may be. I don’t know if that’s utterly out of the scope, even in blue sky thinking in terms of AI and translations. But I was curious if you had an inkling whether things that were not just text-based content might be handled in the future as well by AI. Not specifically addressing what you do at the moment, but whether that seems to be on the horizon.

[00:30:41] Leonardo Losoviz: Yeah, well, to be honest, I think technically it is feasible, but even if it can be done, I don’t think it should be done. And the thing is this, I’m promoting that we can translate our websites to as many languages as possible, only because we can. So you have your website in one language, then you can have it in two, then you will have it in five. You can have it in 30 languages. Why wouldn’t you do it? If you can target new countries and new visitors, sure, go ahead and do it. AI gives you the possibility.

But now imagine that you also want to translate the images. Every single image on your website will be replicated 30 times. That sounds scary. I wouldn’t do that. What I will do is to have one single image that is language agnostic, that there’s no text inside. And if you had to add text, maybe in your page builder, maybe in Gutenberg or Elementor or Bricks, maybe you can create an overlay and place the text on top. It’s a more difficult solution and a bit more complex, but it’s clean because then you can translate that as part of text, and the image, you don’t need to replicate the image 30 times.

[00:31:44] Nathan Wrigley: Yeah, that’s an interesting point. And that leads me to wonder whether it’s possible to, for example, an image caption. Whether it’s possible to translate that into 30 different languages whilst still referencing the exact same image.

So, I don’t know, in English it might say, here is a picture of a dog walking by a beach, and then the French equivalent caption, and the German equivalent caption and what have you. Then in effect, you’ve recycled the same image, but you’ve also, the person viewing it in German would get the German equivalent of that. Again, I don’t know if that’s possible, but maybe that’s an interesting.

[00:32:14] Leonardo Losoviz: Yeah, actually that’s how it is right now. So when you translate the post, you will also translate all of the entities associated to the post, the tags and the categories and the featured image. So the featured image will have meta data associated. So when you upload an image to the media manager, you add meta data, the title, you can add a caption. So all of that text, it’s in one language.

Now, you can also translate the image by creating a new entry, once again using Polylang. The image has a language associated, so the origin image will be in English, and you can create a new entry in French, and the title will be translated to French and the caption will be translated to French. But the image itself is the same for both entries. So the JPEG or the PNG, that one is not duplicated. So you’re not increasing the size of your hard drive. You’re creating another entry on the database for the media entry, the custom post media, or the attachment, but not for the actual physical file.

[00:33:11] Nathan Wrigley: Yeah. So it’s much more lean, basically doing it that way, isn’t it? I didn’t actually know that it was done that way, but that’s certainly how Polylang handles that. Okay, that’s interesting.

So you mentioned that, I think one of the through lines in what you’ve been saying is because you can do it, why not just do it? It kind of makes sense when you think about it like that, but I’m just wondering what the real world impact of this is. You know, in terms of things like discoverability, and whether or not it really genuinely does have an impact on your business. Let’s say for example, I don’t know, you’re shipping widgets from England to France, and suddenly you translate your site into Japanese and Chinese.

I would assume that that could only have a positive effect, but also, equally, I’d want to know what the data was on that. And I don’t know if you have, given that you are in the translation space quite heavily, I don’t know if you have any data to hand which would compel people to do this, to prove, look, it really is worthwhile. Anecdotally, it feels like it would definitely be worthwhile. Why not, would be the way of phrasing it. But I don’t know if there’s any data lurking in your head which would categorically say, oh yeah, this is definitely it.

[00:34:16] Leonardo Losoviz: Nathan, unfortunately, we’re screwed.

[00:34:19] Nathan Wrigley: The answer is no.

[00:34:20] Leonardo Losoviz: Because when it’s so easy, everyone will do it. And when everybody does it, you’re not moving forward. You’re just moving, you’re running just to be on the same spot. If you’re the only one who is translating your site to 20 languages, you will be far ahead from everybody else. But because it’s easy to you, it’s easy to everybody. And if everybody does the same, once again, you are not ahead of them. You’re on the same place.

So this is the problem of technology, right? And the problem of AI. Now we’re all very productive with AI. I’m using AI to code my plugin, and I think I’m pulling ahead. But my competitor is also using AI to code his plugin. So we are both running just to stay on the same place. So in a way, unfortunately, it becomes a situation in which you need to do it just to not fall behind.

[00:35:07] Nathan Wrigley: Yeah, it’s kind of like the arms race mentality in a way, isn’t it? But also, that’s quite a compelling way of framing it, because you can be sure that, okay, if you’re writing a blog and you’ve got a limited audience, maybe there’s limited scope in that. If you are in a business and you are, certainly if you have pretensions of dealing over international borders and your competitors are doing this, it is exactly that arms race mentality, isn’t it?

Then you are compelled to do it just to be ordinary, just to be the baseline. 20 years ago, would’ve been entirely different because of that would’ve been a very expensive calculation and translating into, let’s say, Japanese. If there’s no ROI on the Japanese translation, that is money which would’ve been probably wasted.

Now, with AI costing literal cents to translate, it does feel like that is the calculus, right? We are doing it because it can be done and we know that the competitors will be doing it, so we ought to do it as well. Maybe that’s all the argument needs to be. It’s simply that, simply stated in that way.

[00:36:12] Leonardo Losoviz: That’s a good reason to do it, which is that you want to target people in other countries, speaking other languages. So yes, I want to do it, but at the same time, if I see that my competitors are doing it, then I have to do it. I can see it both ways.

[00:36:25] Nathan Wrigley: Yeah. Okay. It’s certainly been an interesting conversation. What I’ll do is I will ask Leo to provide me with links that are pertinent. Maybe we can get the wordpress.tv of the presentation that you did, plus links to the websites which have been mentioned in this podcast episode. If you go to wptavern.com and you search for the episode with Leo Losoviz. His name is spelled L-O-S-O-V-I-Z or Z, depending on where you live in the world. If you go and search for that, then you’ll be able to find a transcription of this as well as links to the various different bits and pieces that we have mentioned.

Leo, before we wrap it up, is there anything else you wanted to say? If not, we will bid you adieu.

[00:37:07] Leonardo Losoviz: No, not really.

[00:37:09] Nathan Wrigley: You’ve got it. In which case we will call that a day and say thank you very much, Leo, for chatting to me today. Really appreciate it,

[00:37:15] Leonardo Losoviz: Thank you, Nathan.

On the podcast today we have Leonardo Losovic.

Leonardo has been working with WordPress since 2012, developing plugins such as Gato GraphQL, a GraphQL server for WordPress, and more recently, Gato AI Translations for Polylang, a plugin that harnesses AI to streamline the process of translating WordPress websites. After giving a talk at WordCamp Asia on the “invisible gotchas” of WordPress translation, Leonardo joins us to discuss both the moral and practical arguments for making your site multilingual, and how the technology has changed the landscape for site owners and developers alike.

I suspect that many listeners have considered translating their WordPress websites, whether for legal compliance or to reach a wider audience, but may be unsure where to start or if the investment is worthwhile. As Leonardo explains, the ease and affordability introduced by AI-powered translation tools have changed the landscape. What used to require costly human translators and time-consuming workflows can now often be handled with a few clicks, and for a fraction of the price.

Leonardo starts by sharing his background in plugin development and the evolution of translation plugins over the past decade. We then get into how AI translations work, why manual oversight still matters, and how the new features coming to WordPress, such as collaborative editing and deeper AI integration, will impact workflows and user experience.

We also discuss plugin strategies around managing multiple translations, SEO considerations, and the best practices for ensuring your translations are accurate and efficient. Leonardo gives practical advice on how to avoid wasting resources when updating posts, and offers his perspective on the “arms race” of translation as AI becomes ubiquitous, and why, as it gets easier, keeping up with competitors becomes essential.

If you’re interested in making your site multilingual or just want to hear how WordPress translation technology is evolving, this episode is for you.

Useful links

The Invisible Gotchas of WP Translation – WordCamp Asia 2026 presentation from Leonardo

YouTube video of the presentation above

Gato GraphQL plugin

Gato AI Translations for Polylang plugin

Polylang plugin

TranslatePress

Weglot

MultilingualPress

WPML

DeepL