Proposed changes to how community contributions work in AMOS

Proposed changes to how community contributions work in AMOS

by David Mudrák -
Number of replies: 16
Picture of Language pack maintainers

Hi!

This idea has been in my head for some time and I'd like to get some feedback on it.

Shortly, the way how community contributions work in AMOS has a lot of space for improvements (I would use more explicit terms if this was not a public forum smile). I must confess, it was designed and implemented years ago in a rush. Today, with more experience and feedback I received, I think it could work differently and better.

I propose we should get rid of the whole concept of "contributions" with the ID number, message, status, assignee and everything. This workflow was meant to mimic the code contributions via Git in the Moodle Tracker. But I don't think we need such over-engineered mechanism here in AMOS. We do not typically have long discussions over contributed translations before we accept them.

Instead, any AMOS user (and in the future, even a web-service client), could use the standard AMOS Translator interface and submit a proposed translation / modification of a string. They would get recorded immediately and could be displayed by all other AMOS users. There would be a filter setting to show only strings with contributed translation. People could eventually vote or comment on these contributed strings if needed. Language pack maintainers could accept / reject contributed translations easily by clicking on each individually, or in a bulk.

Basically, the essential change is that:

  1. Strings would be contributed individually one by one without the need to submit them together in a package.
  2. Existing contributions would be displayed to all other users, so they would also know that a missing strings has already been translated - to avoid duplicated work
  3. Community contributors would just "come & translate"TM without the need to go to the staging area and submit their stage to the language packs maintainers. Once each string was saved in the Translator, it would become an instant contribution.

Please share your thoughts, fears and counter-ideas. Thanks in advance.

In reply to David Mudrák

Re: Proposed changes to how community contributions work in AMOS

by Nicolas Martignoni -
Picture of Language pack maintainers
Hi!

I find your idea very compelling, thank YOU. Indeed, the Git complexity isn't needed here (as a matter of fact, I always thought this was implemented because Git was used in the background to manage the contributions, etc.; my bad).

I think though that voting about translations is not a good idea: there are languages with more or less strict policies, which are discussed in the various communities before an agreement is reached. This is a way better approach to get quality in translations, IMHO.

I also think that contributors to the translation deserve more recognition as Moodle contributors, just like developers, and IMHO they should be cited as author of their translations in the main Moodle Git log.
In reply to Nicolas Martignoni

Re: Proposed changes to how community contributions work in AMOS

by David Mudrák -
Picture of Language pack maintainers

voting about translations is not a good idea

To clarify, I did not mean voting as if there were elections on how string should be translated. What I meant is (eventually in the future, if it is found useful) to have a way to mark some already submitted translated with a +1 or so.

should be cited as author of their translations in the main Moodle Git log

It's not planned as we do not merge translations into the main moodle.git repository. They used to part of it in early Moodle versions, but it was split on purpose.

In reply to David Mudrák

Re: Proposed changes to how community contributions work in AMOS

by Ralf Hilgenstock -
Picture of Language pack maintainers

Hi David,

here are my very first thoughts:

  • what is the process of contributed language code from plugin developers git repository in the initial stage after a plugin is confirmed?
  • what is the process  when the original plugin developer sends updated language strings for multiple languages that are translated in between?
  • what is the process of versions for Moodle even if the plugin is not updated for the version but works well with a new Moodle version?
  • most translators aren't developers. Me too. They are not familiar with  Git processes. How can they work in this process?
  • Is a support for translation tools possible?
  • How does it work with mass processes. I think we  have more than 100.000 strings and 120 languages..
Cheers Ralf
In reply to Ralf Hilgenstock

Re: Proposed changes to how community contributions work in AMOS

by David Mudrák -
Picture of Language pack maintainers

Thanks Ralf.

These are good questions but they feel a bit general to me and are definitely out of scope of this little project. There is no plan to change any of the areas mentioned in your post in this project. This discussion is solely about the (semi-internal) change of how contributed translations are stored, published and processed. Nothing less, nothing more.

In reply to David Mudrák

Re: Proposed changes to how community contributions work in AMOS

by Mitsuhiro Yoshida -
Picture of Language pack maintainers

Hi David,

The improvements to make it easier to post translations of untranslated strings would be very nice.

