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

Translate/localize AuthPass to different languages #78

Closed
hpoul opened this issue May 25, 2020 · 16 comments
Closed

Translate/localize AuthPass to different languages #78

hpoul opened this issue May 25, 2020 · 16 comments
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed prio: low

Comments

@hpoul
Copy link
Collaborator

hpoul commented May 25, 2020

Update: Translation started with a few strings, looking for contributors at https://translate.authpass.app/authpass ;-)

Make it possible to translate&localize AuthPass to different languages. For a start

  • German
  • Spanish

This is issue is just to gauge interest, so add your 👍️ to the issue if you are interested. and add a comment if you're willing to do the translation :-)

https://docs.google.com/document/d/10e0saTfAv32OZLRmONy866vnaw0I2jwL8zukykpgWBc/edit#

@hpoul hpoul added enhancement New feature or request prio: low labels May 25, 2020
@ashed
Copy link

ashed commented Jun 3, 2020

Translate it to Russian, please. I can help to localize resources.

@nbusseneau
Copy link

Hi! Available for French translation.

No promises as I'm currently working on other projects, but if I get back to this issue before you do, I will have a look at implementing localization itself -- I have no Dart experience but I figured this could be a good thing to start with.

@hpoul
Copy link
Collaborator Author

hpoul commented Jul 14, 2020

@Skymirrh sure would be great.. although since AuthPass has no externalized strings yet, and no support for localizations yet.. it's not the most trivial task to be honest. but if you're motivated and got time let me know.. you should get familiar with flutter and dart though.. maybe take a look at a simple hello world app. I should probably write something up on how to get AuthPass development environment running.. it's actually not really difficult.. basically just checking out the code + submodules, and running with flutter.. :)

@hpoul
Copy link
Collaborator Author

hpoul commented Aug 6, 2020

I think i'll give localizations / string externalizations a try.. anyone willing to do some translation in the next few days maybe? @ashed @Skymirrh ? Not sure yet how this will be done (either editing json files or finding a tool to do this)

@nbusseneau
Copy link

nbusseneau commented Aug 6, 2020

For external tools, you might want to have a look at Weblate or POEditor, these are the two I usually see. Both have free plans for open source projects.

I personally am comfortable editing resource files directly (no matter if external tools are present or not), and actually prefer doing so in order to build and test right away, but external tools are sometimes useful for non-tech translators to get involved, and are a good way to check coverage at a glance as well as quickly find out what's changed/missing when revisiting translations periodically.

Available for translating to French.

@hpoul
Copy link
Collaborator Author

hpoul commented Aug 7, 2020

To be honest those .arb files which are used by the flutter workflow are a pretty annoying thing to work with :-) I try to adhere to the https://flutter.dev/go/i18n-user-guide guide..

I've looked at a couple of tools now, right now i tend to lean towards crowdin because they seem to handle plurals at least a little bit, which i liked:

Screenshot 2020-08-07 at 15 01 35

The hosted version of Weblate did not accept .arb files, I've also tried the self hosted version, but that was also a bit annoying.. Yeah, maybe doing it manually is the way to go.. although it's nice to have a UI to check for completeness, etc. :-)

@hpoul
Copy link
Collaborator Author

hpoul commented Aug 7, 2020

Weird.. at least after importing the arb file into POEditor the plural did not work.. but maybe I did something wrong.. it just showed a plain text box.. it did not seem to recognize that this was supposed to be plural field..

Screenshot 2020-08-07 at 15 53 44

@hpoul
Copy link
Collaborator Author

hpoul commented Aug 10, 2020

I have now started externalizing a few strings. (I've basically done Launch screen, preferences, menu items and about dialog).
The base strings are all in https://github.com/authpass/authpass/blob/master/authpass/lib/l10n/app_en.arb ..
@Skymirrh do you think you could also help with externalizing the strings? It's basically going through the files, copying the strings to app_en.arb - this will autogenerate the related properties in AppLocalizations and then using those properties in the code:

da328bb#diff-2093d39b91124066d2d0ace185c6e9dcL52-L71

@nbusseneau
Copy link

Sure, I could do that, though I'm not sure if I'll have free time in the next few days. So it depends on how quick you'd like this to be done :D

@hpoul
Copy link
Collaborator Author

hpoul commented Aug 10, 2020

@Skymirrh I don't have deadlines 😅️ Would be greatly appreciated, then I would focus on other issues :) there is no hurry I guess.. Do you have experience with flutter? There's a short intro how to get AuthPass to compile/run in the CONTRIBUTING.md, i'm also on the discord channel

@hpoul hpoul added good first issue Good for newcomers help wanted Extra attention is needed labels Aug 18, 2020
@hpoul
Copy link
Collaborator Author

hpoul commented Aug 31, 2020

@Skymirrh no pressure, just wanted to check in to make sure it's not forgotten :-) still interested in getting into this in the next few weeks?

@nbusseneau
Copy link

Not forgotten, it's in my backlog of things to do :) Not sure when I'll get around to it, I got some other contributions I'd like to finish first (notably Grav-related stuff).

@hpoul
Copy link
Collaborator Author

hpoul commented Sep 3, 2020

I have now started with a couple of strings.. and also created a project on crowdin. So if anyone want to already start translating (@ashed ? ;) ) it's now possible at: https://authpass.crowdin.com/authpass :-) I've started to do a few german translations..

(there are still 90% of strings hardcoded.. so it will take a while before everything can be translated there.. but it's a start :))

hpoul added a commit that referenced this issue Sep 14, 2020
@hpoul
Copy link
Collaborator Author

hpoul commented Sep 19, 2020

Small status update, since AuthPass is now already shipping with multiple languages :-)
Im basically slowly starting to externalize strings, while adding features or cleaning up - I brought it down to ~590 string literals in the code. So there is still plenty left to do if anyone has some time on their hands 😅️ otherwise i'll just externalize every now and then..

Screen Shot 2020-09-19 at 13 11 07

(many of those string literals are probably valid non translatable strings, but my goal is to mark all NON-NLS strings as such, or make them translatable).

@hpoul
Copy link
Collaborator Author

hpoul commented Aug 6, 2021

Finally externalized all remaining strings 🥳 No more (non-ignored) string literals anywhere in the (dart) code ;-)

Screen Shot 2021-08-06 at 14 02 27

And there's a github action which checks for new string literals, so we should stay this way.

The only thing missing are the translations https://translate.authpass.app/

@hpoul hpoul closed this as completed Aug 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed prio: low
Projects
None yet
Development

No branches or pull requests

3 participants