
Ask HN: How do you manage translations in your mobile apps? - wawan
I work as developer in a team of ~10 people (dev, designer...) but we struggle (a lot) when we want to add or update translations in our apps (iOS, Android...). We spend a lot (too much!) of time fixing issues and send validated strings to an external translators team.<p>So how do you manage strings to translate (tools, workflow...)?
======
twunde
Stack Overflow had an article taking about how they did translations for their
web app, which I found useful: [https://nickcraver.com/blog/2016/05/03/stack-
overflow-how-we...](https://nickcraver.com/blog/2016/05/03/stack-overflow-how-
we-do-deployment-2016-edition/)

As someone who has done a few translation projects, you want to always have a
dedicated translation team (eng should not be doing the translations). As the
article mentions, the business should decide whether they're ok with
incomplete translations. You should prefer to keep translations in a standard
format such as po files in your source code. It may make sense to bundle it
into your building processes. The UI/UX aspect can be the most challenging as
suddenly some lines are now two or 3 lines and wrap weirdly.

~~~
wawan
Thanks for the article.

How do you manage translations across multiple projects ? Do you have a
database to keep all the strings, or you simply look if the translation has
been done in another project when needed ? Who make the list of strings to
translate : the specification writer, the developer when coding, another one ?

Do you use an external tool to do that ?

I've started to use CrowdIn but it's not good enough to make it easy for us
(as developer) before the strings batch is sent to translators (ie: extract,
collaboration).

~~~
twunde
Well the easy way is to have a monorepo, but it sounds like that's not a
possibility in your case. It may make sense to have a separate repo where you
keep your PO files or whatever you're using and just import that repo into
each of your projects. You don't really want to just search for the string in
other unrelated projects because the translations may have added context,
which is appropriate fro the project it was created for, but incorrect for the
new project. The person making the list of strings to translate should be
whomever is in charge of actually writing the copy. That's often the product
team.

We just email files back and forth, which works ok as long as it's easy to
grab the current files from source control. It looks like CrowdIn basically
does the same thing but with a web app and the ability to purchase
translations as needed (it's weird to see a translation company with grammar
errors on it's front page). The essential workflow you're looking for is the
ability to send files back and forth in a version controlled manner, possibly
with screenshots to add more context

~~~
andriy_crowdin
Hi there!

Andriy from Crowdin is here! Crowdin is localization management platform where
you can upload different kinds of files (including PO) and localize them with
help of community or hire professional translators. It's worth mentioning that
GitHub / GitLab / Bitbucket repository and sync files automatically back and
forth.

Quite often people indeed create a separate i18n repo where localization files
are hosted. A good sample:
[https://github.com/electron/i18n](https://github.com/electron/i18n)

We do not provide translation services ourselves and I'm sorry to hear you've
found some imperfections in texts! If you could point what exactly can be
improved, we would be happy to improve that of course!

You are welcome to contact support@crowdin.com or open live chat with us if
any questions arise

