On 08/06/16 07:15, Stian Thorgersen wrote:
I sent a separate mail to dev mailing list about moving translations out of the main repository.

Marek - having a tool would be great, but I'm worried about how much effort it would be, unless there's something out there already.
Working with the property files and CRUD operations around properties is quite an easy task.

A bit more challenging is checking git history. However I've tried some playing with jgit [1] and it works fine to read the git history of some file and see the diff of changes, which are newer than some particular timestamp. So the fact that translation messages will be in different repository than messages_en.properties is not an issue. Translator can then just run something like:

mvn exec:java -Ptranslate -Dmessages_en.location=<path_to_messages_en_inside_keycloak_sources> -Dmessages_es.location=<path_to_messages_es_inside_translations_repository>

The disadvantage is, that translator will need sources of both keycloak repository with english locale and the translations repository, so tool is able to read git history. However I am not seeing very big issue, as currently all translators needs to have keycloak sources anyway to being able to send PRs.

My guess to do some tool like that could be around 2 working days.

[1] https://www.javacodegeeks.com/2015/12/getting-started-jgit.html

Marek

Thomas - for now you can send a PR to main repository with the translation if you are happy to be maintainer for the translation.

On 7 June 2016 at 09:08, Marek Posolda <mposolda@redhat.com> wrote:
Not directly related, but IMO we can potentially improve the experience for translators/maintainers and create some tool, which will simplify their work. This can result in better experience for them and hence more contributions for more languages.

IMO it is currently a bit of pain to maintain the translation and manually check if there were some recent changes in english file "messages_en.properties" and then adding/updating them to my locale (assume it's messages_es.properties) . So I am wondering that we will have a tool (or maybe we can reuse some already existing tool), which will:

- Check the last github revision of my "messages_es.properties" file. Let's assume this is revision XY
- Then check english locale file "messages_en.properties" and look for all the commits newer than XY
- The tool will automatically remove all the keys from "messages_es.properties", which were in the meantime removed from "messages_en.properties"
- Then tool will create/update the key/value pairs in "messages_es.properties" for all the keys, which were added or updated in the meantime in "messages_en.properties" .

So assume that in messages_en.properties you added the key:

greetings.key=hello

then in messages_es.properties, the tool will generate something like:

greetings.key=<TRANSLATE_ME> hello


So the translator will be just required to check the keys with <TRANSLATE_ME> and translate them to his language like:

greetings.key=buenos dias

Note that translator doesn't need to manually check what was added or updated in the meantime. He is also not required to continuously switch between messages_en.properties and messages_es.properties and compare what is the english translation for "greetings.key" etc.

Having separate repositories will be good, on the other hand it may complicate things if we want to have some tool like I mentioned above (but maybe not, if it's able to work with times of commits).

Marek


On 06/06/16 08:14, Thomas Raehalme wrote:

How about making translations deployable in a similar way as themes? The base theme would define the required set of keys which each translation should include. You could even write tests to make sure the translation is complete which would simplify maintenance.

Perhaps the main distribution could include only English as it would now be simple for the admins to deploy the needed translations. If the translations are separated from the main Keycloak repository, as you suggested, then the main repository would not be dependant of up-to-date translations (which could slow the development down if they start lagging behind). For the same reason it could also be beneficial to be able to release translations independently from each other.

Themes would still need a way to include custom/override messages but they could be included directly in the theme just like now.

Just an initial thought....

Best regards,
Thomas


On Jun 3, 2016 14:34, "Stian Thorgersen" <sthorger@redhat.com> wrote:
We need to find a way to share translations that scales. We're not able to maintain all these translations ourselves so I'm considering adding some external repository for the translations and have elect a maintainer for each language.

Does anyone have a good suggestion how to deal with this?

On 31 May 2016 at 12:01, Thomas Raehalme <thomas.raehalme@aitiofinland.com> wrote:
Hi!

We need to translate Keycloak user interface (excluding admin console) to the Swedish language. I was wondering if anyone has already done the translation and would be willing to share it?

We have already translated Keycloak to Finnish and hope to share the translation with the community in the near future.

Best regards,
Thomas

_______________________________________________
keycloak-user mailing list
keycloak-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/keycloak-user



_______________________________________________
keycloak-user mailing list
keycloak-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/keycloak-user