Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Finnish locale #209

Merged
merged 2 commits into from
Apr 5, 2020
Merged

Finnish locale #209

merged 2 commits into from
Apr 5, 2020

Conversation

akx
Copy link
Contributor

@akx akx commented Apr 3, 2020

This PR:

  • adds a simple enough Python 3.6+ script to merge new messages from a base Localizable.strings file into the various language projects. Usage e.g.: python3.7 scripts/update_l10n_strings_file.py -f resources/l10n/fi.lproj/Localizable.strings
  • adds a localization project for Finnish 🇫🇮

I wasn't quite sure how to integrate the lproj into the Xcode project though, so that's left up to @lwouis, I think 😄

@lwouis
Copy link
Owner

lwouis commented Apr 3, 2020

Hi @akx! Thanks for localizing the app in Finnish! I will merge that probably after the weekend, asap! :)

Regarding the python script, I think it's important that I share with you the current workflow i use currently for localization.

I opened a free-for-open-source account at poeditor.com. The link is in the readme file if you want to see how that website looks and behave. This is what all contributors have used to localize the app so far. You're the first one to submit a PR. Of course i think the PR is preferable since it's more precise and very convenient to merge, accounts for conflicts, etc. However i also want non-technical people or less motivated to be able to contribute, thus why i made the poeditor account.

Today i go there after someone has updated a localization, and i use the export button to download a .strings, which then i merge, and PR myself. It's pretty intensive but i don't mind taking more burden if it lowers the barrier of entry for people to contribute localizations :) If i change the base terms in the app, then i'll export the genstrings-generated file (using scripts/extract_l10n_strings.sh into poeditor, which will make it available for translation for the other contributors.

Going forward, i would like to find a better system that offers discussion to debate a better translation, and ideally a way to open a PR directly. I sent an email request to weblate asking for a libre-project account which they offer. Hopefully they accept. Their solution seems to do a lot more than poeditor. I trialed it on a free-tier google cloud VM but that VM was just too slow to be something i can share with others. Thus now i'm waiting for weblate to continue exploring the PR automation and general collaboration. They have an un-intuitive UX for onboarding new collaborators for instance, which i must say poeditor does an amazing job at.

I hope i shed some lights on l10n. It is quite a complex topic as soon as we want to make it more inclusive/friendly.

For the time being, could you possibly remove the python script from this PR so that i can merge it asap, then i suggest you open another PR or maybe a ticket to discuss how we can improve l10n tooling and UX.

@akx
Copy link
Contributor Author

akx commented Apr 3, 2020

For the time being, could you possibly remove the python script from this PR so that i can merge it asap, then i suggest you open another PR or maybe a ticket to discuss how we can improve l10n tooling and UX.

Done. For what it's worth, I've used Transifex and Onesky for OSS translations before; hadn't heard of poeditor. Another very low-tech, friendly method is a simple Google Sheet with a row for every string and a column for every language, btw. :)

FWIW, it might be a good idea to document these workflows (that have popped up here and in #169 in a more concrete form than just issue comments – maybe just markdown files within docs/ in the repo itself? :)

@akx akx changed the title Finnish locale + localization merge script Finnish locale Apr 3, 2020
@akx akx changed the title Finnish locale Finnish locale 🇫🇮 Apr 3, 2020
@akx akx changed the title Finnish locale 🇫🇮 Finnish locale Apr 3, 2020
@lwouis
Copy link
Owner

lwouis commented Apr 3, 2020

Btw i forgot to mention but you submitting a PR without going to poeditor means if someone clicks the poeditor link on the readme, they will not see the Finnish translation there, and may do it all over again 😅

simple Google Sheet with a row for every string and a column for every language

I like the idea! I need to explore that a bit. I think we need a ticket to discuss this and see what's best these days. I want to explore the tools you mentioned also.

it might be a good idea to document these workflows

Indeed that would be nice. I haven't done it so far because i didn't think other people would be interested in collaborating on this. If you are then i'll make time to document this. Let me know! :)

A last thing: can you add to this PR an update of the readme? I manually list the supported languages, written in the language itself, there. I tried to automate that listing, but didnt find the time for it, also it's not trivial since you have question such as: do we list what's on poeditor or what's in .lproj? How do we map language to "language-name-in-language-itself"?

It also ties to #158 in which i mention the need for a dedicated project landing page which would allow use to provide personalized downloads based on the user browser (os version) or language ("the app is in your language!" message at the very top.

There is simply a lot to be done to improve things, as usual, and i have to pick my battles. There are a lot of other topics to develop with this app that i think have a higher payoff for more people, so currently i'm putting "nice-to-have"s like these on the backburner. I would love to work on these though, as that would be less frustrating than dealing with terrible undocumented macOS APIs for the more complex tickets ;p

All language names are non-capitalized in Finnish, but
I assume this list is in title case, so it's not the correct "suomi".
@akx
Copy link
Contributor Author

akx commented Apr 3, 2020

Can you add to this PR an update of the readme?

Done. I couldn't think of a suitable position in the list to add "suomi" in, so I took the liberty of making it a bullet-point list that's in alphabetical order (with English, being lingua franca, having a special spot outside the list).

I manually list the supported languages, written in the language itself, there. I tried to automate that listing, but didnt find the time for it, also it's not trivial since you have question such as: do we list what's on poeditor or what's in .lproj? How do we map language to "language-name-in-language-itself"?

The Unicode CLDR repository maintains mappings of language (and country, and currency, and ...) names in various languages. (I'm a/the maintainer of https://github.com/python-babel/babel/ which has an easy API for this: get_language_name('fr', locale='fr') 😄)

@lwouis
Copy link
Owner

lwouis commented Apr 3, 2020

I checked why the build is failing and found this link in the build logs. Basically because the PR is from a fork, not this repo, travis doesn't inject env vars, which breaks the build since it rely on env var for the Apple ID certificate to make a signed build. I'm going to try to fix that by having PRs do builds with a self-signed cert instead of the production cert. Worth case scenario I'll merge this PR blindly since I trust the build will pass on master given the changes

@akx
Copy link
Contributor Author

akx commented Apr 3, 2020

Worth case scenario I'll merge this PR blindly since I trust the build will pass on master given the changes

Yeah, as mentioned in the PR comment, these files aren't currently even referenced by the Xcode project, so they're basically inert build-wise. :)

@lwouis lwouis merged commit 42dbd30 into lwouis:master Apr 5, 2020
@lwouis
Copy link
Owner

lwouis commented Apr 5, 2020

Note that I imported your the work from this PR into poeditor also, so poeditor is in sync

@lwouis
Copy link
Owner

lwouis commented Apr 22, 2020

@akx I was fixing punctuations in the localizations, and noticed that some localizations from this PR are actually in English. For example:

"Show the following windows:" = "Show the following windows:";
"Start at login" = "Start at login";

Is this normal? :o

If it's not, can I suggest you go here and change the few incorrect strings?

@akx
Copy link
Contributor Author

akx commented Apr 22, 2020

@akx I was fixing punctuations in the localizations, and noticed that some localizations from this PR are actually in English. Is this normal?

No, no idea what happened there. I'll edit them on POEditor. :)

@lwouis
Copy link
Owner

lwouis commented Apr 22, 2020

@akx thank you for the very fast reply and work! I'll release a new version in a few minutes 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants