Behind the Screens with Joshua Solomon

Podcast episode player
0:00 0:00

Lingotek's Director of Integrations, Joshua Solomon, tells us how Lingotek can translate your site into any language using real people, how to get it running in Drupal 8, plus bees and chickens.

Episode Guests

Joshua Solomon

Thumbnail
I love the outdoors—including fishing, hiking, and bushcrafting, which is basically wilderness survival skills—and tinkering in general. I was also a state delegate two years ago; that’s tons of boring fun.
Transcript

Transcript

Chris:
In this episode we're going behind the screens with Joshua Solomon from Lingotek. Joshua, you're the director of Integrations at Lingotek, so tell me a little bit about yourself and what you do there.
Joshua:
You bet. As Director of Integrations it's my job to look at the different content platforms out there, and figure out how to get content out of those platforms into our Lingotek translation management system, get it out to translators around the world, and then get it back into that system seamlessly with the click of a button. That's my job, to analyze different content platforms including Drupal, for example, and figure out how to get that content in and out in a seamless manner.
Chris:
Okay, so Lingotek provides translation services, and it's all done through an API through a service of human translators that take the content and translate it into, how many different languages did you say are available?
Joshua:
Any language that has an ISO code, basically, is available, which there are hundreds. We have over 5,000 translators around the globe, all in country that do those translations. If you ask for a translation, we would sync up with a translator. Say you want a translation, we would say, "Where? What audience are you targeting?" "Oh, we're targeting people in Spain." "Okay, we'll find a translator that's in Spain to do that translation for you." That way they have the localization knowledge and the local linguistics and understanding, so that they can perform that translation. It makes sense to that audience, particularly.
Chris:
Right, because Spanish is very, there're very different dialects all around the world, and even in Spain itself. Wow, that's amazing. Tell me a little bit what your experience with Lingotek and how long you've been in the community, and how it is working with different platforms in the different communities?
Joshua:
You bet. The Drupal community, I actually started out in 2010, so it's been about eight years since I started working with Drupal. First project there was building an e-commerce website using Uber commerce, or Ubercart. Sorry, not Uber commerce. Using Uber cart, way back on Drupal 6, and we actually got that up and running. We were doing really well with that, and then that experience got me over to Lingotek, where Lingotek's obviously a big player in the Drupal space that has obviously invested a lot to the Drupal community, and been involved a lot. That experience helped translate over here, literally. I helped translate it into working with Lingotek as the director of integrations here.
Chris:
Since you guys are using, you have plugins or modules for so many different platforms, then tell me about all the different platforms you can plug into, how it's been trying to work with those.
Joshua:
We have connectors or integrations into various platforms, anything from CMS, content management systems to marketing automation systems, lead and contacts like Salesforce, all those different systems have a certain amount of different content that needs to be translated. For example, in the CMS space you'll see Drupal, WordPress, Adobe Experience Manager, Site core ... oh, what are some others ... Liferay, so yeah. We have over 30 connectors into all these different platforms, like marketing automation you'll see HubSpot and Marketo and things like that. Salesforce, Confluence, any place that you can imagine you would keep your content in an organization, we try to access that content to get it translated for you.
Chris:
Wow, Confluence even.
Joshua:
Yeah, even Confluence.
Chris:
Yeah, a lot of us use Atlassian products: JIRA, Confluence for project management.
Joshua:
Absolutely.
Chris:
That's incredible. So the content will be sent out to your API servers and come back translated.
Joshua:
Exactly.
Chris:
How long does it take to have that, we'll just say a blog post mode, an average length blog post. How long would it take to have that translation completed and sent back and ready to go?
Joshua:
So a blog you'd try to keep under 750 to 500 words, right? And typically our translators can do about 2,000 words a day, depending on the language pairs and things like that. A language pair is like English to Spanish, or Spanish to French. So depending on the language pair it takes about 24 hours for them to do the translation. And then it takes another just a few hours to sync up that relationship if they're not already engaged with your project.
Joshua:
So in 48 hours you could start getting your blogs translated and so forth. And have a translation finished.
Chris:
Wow.
Joshua:
Yep.
Chris:
That's an amazing service. I didn't realize that it was all so human-based. We all get so used to Google translate, you just pop in there.
Joshua:
We always talk about AI and all these other things.
Chris:
Right.
Joshua:
Which is coming a long way, but it's just not there to be able to ... For example we call that machine translation; like Google, or Microsoft, which we integrate with. So for low value assets, yeah you can send it up through Lingotek, we'll hit Google translate and bring back that translation almost instantaneously. But when we're requesting those translations it's request a translation into Spanish. It doesn't ask us what locale.
Chris:
Sure.
Joshua:
It doesn't ask if it's Latin American Spanish, or if it's Spain Spanish, it just says Spanish. And it spits back a generic Spanish. Right? Obviously for marketing content that's not gonna work.
Chris:
Right.
Joshua:
Where it does work is forums, where you've got a community of people that are responding to each other, helping each other figure out how something works, right? And responding to each other. So somebody in Germany might post something, "Hey, how do I install Drupal?" For example, right? And then somebody, and then what would happen is if Lingotek's installed into that forum, that post would automatically go up for machine translation and get translated and come back in, into all the languages that the forum supports.
Joshua:
So somebody in France can see that and go, "Oh, I don't speak German, but I can read it in French. It's not perfect, but I get the just of what this guy's talking about."
Chris:
Yeah, yeah.
Joshua:
And I can reply in French. It goes back, gets translated back into German. It's not a perfect translation, but I understand what he's saying. So in that context, we're a little bit more forgiving when the translation's not perfect, because speed is of the essence.
Joshua:
Where content is more valuable, like marketing content, product content, instructions for your putting together the Ikea furniture it's very important that those translations are well done. So we're gonna spend a little bit of money hiring a professional translator to do that.
Chris:
Sure. So being that we're here at DrupalCon Nashville, if I were to start a website that I wanted my blog posts translated into we'll just say Spanish. How would I start that process on my own website and building a Drupal 8 site? What do I need to do?
Joshua:
All right, I'm glad you said Drupal 8, 'cause Drupal 7's a little more difficult. But Drupal 8, all you have to do is you install Drupal 8, add your theme, make sure your theme is multi-lingual ready, meaning that all the strings and everything are wrapped in what they call t() functions. So that allows us to translate those files.
Joshua:
So multi-lingual compatible theme, enable the config translation modules, and then all you have to do is turn on the Lingotek module to help automate that process. Without the Lingotek module you can still do translations in Drupal 8, but it's a manual process, you'll be spinning up a page, and then you'll click the translate tab, and you'll actually manually enter those translations. So if you have translators, they're logging into the back end of your system to do those translations.
Joshua:
With Lingotek, we have a translation management dashboard that allows you to see the translation status of all the pages. "Hey this page is sent up to Lingotek for translation, it's in the middle of being translated currently." And then you can refresh and see that status update in realtime. And maybe you'll see oh, nobody ever requested Japanese for this page. Oh, let's request that right now and get that going so that page can be available for our Japanese clients.
Joshua:
So you have that management dashboard that you can click on, and do bulk management. Select 100 pages, send them up to Lingotek at once. Do the same thing with blocks, and menus, and interface ... So that's how you do the requesting of translation. You can also do it on a page-by-page basis directly from the interface.
Chris:
So will the translated blog post be a new note? I'm very unfamiliar with the actual translation system in Drupal 8 so far. So how does that look when it comes back?
Joshua:
Yeah, it's recognized as the same note, just a different language.
Chris:
Okay.
Joshua:
So yeah. So when you set up your translation on Drupal 8, you set the languages. So you have a default language that you set, it's usually gonna be English, or whatever language you speak, right? So you'll set that default language, and that's the language we detect as the source. And then we will upload it as French if you're site is defaulted to French, we'll upload it as French to be translated into UK English, and Spanish, and German maybe.
Joshua:
So we can upload those. Another cool thing is that we integrate into the content moderation module in Drupal to allow you to integrate translations into your automated workflows. So it gets to a certain point in the moderation workflow, where it's approved for translation and it triggers a rule in the back end that automatically sends that content up for translation through Lingotek too.
Chris:
Wow. That's incredible. If there was somebody who wanted to become a translator for Lingotek, is there a way to go through your website to do that? How does that process work?
Joshua:
Yeah, generally translators get certified, and once they're certified usually we look for an in country translator. So for example, if we need a French translator, we're gonna look for somebody that actually lives in France to do the translations. And a lot of times translators can get a little bit of an edge by having a specialty, or an expertise in a certain field.
Joshua:
So for example, if you're a lawyer in France, and you wanna do some translations on the side, you can actually start charging more because you have expertise in law. So if we get a contract coming through translation, we're gonna go to you and say, "Hey, you know the law in France, we need this contract translated into French. And then also trans-created to match the laws that are in that locale." So there's a whole gamete of ways that you can specialize yourself as a translator. And you can contact Lingotek directly. There are a lot of communities, translation communities and events that you can get involved in that work that you can work your network.
Chris:
That's all so incredible, I love that.
Joshua:
Yeah.
Chris:
Well Josh, I wanna take this and flip it a little bit now.
Joshua:
Okay.
Chris:
So here's the go-to question. If you woke up tomorrow and the internet was gone, so that's gonna make translating a lot more difficult now.
Joshua:
Thinking doomsday apocalypse?
Chris:
Okay on the lighter side, we'll say all that staved off for a little while. What would you do?
Joshua:
I actually currently raise chickens and bees. So I think I would probably expand my farm a bit if I had nothing else to do and do that. I love working with nature, working with my hands. I do a lot of woodworking. So probably somehow make that work into some kind of business. Can't be an E-commerce business anymore I guess. Yeah, maybe selling to the local community and things like that. Getting locally involved.
Chris:
Yeah.
Joshua:
Yeah.
Chris:
I get so many unique answers to that question. I love it.
Joshua:
Yeah.
Chris:
Chickens and bees.
Joshua:
Chickens and bees.
Chris:
Awesome.
Joshua:
Yes I have been stung, several times.
Chris:
You ever bring the honey with you to DrupalCon or to Drupal events?
Joshua:
I don't. I do have my lip balm that I make, I brought myself some. Sorry I didn't bring you any.
Chris:
Aw, well next time then.
Joshua:
Okay.
Chris:
So you've been in the Drupal sphere since 2010, you said.
Joshua:
Yeah.
Chris:
So you've got a little knowledge around the module ecosystem.
Joshua:
Yeah.
Chris:
Everybody's got a spirit animal. What is your spirit module?
Joshua:
It would probably be views. And the reason it is, is when I approach ... I'm a product guy at heart, right? And when I approach a product, I like flexibility, and that's what views gives you. You can build your content, and then views allows you to do whatever you want with that content and display it in any way on the site that you need. So I just love the flexibility that goes into that module.
Chris:
Yeah.
Chris:
Nice.
Joshua:
Yeah.
Chris:
So finally to wrap it up, is there anybody you would like to say thank you to or share some gratitude with who maybe gave you a little nudge along the way?
Joshua:
Yeah, you bet.
Chris:
Or inspiring session?
Joshua:
Yeah, so way back when I first got introduced to Drupal, I was working on a website called NaturesFinestSeed.com. And I was asking around, and I asked a buddy of mine Joe Tippetts, "Hey what CMS platform should I use for this?" And he pointed me to Drupal, and it's been a romantic relationship ever since. So yeah.
Chris:
Excellent. Joshua, thank you so much for taking some time, it was great.
Joshua:
You bet, thank you.