Creating a multilingual website

3 min read
Smarter - Igniting Your Startup

Hey! Dónde está la biblioteca? Um wieviel Uhr schließt das Geschäft? Unazungumza kiingereza? Tara sayaw tayo? Câte mere are Ana?… Confused much?

How would it be like if all BMWs had everything from labels to User’s Manual in German. Only German. It would be even more fun if you’d have voice feedback and whenever you’re low on gas you’d hear “Bitte tanken!”.

Same goes for websites. You speak English, you want your page displayed in English, so you can actually use it. It’s rarely of much use if you don’t have a clue about the language you’re presented with, isn’t it?

Approaches on translation

The first thing is the URL. Because ignoring Google and Bing is not nice. Or healthy. So if your website is at www.my-startup.com, and your main target audience speaks english, you’re good to go. You might want to resist that temptation to make a redirect to www.my-startup.com/en for your homepage and move all your English pages to URLs starting with www.my-startup.com/en/… because it’s redundant.

So all your pages in english should be just fine, at their usual URLs. Adding a new language? That’s easy: build it all under the two letters that describe the language (for example www.my-startup.com/fr for the Frech homepage). I suggest on using ISO-639-1 for the language codes. This way, you gain two benefits:

  • the default language doesn’t have anything extra in the URL.
  • you can add a language at any time in the future, without breaking all the existing links.

Nice, but how?

Exactly how you add the URLs depend on what technologies you have, but here are a few tips:

  • If you have WordPress, there are plugins that provide you with Title and Content boxes for each configured language. It also handles all the URL rules and fallbacks.
  • If you’re running PHP, be sure to write all your labels with something that gettext can process.
  • If you’re running anything else, look up on what’s the easiest way to handle translations. Many languages handle .po files.

What’s with these .po files anyway?

Well, first there are the memory considerations. You don’t want to load all the strings in all the languages just to show a notice.

Secondly, think about the actual translation. You’ll need to get the list of phrases to a professional translator somehow, get them back translated, and integrate them in your software. That sounds easier than it actually is. Plus, there are the updates and add-ons that come after the initial translation.

But… but… there’s Google Translate!

If Google Translate sounds like a good idea to you, check out some neat translations (Soup for sluts is my second favourite). Satisfied? If Google Translate still sounds like a good way to go, stop reading and go home.

Evaluate the effort

Translating a service into another language, especially the first translation, is always hard. Evaluate the effort and make sure it’s the right time to do it. Yes, you’ll be able to address a whole lot more people than before. But don’t fool yourself, it is rarely an easy task to do. Plus, it not really motivational for your team, as the end product is a thing in a language nobody there understands. Yey!

Bottom line…

…not everybody speaks English. There are many countries where French is the main language. It makes a great impact on your visitors, but it comes with an extra thing to maintain. Not to mention that your customer care people would have to be able to handle requests in the freshly translated language. If I browse a website in Spanish, I can only expect to be able to talk to someone in Spanish if I run into trouble.

P.S. If you understood all the first sentences without using a translator, I want to meet you! 🙂

Interesting read?