microg / GmsCore

Free implementation of Play Services
https://microg.org
Apache License 2.0
8.61k stars 1.73k forks source link

Some translation problems #263

Closed Xottab-DUTY closed 1 month ago

Xottab-DUTY commented 7 years ago

Here in repo you can take res/values/strings.xml and translate it to whatever language you want, however this file contains 142 lines and if you decompile the already compiled app (downloaded from microg.org) you can find, that it contains more lines to translate (351 in GmsCore_0.2.4-39). What's the trick and how we can translate all that lines? I can't find them here.. Punch me if didn't saw that. :D

Thanks in advance. =)

ArchangeGabriel commented 7 years ago

I’ve noticed too that after pushing the french translation, there are still part of the app not translated. Some are UnifiedNlp one (I should finish that work), but some are not.

ale5000-git commented 7 years ago

UnifiedNlp parts are here.

ArchangeGabriel commented 7 years ago

I know, I just didn’t pushed the french translation yet. But some strings are neither here nor in UnifiedNlp.

Xottab-DUTY commented 7 years ago

@ale5000-git you suddenly give us link to the fork, where it should be this link.

ale5000-git commented 7 years ago

Thanks, I have fixed it.

ale5000-git commented 7 years ago

Can it be this?

ArchangeGabriel commented 7 years ago

Just glanced at it, but yes, looks like the strings I was missing! Thanks a lot. :)

Xottab-DUTY commented 7 years ago

Wow thank you! Not closing it right now. What if we have more strings that we can't find :D

mar-v-in commented 7 years ago

Sorry for the string chaos, still thinking about a good way to merge repos, especially the ui-tools will be given a major rewrite to no longer contain translatable strings if I find some spare time to do it.

Most of the missing strings (by number) @Xottab-DUTY mentioned are likely the ones from permissions.xml. These strings were semi-automatically generated using their documentation. It shouldn't be necessary to translate all of them as this automation should be possible in other languages as well, but I have to check this first. They are also not very up-to-date (Google adds permissions every now and then to their oauth service).

I'd also like to set up a translation website so you can translate easier and keep translations up-to-date with no hassle.

ArchangeGabriel commented 7 years ago

@mar-v-in I’m having a translation problem with “Permission to” strings in UiTools. The french translation cannot easily be the same for all types of permissions, because sometimes to will be de, but when it’s a vowel right after, it should be d’ instead. I could make use of à instead, but it’s quite ugly. Is there an easy way to fix this or would it requires duplicating all the concerned strings?

BTW, where are the permissions translations coming from? OS itself? Because there is a typo in one of them…

Also, there is a strange string in GmsCore: @string/gcm_registered_apps_counter.

mar-v-in commented 7 years ago

The permission translations are part of Android, copying them over to microG is not a really good idea. If there is a typo in them, consider reporting it here: https://code.google.com/p/android/issues/list

I think the "permission to" string is only used in self-check. self-check is intended to be removed in a future release and to be replaced with a) setup assistant, b) notification and c) warning in settings (as already done for permissions and battery optimizations). Also, self-check is very technical and not a nice UI. I thus don't think it's worth thinking about a way to handle this special case. I also noted this problem when translating to German, where it's not possible to prefix/postfix the permission title in a gramatically correct way. Maybe the best idea is to just show the permission title without "permission to" in front of it in these cases. The section title is already "permssions granted", so one should be able to understand it even without the prefix.

I will fix the gcm_registered_apps_counter thing later (it slipped through and shouldn't be part of the release)

ArchangeGabriel commented 7 years ago

The typo is that the permission start with a capital letter while it shouldn’t (« Permission to Voir l’état…»). Could it be an issue in microG code? Because I suppose that Android provides both cases and you’re the one that choose whether it should have a capital or not, right? Plus see right after.

Indeed, removing “permission to” altogether would work perfectly. And regarding the above typo, it means all permissions should start with a capital letter.

There just remains the “Touch here to grant permission to”. Especially, names here seem to be the “big categories” ones (Contacts/Phone/Storage/Location), so they start with a capital letter and make no grammatical sense in those sentences. I suppose those sentences should more likely be in the kind of “Touch here to grant %s permission(s)”, with %s being replaced by lower case category name.

mar-v-in commented 7 years ago

I suppose those sentences should more likely be in the kind of “Touch here to grant %s permission(s)”, with %s being replaced by lower case category name.

Unfortunately that won't be correct in all languages. The category is often a noun and in German, nouns are always capitalized, even when in the middle of a sentence. I think best is to abandon this part of self-check as fast as possible. the inline warning and notifications are already (mostly) in place for permission related things (e.g. http://i.imgur.com/CnUFJJe.png) [ I just noted that string mixes singular and plural, but at least it could be correct as it's solely build from strings in microG, I think the string should be replaced by a more expressive string including the number of permissions missing ]

ArchangeGabriel commented 7 years ago

Yeah, I know about the warning, because I don’t grant Contacts and Phone ones. ;)

Seems I’ve translated in French with plural everywhere, I could also make use of parenthesis plural, e.g. permission(s).

ArchangeGabriel commented 7 years ago

OK, I’m done for French translation of everything, excepted for:

– permissions: I won’t translate that, especially since I don’t use them, you’ve said they are a bit outdated, and also that they should probably be auto-generated. – microG UI Demo and Summary strings from UiTools, because I don’t see where they go. – SafetyNet description, because it has a lot of translation difficulties inside, I’m going to ask on the French stackexchange forum for them.