Bring it to the world: aNobii
This is part of our series “Bring it to the world” which profiles websites and apps that offer localized versions to reach happy users from many parts of the world.
Q&A with Varian Ng of aNobii
What does your company do?
aNobii is a social network for book lovers. You can create a beautiful online shelf of books you’ve read and strike interesting conversations with those with similar reading tastes.
We have an iPhone app and an Android app that let you scan barcodes on the back of the books with your phone so to add books easily. You can also use it to find book reviews quickly at a bookstore.
How many languages does aNobii support now?
Our site currently supports 16 languages: English, Italian, French, Spanish, Traditional Chinese, Simplified Chinese, German, Russian, Galician, Portuguese, Dutch, Swedish, Esperanto, Japanese, Korean. Many more are coming. We have a rule of switching on a language once 50% of the strings have been translated in that language.
Defining target languages was more challenging than we’d thought. Catalan was a major language in parts of Spain. Brazilians speak a slightly different version of Portuguese from European Portuguese. We never knew this before.
What types of apps do you have?
We have a web app built mainly in PHP Zend, an iPhone app and an Android app.
How did you get the idea of localizing your app?
We are based in Hong Kong, a city where both English and Chinese are heavily used. So although we built our site in English first, we knew early on that we would add Chinese down the road. And why not more languages, if we will have two?
We built the English version first. Then we asked our friends who were using our site to help translate into Chinese. It seemed to us a good idea to have it translated by people who actually use and care about the site. They understand the contexts and nuances better. If you just send a spreadsheet with all the strings to someone not familiar with the site, it’s unrealistic to expect good translations.
The aNobii team
What tools do you use?
Approach #1: online spreadsheet. So we were looking for a tool for our user friends to collaborate. Our friends at Editgrid (makers of a fantastic online spreadsheet app; acquired by APPL) showed us how they were using their own online spreadsheet to do their collaborative translation. Basically, you create one spreadsheet for each language. Column A is original string in English. Column B is the translated string. And you run this program cron job that automatically grabs the latest version from their API every X hours and integrates it into the back-end. We liked the straightforward approach and used that.
This worked fine until we had the Italian translators group grew large in mid-2007. One day we would receive an email saying that her Italian translation was replaced by an inferior one and asked us to switch back. We would do the switch and not surprisingly the next day we would got an email from the other translator complaining about his string being replaced and requested a switch. As you can imagine, we are not very keen to have to judge the merits of translations in language we don’t speak! So we started looking for a better way.
Approach #2: build our own. We thought, how about we let the users vote to decide which translations to use? There were no off-the-shelf tools for it back then. So we ended up building our own. That’s the second approach we tried. It was a tough decision because building a collaborative translation platform was not our core focus. But we decided that quality of the translations would suffer without it.
Another problem we wanted to solve was validation. In the strings, there are often parts that are not meant to be translated, like variables. With spreadsheets, we could not validate the translations and feedback to users in real-time. That made it difficult for the translators to get things right.
Once we started building it, we found a lot of subtleties to handle to make it work well. Things like limiting the length of translated strings so they would not break the layout, or having a glossary so that key terms were consistently translated. It would also be nice if there is a more automatic way to ensure all the strings are promptly inserted into the translation database. And over-the-air translation updates for our mobile apps would be nice. We underestimated the efforts needed and left a number of useful features out because of time constraint.
Now that OneSky offers features we’ve always wanted, we might consider a switch!
How has localization helped your website/apps so far?
Having localized versions turned out to be more important than we’ve expected. Our users love using the site in their native languages. We are hugely popular in Italy, Spain and Taiwan. Now over 60% of our traffic goes to non-English versions. Localization has been the key drive to our international growth, no doubt about it.
Overall, the feedback is that our users like the collaborative approach for translation very much and enjoy taking part in building the site they love to use.
How long does it take for translating the whole site in a new language?
We’ve learnt that you don’t need a huge number of translators to make it work. Our largest translators group, Italian, has around 20 active members. Every new string is translated within hours. They are the ones submitting different translations and they are amazing. There are also many other users who help out mainly by casting votes so the translations are improving all the time.
What made you go for crowd-sourced translation instead of traditional agency translation, or even machine translation?
What we’ve learnt is that localization can help grow your user base tremendously. And the key advantage of crowd-sourced translation is quality and greater participation from users. Cost-saving is not the point. After all, hiring a translation agency is not that expensive. And I am sure Facebook is not going the crowd approach in order to save a few bucks!
Machine translation does not give us high enough quality yet. Maybe one day it will. I don’t know. But not now. We wouldn’t mind using it to complement what we already have, to generate translation candidates to be voted. But we would not trust it enough to use without confirmation from our users.
Any advice for someone considering localization?
- Go for it!
- Find a tool that integrates well into your development process
- Let your users help