Mailspring: Multilanguage / Translation / Localization support

Created on 21 Oct 2017  Â·  20Comments  Â·  Source: Foundry376/Mailspring

Good evening, interested in multilingual support, namely the Russian language, plan to do it? @bengotow @Foundry376

done-pending-release enhancement

All 20 comments

Hey! We've had a bunch of requests from folks interested in localizing the app into other languages—stay tuned! We just have to stabilize things a bit and then we can start translating it.

I would accept to make the French version of Mailspring.

I could do German translation or reviewing

Hey folks—we're getting the ball rolling on software support for this. If you're interested in helping out, please fill out this brief form! (Folks have been emailing and posting on other channels so I'm trying to consolidate everyone here.) Thanks!

https://docs.google.com/forms/d/e/1FAIpQLSf-rdoUAVS15dwYud9tIZOVM393J55GEmEkJGiagqLhDUThuA/viewform?usp=sf_link

What is the progress of the international project? When can we fit in app?

When can we expect other language support?

Mailspring must be stabilized before starting other languages. Bengotow replied this a few months ago.

Hi there. Any news on L10N project?

I have seen that some developers use transifex for this cases. I do not know if it applies to this application, but if so, it would be great. I have helped translate several applications to Spanish from transifex, as pencil2d.https://www.transifex.com/pencil2d/pencil2d/dashboard/
https://www.transifex.com/

There is another tool free https://weblate.org The community can help translate it into different languages

Hey folks—thanks for all the interest in localization! I know it's been ages, but I've spent the last couple weeks working on localizing Mailspring, and the changes just merged into master to be included in the next release.

Here's what's new:

  • A new folder (app/lang) contains JSON files mapping all English text in the app to translated strings. It took a while to extract every string constant from the app's menus, React components, etc., but every reference to text is now passed through a lookup function that uses the user's locale.

  • I created a script that scraped standard macOS apps (including Mail.app) for translations and I was able to get translations for ~30% of the strings in the app in 38 languages. This covers common phrases like "Archive" and "Thread" that need to be localized carefully so as not to be terrible.

  • I created another script that used Google's NLT Translation API to fill in the gaps in the localized strings files. The API is fairly cheap, and for ~$30 I was able to translate every string in the app into nearly 90+ languages. Some of the translations, especially in small / obscure languages, are ROUGH, but I think it's probably still preferable for users that speak that language.

  • I would absolutely love for folks fluent in other languages to help clean up these translations. I've created a new "Developer > Toggle Localizer Tools" in Mailspring which displays a bar at the bottom of the screen. You can use this bar to click text in the app and provide a better localization, right from within the app. I've also created a new https://github.com/Foundry376/Mailspring/blob/master/LOCALIZATION.md#L1 guide that explains how to submit pull requests with localization improvements for folks willing to take on an entire language or a larger set of strings.

Thanks for your patience, I'm really excited to be able to deliver a better experience for users who don't speak English or are more comfortable in another language!

image

image

(The second screenshot still says Inbox, but just because that's the name of my Gmail label)

Hi @bengotow, is it possible to add a switch in Preference to decide which language to use in the interface? The current zh-TW version is so bad that I spent lots of time just to understand what are the original words for those mis-translated ones.

Ahh good call @qitar888, I'll see if I can add an option to choose another language in the next release. In the meantime, if you want to try to improve some of the worst offenders it'd be super helpful! Our current (terrible) zh-TW translations are here: https://github.com/Foundry376/Mailspring/blob/master/app/lang/zh-TW.json

Yeah I can definitely help

Hello Folks,
I did not find a file in the app/lang for Portugues_Brazil (pt_BR) only Portugues_Portugal (pt), is it possible to add? I can help with the translation.

Hey @leoescarpellin — definitely! I'd love for you to add Brazilian Portuguese! If you want to duplicate the existing pt.json file and create pt_BR.json, you can add the correct localizations there. To make the new language selectable from Mailspring's preferences, you'll also want to edit app/src/intl.es6 and add an entry to the LANG_NAMES lookup table. That determines what appears in the menu for pt_BR.

Nice!
I'm going to try. I've never really participated in a help like this.
When I mount the file and adjust the translation, how do I upload it to your analysis?
First time trying to help a project here on Github, sorry beginner question =)

Hey @leoescarpellin - no worries! What you'll want to do is visit this folder (where the translations are) and click the "Create new file" button (https://github.com/Foundry376/Mailspring/tree/master/app/lang).

Once you do that, GitHub will guide you through a few steps of "forking" the repository and naming the new file (you can call it "pt_BR.json"). Then you'll want to copy-paste in the existing pt.json translations so you have something to work with.

You can find more instructions here — https://help.github.com/articles/editing-files-in-another-user-s-repository/. Note that in that guide, they're editing a file instead of creating a new file, but it should only be the first step that is different!

Hi @bengotow! I ajust the translation to pt_BR and do a pull request, but generate errors, its normal or i do something wrong?

Hey folks! Thanks for all the help with localization - since this ticket was opened there are now manually reviewed translations for Spanish, German, French, Korean, Polish, and Brazilian Portuguese and Taiwanese Mandarin. Really amazing seeing this all come together!

I'm going to close this ticket now that the core support for localization is finished. If you'd like to contribute a new language or improve an existing language, check out my comment above. If you find a bug in the localization support or need something new to support a new language, please file a new ticket. Thanks!

Was this page helpful?
0 / 5 - 0 ratings