Localization for developers

What we have been working on

What the services we can give

How does the translation work?

  • A server called "Maco" hosts localizations from Transifex, pushes to git repo. Each project has 2 branches straight from Transifex. When a project is added to the server, one branch is of all localizatoins and one is for completed localizations. So when a translation is complete, you can have a reviewer assigned (usually someone you trust more) in order to ensure quality.

Server uses a transifex client to determine

Tor Project is its own project within Transifex, under it for example HTTPS Everywhere And OONI is its own project

If you want an additional file to be translated, you must manually request it from emmapeel. Many file types are supported by Transifex.

With .po files, there are special applications that help you edit translations (such as Poedit Mozilla-based apps have properties files, but it's generally better to go with a .po file right off the bat.

We are counting on volunteer translations. Emma first started on damage control because a lot of translators were unhappy with us due to not seeing their work realized in apps. We've been working with this - they can see their work appear in the browser!

We need good criteria for deciding which locales are supported (e.g. spanish from .es vs .ar) and where the breaking point is. A lot of the time there can be a situation where the language of the former colonial power is well understood, but in a specific locale you want it to be more relevant or easily understood to the local (or national) population.

For managing the translations, it can be very challenging to manage the differences between for instance Brazilian Portuguese and Portuguese from Portual. Arguments can erupt when Brazilian translations are in the Portuguese in Portugal section and vice versa.

How do you prioritize languages? For instance, Swahili isn't supported in Tor Browser even though it has 100million speakers. But it has first to be supported in ESR.

For Spanish, for instance there are 22 locales in Debian. Without the translation resources to localize to that degree, would it be pertinent or actually will it be offensive to combine them (for instance in Spanish Latin America)?

It's best to always have a locale, because lots of the time the language may not vary but there will be differences in the format of time or date.

Most operating systems and even individual applications allow users to set priorities for their own locales. So falling back from Spanish (AR) -> Spanish (LatAm) -> Spanish (ES) -> English, for instance, would be possible.

We could look at Tor metrics and decide which are the highest priority locales. Also look at frustration. Language speakers by population. Internet Freedom Act Report. Press Freedom Index. - Number of downloads of Tor Browser by locale (contact tor metrics if you want a more detailed breakdown) - Relay users by country - Bridge users by country

Press Freedom Index would be another resource

If there isn't a lot of users of a specific language, on the other hand, it can be *because* we haven't done good enough job translating for them.

The ratio between how many people are in a specific locale and how many downloads of a specific language tor browser we get vs how many translations we have, it can help identify pain points.

There have been a lot of translations in Basque, Catalan etc so even if you can understand the primary language of your formal country, it's more about cultural and linguistic preservation.

The length of translated strings can be a problem, long strings can become very difficult to translate for the users. Strings that have HTML or weird links are also hard for translators.

Separating strings in two (mid-sentance for links for instance) isn't a great idea because the context is important, you may lose the gender of a specific noun if you're breaking the sentance up.

Last modified 2 years ago Last modified on Sep 30, 2018, 10:29:43 PM