Although systematic falsification of ratings can occur, as in the case of customer reviews on Amazon (https://www.amazon.com/), I think it would be better to have a rating system for translation submitters (contributors) and an indication of the number of previous accepted/rejected, to reduce the psychological burden of future 'rejections'. Maybe it's just me, but I find the 'rejection' of the so-called 'improved translation' that submitters believe in more than a little distressing.

For example, how do we deal with the case of someone submitting hundreds of translated strings in a short period of time who wants to replace the existing translations with their own 'preferences'? Because this matter was so troubling that my daily work stopped to review the individual proposals. There may need to be a cap on the number of submits per hour.

In reply to Mitsuhiro Yoshida

Re: Proposed changes to how community contributions work in AMOS

by David Mudrák -
Picture of Language pack maintainers

Hi Mits.

Thanks for the feedback. Interesting to hear about your experience. In fact, this is what a public feedback / voting / marking could be useful for. When a modification of hundreds of strings is submitted, you could easily just let them there for a while - because they would be now available to all other AMOS users (on contrary to how it is now). So others could also give their +1 / -1 to the proposed modifications and it could help you to make a responsible decision as the language pack maintainer.

In reply to David Mudrák

Re: Proposed changes to how community contributions work in AMOS

by Mitsuhiro Yoshida -
Picture of Language pack maintainers
Hi David.

Thank you.

I don't know how other language packs are translated, but in the case of the Japanese language pack, there are a total of four maintainers, including myself, but since November 2002, I have been the only one actually translating new strings and regularly brushing up the existing translations.

As Orestes pointed out, I know first-hand on a daily basis how difficult it is to translate open-source, which requires an understanding of the 'context', including deciphering the programme before translation, so I hope to respond as quickly as possible to suggestions to modify existing translations, but in the future, as for the large number of 'my translation is better and correct so it should be modified' type suggestions, I will leave them for a while, like you suggested.

In reply to David Mudrák

Re: Proposed changes to how community contributions work in AMOS

by Irene Olalla Holgado -
Hello, all!

I like the ideas in 1 and 2.

Regarding number 3, I believe there is a big risk of displaying wrong translations and this would have a bad impact in the user experience. With the current system we still have to reject or edit translations quite often, even though its is clear that all of them have been created with very good intentions. Imagine adding to "not very good quality" translations those of trolls and unhappy/angry/bored students... That would damage the good image of Moodle and of the institutions that use it.
In reply to Irene Olalla Holgado

Re: Proposed changes to how community contributions work in AMOS

by Nicolas Martignoni -
Picture of Language pack maintainers
I second that: lang pack maintainers must have a way to review, edit, approve and/or reject contributions.
In reply to Irene Olalla Holgado

Re: Proposed changes to how community contributions work in AMOS

by David Mudrák -
Picture of Language pack maintainers

Hello Irene. Thanks for the feedback.

Just to clarify in case i was not clear. When I say that submitted contributions would be displayed, I mean that they would available in the AMOS itself. They would NOT become part of the language packs automatically. So they would NOT be distributed to other Moodles without being explicitly accepted by the language maintainer.

It's just that the review could be easily done on string-by-string case, and the contributions submitted by others would be available to other AMOS users as pending ones.

In reply to David Mudrák

Re: Proposed changes to how community contributions work in AMOS

by Daniel Neis Araujo -
Picture of Language pack maintainers
Hello, David
That would be a great improvement!
People usually send big (100+) packs, what makes it difficult to approve part of it and keep reviewing/approving later.
I'm not sure about the voting needs too, although some kind of comments would be good.
The second point have my vote too.
Best,
Daniel
In reply to Daniel Neis Araujo

Re: Proposed changes to how community contributions work in AMOS

by David Mudrák -
Picture of Language pack maintainers

Hi Daniel.

difficult to approve part of it and keep reviewing/approving later

Exactly. The idea is to make it easier to accept / reject on string-by-string case. I imagine it as one click operation really.

In reply to David Mudrák

Re: Proposed changes to how community contributions work in AMOS

by Orestes Mas -
At first glance, the idea doesn't seem bad to me. I think that with the proposed scheme, the context of the translation might suffer a bit.

It's well-known that when translating, it's crucial to have some understanding of the context where the translated string will appear. Currently, when a user submits a contribution, all the submitted strings usually belong to the same module, and this somewhat facilitates maintaining consistency among translations. With the system you propose, I assume that other users and maintainers would have more difficulty judging whether a translation is correct or not because the context wouldn't be as evident.

It would be very positive if maintainers could see translated strings in their context before accepting them. I'm not sure if such a change would be challenging to implement in AMOS.
In reply to Orestes Mas

Re: Proposed changes to how community contributions work in AMOS

by David Mudrák -
Picture of Language pack maintainers

Hi Orestes.

Good point on the context. I agree that if the contributor pays attention and split contributions to well scoped batches, then the current system may bring some context info - e.g. in the message attached to the contribution (paralel to the commit message). However, sadly that's not always the case.

It would indeed be ideal if we had some awesome system where for each string we could see a few screenshots of pages where the string is used. Again, out of scope of this particular project but nice to have for sure.

In reply to David Mudrák

Re: Proposed changes to how community contributions work in AMOS

by David Mudrák -
Picture of Language pack maintainers

Not yet a well thought UI mockup. I just want to illustrate what I have in mind. Heavily inspired by what Transifex and Weblate tools provide.

Imagine there is the string "accept" from the "core" component already translated as "Uznat" in Czech. Now someone submits a proposal to change the translation to "Uznat". They should still be able to provide a context, explain their reasoning via an attached comment. Anybody (not only maintainers) can see this proposal and can even comment on it, too. The language maintainers can accept / reject such proposal.

Mockup of the UI with contributed string translation