Updated docs on localization and translation strings
Hi all. I just spent the better part of the weekend adding some tests and fixes to our translation strings. This ended up being a LOT of work. This got me to thinking about a couple of things:
- Most people don't know how our app ends up getting translated. I kind of just quietly order translations and put in the odd fix here and there and our translations just sort of magically happen.
- Because of this black box process there are a few inefficiencies that cause me and other to end up having to do a lot of extra needless work.
To this end I decided to beef up our localization developer docs and I'm hoping you'll all give a read. I'm hoping that this article and articles like this can also help us onboard new developers better so if you don't understand something please leave a comment here or add a clarification directly to the article.
First, read the post I left to support. Then read the article on localization.
All devs should read and understand the article. My hope is for us to always strive towards a more streamlined development process, and handoffs between teams is often one of the biggest chokepoints. Understanding what other people have to do and what the repercussions of your work will really help with this.
Comments
-
Just want to give a bit of insight into just how much work this entailed:
- Writing, refactoring, rewriting tests that parse all of our strings in various ways to look for issues.
- Writing a tool to fix encoding issues and upload those issues to Transifex with their API.
- Ordering batches of translations.
- Fixing translation bugs and then re-ordering batches of translations.
- Fixing countless translation errors manually, often for every one of our locales.
- Realizing we have too many damn locales and pruning it down to a "manageable" 43 locales.
- Processing and waiting for thousands of machine translations.
- Manually updating our locales when Transifex's Github integration fails.
- Writing tools to more easily process and update our locales en masse.
- Going into Google Translate to fix poor translations, substituting real words for placeholders and then searching for them somewhere in the translated text. It's as fun as it sounds.
There is a lot of hidden work that goes into our localization.
0 -
What you may ask are some of our most problematic translation strings? Here we go...
EmbeddedDiscussionFormat
<div class="EmbeddedContent">{Image}<strong>{Title}</strong> <p>{Excerpt}</p> <p><a href="{Url}">Read the full story here</a></p><div class="ClearFix"></div></div>Here is how it was translated to Hebrew:
<div class="EmbeddedContent">{תמונה }<strong>{כותרת}</strong> <p>{קטע מתוך }</p> <p><a href="{Url}">קרא את כל הסיפור כאן </a></p><div class="ClearFix"></div></div>Not the worst, but busted nonetheless.
2