Hello Stian,
I've added Michal in CC. @Michal: this discussion is for using Weblate
to translate Keycloak .
I did a bit of research and Weblate does support PR's .
We are also slowly migrating to use "git subtree" to manage translation
updates instead of the git submodule.
master --squash" and we get a single commit . I imagine that working
with PR's will probably eliminate the need for a separate git sub-project.
With these updates in mind, do you think keycloak can be migrated to use
(a self hosted or the
hosted ) Weblate instance ?
I would like to help out with this process and get involved with
Keycloak devel this way.
I think the first thing to do is establish some requirements - some of
them have been allready set in this thread.
Regards,
Eugen
La 06.02.2019 16:38, Stian Thorgersen a scris:
I think you forgot to add Michal in CC (or perhaps you did BCC?)
Due to the way to review and merge changes to Keycloak we can not
accept direct commits to the repository. All changes have to be made
through PRs.
What would be very cool is if Weblate would support GitHub flow that
enabled it to send PRs including comments and links to view the
reviews of the translations easily.
I don't think we can expect all contributions to come through Weblate
and will still need to be able to accept translations coming directly
as a PR.
With that in mind and also just the fact that it would be rather
awkward I don't like the idea of syncing the changes.
The short term solution would be to setup Weblate with webhooks so it
receives automatic updates, but still require changes to be done by
sending a PR. Not sure if Weblate would support committing to a users
fork rather than to the upstream repo.
A longer term solution may be to consider extracting the translations
completely into a separate repository and have separate releases for
translations that are installed into Keycloak rather than bundled with
Keycloak itself. One issue here though is that the English main
translation would have to remain in the Keycloak repository. Not
really sure about this approach either.
On Tue, 5 Feb 2019 at 11:13, Eugen Stan <ieugen(a)netdava.com
<mailto:ieugen@netdava.com>> wrote:
Hi Stian,
I've added Michal to CC (creator of Weblate) and I hope he can
pitch in.
I think the best thing is to go through the very good documentation on
continuous translation and translation workflows :
https://docs.weblate.org/en/latest/admin/continuous.html and
https://docs.weblate.org/en/latest/workflows.html
Weblate has some features that can help with batching: lazy commits
(commit once a day) and has some customization options on how to
interact with the repository.
I believe with the Review workflow, Weblate does not commit to git
until
the translation has been approved so this might work well. However it
will require a translator and a reviewer.
From our experience working with translators on apps - they need
context
and they need to see the translations in the app for them to
figure out
the best translation.
So most of the time we ended up doing the translation - best effort +
deploy + review in the app and update the texts.
It also helps to have a single or just a few translators or a glossary
to keep the translation consistent. Like in code, there are multiple
ways of translating a string and like developers, translators or end
users don't always agree on the result.
To have an idea on how the translation commits look, please see here
https://github.com/GreatPeopleInside/keycloak/commits/master .
You will see why we want to choose another git repo for this -
which is
still my recommendation - it works very well, and it is simple. We had
commits every 24h.
Another option is to keep the translations in another git repo
(working
repo) and manually merge them in keycloak (source) - there you control
the frequency and you can merge just one language. This requires a bit
of manual work but if it is done once a month it is ok I guess.
Regards,
La 05.02.2019 11:47, Stian Thorgersen a scris:
> Can you briefly describe how it works?
>
> With regards to repository and commits we can't use anything that
> commits directly to the repository. We need something where
updates to
> a single language can be batched and sent as a PR with a single
commit.
>
> On Tue, 5 Feb 2019 at 09:46, Eugen Stan <ieugen(a)netdava.com
<mailto:ieugen@netdava.com>
> <mailto:ieugen@netdava.com <mailto:ieugen@netdava.com>>> wrote:
>
> Hello Stian,
>
>
> Weblate can wrok with the respository as is but it can
introduce a lot
> of noise for the commits related to translation. That is why we
> chose to
> split the translations into another module.
>
> In our case we have quite a few languages and a lot of text
to be
> translated so there is a lot of noise commming as git
commits from
> translators.
>
> In keycloak I believe this will not matter that much since
it has less
> text to be translated.
>
> Weblate has the feature to implement translators + reviewers
> processes.
> It can also work with offline translation.
>
> We had a very good experience with it so far. Michal (the
creator of
> weblate) has proven very responsive and helpful even when we did
> not pay
> for maintenance. In our case we ended up paying for maintenance
> because
> it is worth it.
>
> For keycloak we have the following languages translated for all
> components (except Admin) with professional translators or local
> people:
> Arabic, Dutch, English Australia, English UK, Latvian,
Lithuanian,
> Norwegian, Romanian, Russian, Spanish, Swedish, Vietnamese and
> more are
> comming.
>
> I think the setup can be done in a day or so.
>
> Regards,
>
> La 05.02.2019 08:16, Stian Thorgersen a scris:
> > I'm afraid using sub modules is not an option for us.
> >
> > I'm open to a tool to aid with translation, but we would
need to
> > review what tools are available before selecting one. The
tool would
> > have to be free for Open Source projects and self-hosting
is not an
> > option. It would also have to work with the repository as
is and not
> > require changes to where and how the translations are
maintained.
> >
> > On Mon, 4 Feb 2019 at 14:41, Eugen Stan
<ieugen(a)netdava.com <mailto:ieugen@netdava.com>
> <mailto:ieugen@netdava.com <mailto:ieugen@netdava.com>>
> > <mailto:ieugen@netdava.com <mailto:ieugen@netdava.com>
<mailto:ieugen@netdava.com <mailto:ieugen@netdava.com>>>> wrote:
> >
> > Bump.
> >
> > Hello again. We managed to translate some languages
already
> and we
> > would
> > like to contribute the translations upstream and hopefully
> improve the
> > translation process.
> >
> > We have some feedback from our process. We use this
process
> internally
> > and the idea is to have it working for keycloak open
source
> >
> > Proposal for Keycloak
> >
> > - We propose to move the community translations in a
> separate git
> > project - just with the translations
> >
> > - That repository is going to be used by Weblate as a
source of
> > translations ( use Free Hosted Weblate -
> > https://hosted.weblate.org/ )
> >
> > - The translations project can be added as a git sub
module
> to the
> > keycloak project
> >
> > - during build the translations can be copied to the final
> artifact
> >
> >
> > We do this allready and we can help with the code
> migrations. Having
> > this setup will improve the contributions to translations
> and also the
> > ability to change the translations easily.
> >
> >
> > WDYT?
> >
> >
> > Regards,
> >
> > Eugen
> >
> > La 01.12.2018 19:22, Eugen Stan a scris:
> > > Hello,
> > >
> > > Where can we find the translation files for Keycloak and
> what is the
> > > process for upstreaming them?
> > >
> > > We are planning to deploy Keycloak for
authentication for our
> > services.
> > > We have users all accross the globe and we have
> translators that
> > we can
> > > ask to translate.
> > >
> > > I'm planning to push the translations upstream once
they are
> > done (need
> > > to get approbal on this).
> > >
> > >
> > > Regards,
> > >
> > > Eugen
> > >
> > >
> > >
> >
> > _______________________________________________
> > keycloak-dev mailing list
> > keycloak-dev(a)lists.jboss.org
<mailto:keycloak-dev@lists.jboss.org>
> <mailto:keycloak-dev@lists.jboss.org
<mailto:keycloak-dev@lists.jboss.org>>
> <mailto:keycloak-dev@lists.jboss.org
<mailto:keycloak-dev@lists.jboss.org>
> <mailto:keycloak-dev@lists.jboss.org
<mailto:keycloak-dev@lists.jboss.org>>>
> > https://lists.jboss.org/mailman/listinfo/keycloak-dev
> >
>