Let's face it, internationalization is a pain in the ass. Zero fun. Often termed i18n and l10n, these two are God's punishment for trying to reach for the heavens.I have recently started an effort of translating one of my sites http://www.dumpr.net to a range of languages, while maintaining a clean and loose code that can be later be put in use for other projects.
My plan is to make a 3-parts post. First, I will talk about what are my goals from the translation system. In a later post, we will review how technically other websites managed to both internationalizate and keep sanity. Third and last post will conclude: pitfalls you should know about, pains I've been going through and some tips for a better life.
As a rule of thumb, when I face with such a tremendous problem, I first head out and seek who has already achieved this goal. While there are plenty of websites that manage to translate several keywords a page (zooomr, photofunia,) there are two distinct websites I look up to: flickr und facebook.
I consider Flickr as the mother of all website architectures. In his bible book: "Building Scalable Websites", Cal Henderson explains lots of the architectural redesign and growing pains they had with Flickr. Nowadays Flickr supports a wide range of 8 languages, all left-to-right.
Facebook, on the other hand, has always impressed me with their amazing development framework and ability to adapt fast. They make sure their effort can then be helpful for other programmers. Their Translation application is so powerful and easy to use, that 20,000 people from France localized the entire website within 24 hours. (wow!) Also, Facebook supports right-to-left languages as well (ie, hebrew and arabic,) which also affect the website layout (completely mirrored.)
Drilling down, the following bullet points make up the bigger picture:
* Translating is done online. I have tried to maintain a csv or a google document for translating, it's just unbearable. Being a man-in-the-middle and transferring strings back and forth to translators is absolutely a no-no and can result in a brain damage.
* Strings list generated automatically. The gettext approach demands that the person in charge updates a list of translatable strings. Rapid development will be hurt and wounded if I have to update the same string in two places.
* No keywords or tagging, see what you are translating. It's hard to write and design an html with placeholders and copywriting is strictly impossible.
* No translation goes online without approval. Some authorization and permission-levels are required. Whether you are crowd-translating or using a hired professional, you still can't trust every person you meet on the internet. Facebook breaks this problem into finding the most fit translation (via voting,) and publishing the selected translation online.
* Person translating might not know html. Strings should not contain any markup text. Don't rely a 3rd party not to break your html compatibility.
* Rapid-translation (tm). Translators must find this task easy and fun. They should be able to see results in real-time, and not be dependent on anybody else.
Have you ever made your website appeal to other locales? Got tips to share? What problems did you face? I want to hear all about them! efterlade en kommentar!
Tower of Babel by fimoculous (cc).
0 comments:
Post a Comment