control of community-contributed localization

110 views
Skip to first unread message

Роман Каган

unread,
Nov 13, 2013, 2:48:40 AM11/13/13
to jenkin...@googlegroups.com
Hi,

I've upgraded to 1.539 and discovered that russian localization is seriously spoiled.

Some labels contain offensive words (!), some don't match the original, some are plain garbage.

They were introduced by

commit 7828dcb46d9a18f88cc8e71046edc9ee91ed95e6
Author: Kohsuke Kawaguchi <k...@kohsuke.org>
Date:   Sun Oct 20 22:10:02 2013 -0700

    Community-contributed localization for Russian (ru)


So the problem is actually the quality of localization contributions submitted via the translation plugin (which comes bundled and enabled with the main jenkins package).

AFAICS http://l10n.jenkins-ci.org/ accepts anonymous submissions so nothing prevents an irresponsible user from submitting whatever crap they like.

What can be done about it?

I guess the option of proofreading by a trusted editor before committing into the main tree may not be available for a number of languages.

Perhaps forcing authentication (e.g. via github or jenkins' jira) in the translation plugin will make the contributions accountable and thus prevent junk submissions?

Thanks,
Roman.

P.S. I'll go through that commit and submit a patch fixing the obvious issues today or tomorrow.

Oleg Nenashev

unread,
Nov 14, 2013, 3:42:46 AM11/14/13
to jenkin...@googlegroups.com
Hello,

I confirm that Russian translation is quite confusing (we enforce English localization for all users, but...).

In my opinion, the approach should be quite simple: All localization changes should be reviewed by people, who know the target language.
It would be also useful to have automatic generation of per-language pull requests (e.g. on weekly basis).

Best regards,
Oleg Nenashev
 

среда, 13 ноября 2013 г., 11:48:40 UTC+4 пользователь Роман Каган написал:

Roman Kagan

unread,
Nov 14, 2013, 10:24:26 AM11/14/13
to jenkin...@googlegroups.com, Oleg Nenashev
2013/11/14 Oleg Nenashev <o.v.ne...@gmail.com>:
> I confirm that Russian translation is quite confusing

If by "confusing" you imply some items that look literally translated
from English as if by machine translation and thus don't sound right
in Russian, then yes, such things exist, but that isn't that bad, and
it wasn't what made me write to the list.

What did was some totally corrupted stuff, e.g. weird translations for
"Login" and "Password" which look indeed like someone's login and
password, or an obscene word for one of the labels.

> In my opinion, the approach should be quite simple: All localization changes
> should be reviewed by people, who know the target language.
> It would be also useful to have automatic generation of per-language pull
> requests (e.g. on weekly basis).

That would require such people to be present in the team and committed
to this (not particularly exciting) activity for every language
supported. Is this realistic? IMHO

git log -- \*_ru.properties

proves that it isn't.

Roman.

Kohsuke Kawaguchi

unread,
Nov 14, 2013, 12:36:56 PM11/14/13
to jenkin...@googlegroups.com


Thank you for looking into this. A similar issue was reported in en_UK
locale, so it's clear that we have to revisit the process.

I still don't have good sense on the scope of the problem. I wonder if I
should roll them back, or should try to just fix them one by one?


On 11/12/2013 11:48 PM, Роман Каган wrote:
> Hi,
>
> I've upgraded to 1.539 and discovered that russian localization is
> seriously spoiled.
>
> Some labels contain offensive words (!), some don't match the original,
> some are plain garbage.
>
> They were introduced by
>
> commit 7828dcb46d9a18f88cc8e71046edc9ee91ed95e6
> Author: Kohsuke Kawaguchi <k...@kohsuke.org>
> Date: Sun Oct 20 22:10:02 2013 -0700
>
> Community-contributed localization for Russian (ru)
>
>
> So the problem is actually the quality of localization contributions
> submitted via the translation plugin (which comes bundled and enabled
> with the main jenkins package).
>
> AFAICS http://l10n.jenkins-ci.org/ accepts anonymous submissions so
> nothing prevents an irresponsible user from submitting whatever crap
> they like.

We do capture the Jenkins instance ID that it came from, so once we know
the offender it is relatively easy to block it.


> What can be done about it?
>
> I guess the option of proofreading by a trusted editor before committing
> into the main tree may not be available for a number of languages.
>
> Perhaps forcing authentication (e.g. via github or jenkins' jira) in the
> translation plugin will make the contributions accountable and thus
> prevent junk submissions?

This is a good idea. It's cheap enough to do and it makes people
recognize that we know who they are, and I think it'll act as a deterrence.

Another idea that I had from the beginning, although it'll require more
effort, is to ask people to review other people's submissions in the
same UI. That is, when someone submits a translation in one language, we
can ask them to review a different submission from another person in the
same language and score them. In other words, we can also crowd-source
reviewing.

There's also a suggestion of placing a high bar on updating existing
translations as opposed to just adding it where it's missing.


> Thanks,
> Roman.
>
> P.S. I'll go through that commit and submit a patch fixing the obvious
> issues today or tomorrow.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Jenkins Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to jenkinsci-de...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.


--
Kohsuke Kawaguchi | CloudBees, Inc. | http://cloudbees.com/
Try Jenkins Enterprise, our professional version of Jenkins

Baptiste Mathus

unread,
Nov 14, 2013, 1:45:39 PM11/14/13
to jenkin...@googlegroups.com
Hi, 
Sorry should have taken time to look into this earlier. I'll have a look at the french translation tonight to see what was submitted.

Baptiste



2013/11/14 Kohsuke Kawaguchi <kkawa...@cloudbees.com>

For more options, visit https://groups.google.com/groups/opt_out.
--
Kohsuke Kawaguchi | CloudBees, Inc. | http://cloudbees.com/
Try Jenkins Enterprise, our professional version of Jenkins
--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.



--
Baptiste <Batmat> MATHUS - http://batmat.net
Sauvez un arbre,
Mangez un castor !

Baptiste Mathus

unread,
Nov 14, 2013, 4:29:31 PM11/14/13
to jenkin...@googlegroups.com
OK, I quickly checked https://github.com/jenkinsci/jenkins/commit/9c7f83659dcf506e27ddbfb72e354f1f96e6bce0.
My opinion is that the content there is basically not adding much value. IMO most of the time, it's actually replacing existing translation that was already correct.
I even saw some contradiction :-/.

My take would be to just revert this commit, and then work on fixing missing entries first. Because replacing correct existing translation by some other correct flavour is IMO not generally a good idea for users.

I can help for that, just let me know how you think that could be done.

Cheers


2013/11/14 Baptiste Mathus <bma...@batmat.net>

Oleg Nenashev

unread,
Nov 14, 2013, 11:27:01 PM11/14/13
to jenkin...@googlegroups.com
Regarding https://github.com/jenkinsci/jenkins/commit/7828dcb46d9a18f88cc8e71046edc9ee91ed95e6, I also propose to revert this commit in master and pick it to another branch (e.g. to translation_ru).

I'll have some time to review changes on the next week. Roman, would you like to participate in verification as well?

 BR, Oleg


2013/11/15 Baptiste Mathus <bma...@batmat.net>
You received this message because you are subscribed to a topic in the Google Groups "Jenkins Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jenkinsci-dev/JXvazIROoQg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jenkinsci-de...@googlegroups.com.

Oleg Nenashev

unread,
Nov 16, 2013, 5:03:06 PM11/16/13
to jenkin...@googlegroups.com
Hello,

I've reviewed changes in https://github.com/jenkinsci/jenkins/commit/7828dcb46d9a18f88cc8e71046edc9ee91ed95e6
Pull request with fixes: https://github.com/jenkinsci/jenkins/pull/1022

In my opinion, only about 60% of changes were positive.
We definitely need to somehow review changes at least for popular languages...


Best regards,
Oleg Nenashev

среда, 13 ноября 2013 г., 11:48:40 UTC+4 пользователь Роман Каган написал:
Hi,

Roman Kagan

unread,
Nov 18, 2013, 2:49:04 AM11/18/13
to Oleg Nenashev, jenkin...@googlegroups.com
2013/11/17 Oleg Nenashev <o.v.ne...@gmail.com>:
Thanks for doing this, and sorry for being so slow and leaving the
work upon you.

> In my opinion, only about 60% of changes were positive.

Indeed, some of the changes were replacing a decent translation with a
poorer one. Which makes me wonder if that were submissions against a
jenkins version which had no translation, but merged at a point when a
good translation was already in git, overriding it.

Roman.

Roman Kagan

unread,
Nov 18, 2013, 3:47:09 AM11/18/13
to Kohsuke Kawaguchi, jenkin...@googlegroups.com
2013/11/14 Kohsuke Kawaguchi <kkawa...@cloudbees.com>:
> I still don't have good sense on the scope of the problem. I wonder if I
> should roll them back, or should try to just fix them one by one?

I've found three major issues and a few minor ones; they all have been
addressed by Oleg's patch.

> On 11/12/2013 11:48 PM, Роман Каган wrote:
>> AFAICS http://l10n.jenkins-ci.org/ accepts anonymous submissions so
>> nothing prevents an irresponsible user from submitting whatever crap
>> they like.
>
> We do capture the Jenkins instance ID that it came from, so once we know the
> offender it is relatively easy to block it.

Right, but it's quite a bit of manual work, and happens after the
breakage percolated to the user installations.

>> Perhaps forcing authentication (e.g. via github or jenkins' jira) in the
>> translation plugin will make the contributions accountable and thus
>> prevent junk submissions?
>
> This is a good idea. It's cheap enough to do and it makes people recognize
> that we know who they are, and I think it'll act as a deterrence.

Well, I don't think that's the main point. I guess people who have
submitted those translations had no malicious intent. IMHO they did
it just because they could, without understanding what they were
doing.

So authenticating against, say, jenkins' jira/confluence, will make
sure that the submission is done by someone who cares enough to have
signed up, and is fine with receiving mail regarding the files
changed.

In addition, that would allow attributing the commits in git to the
actual authors, and to figure out whom to contact in case of
conflicting changes.

> Another idea that I had from the beginning, although it'll require more
> effort, is to ask people to review other people's submissions in the same
> UI. That is, when someone submits a translation in one language, we can ask
> them to review a different submission from another person in the same
> language and score them. In other words, we can also crowd-source reviewing.

The problem with reviewing is the unclear level of commitment of the
reviewer's part.

> There's also a suggestion of placing a high bar on updating existing
> translations as opposed to just adding it where it's missing.

That would be great, but how would this be formalized? Issue a warning?

Unfortunately I can't help implementing any of this as my Java skills
are too poor for that.

Thanks,
Roman.
Reply all
Reply to author
Forward
0 new messages