WeblateOrg / weblate

Web based localization tool with tight version control integration.
https://weblate.org/
GNU General Public License v3.0
4.54k stars 1k forks source link

Users should not be able to add entries to other languages' glossaries by default #8807

Closed tjhietala closed 2 months ago

tjhietala commented 1 year ago

Describe the problem

Currently, if a user has the rights to add a glossary entry, they can add it for every language by checking the "Terminology" check box. I don't think this is good default behaviour for Weblate. Yes, the unneeded entries can be deleted, but it's an unnecessary annoyance.

Describe the solution you'd like

The "Terminology" check box should be disabled by default, except for managers (or possibly also reviewers, if deemed necessary).

Describe alternatives you've considered

No response

Screenshots

No response

Additional context

No response

github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because there wasn’t any recent activity.

It will be closed soon if no further action occurs.

Thank you for your contributions!

comradekingu commented 1 year ago

Has this ever been a problem?

github-actions[bot] commented 1 year ago

This issue has been put aside. It is currently unclear if it will ever be implemented as it seems to cover too narrow of a use case or doesn't seem to fit into Weblate.

Please try to clarify the use case or consider proposing something more generic to make it useful to more users.

tjhietala commented 1 year ago

@comradekingu Yes, on The Document Foundations's Weblate this happens every now and then. I just deleted some unwanted entries yesterday. It's not a huge problem though, but IMO what I propose would be a better default.

comradekingu commented 1 year ago

@tjhetala Pretty sure I am one of the people doing it for the source language. The idea that users can't edit all languages has cost the TDF Weblate dearly.

Similarly, between good entries and bad entries in the glossary, the benefit greatly outweighs the detriment. If you really wanted to do some damage, resetting all of them would be it. In so doing, better functionality in resetting bulk changes or per-user changes for a given timeframe would be better. Banning people instead of limiting functionality is also a better idea. In time there is vested interest and a purified pool. TDF Weblate is hard to get into, and much harder still to get any changes made upstream in. It would be wise to not model default functionality on the TDF Weblate.

timothyqiu commented 1 year ago

There are two situations that could be a problem.

First, some glossaries only make sense in a specific language.

For example, German users might create two glossaries for "lion", one for the male version "der Löwe" and one for the female version "die Löwin". This does not make sense for languages that don't have such grammatical gender.

Second, "Auto-adjust context when an identical string already exists." is on by default too. So I regularly see different versions of the same string with auto-generated context like "1". That's is so frustrating to maintain. I guess it's because some languages created a non-terminology glossary:

  1. Language A user added a non-terminology foo.
  2. Language B user added a terminology foo, but it got adjusted into foo (key 1)
  3. Now Language A users have both foo and foo (key 1).
  4. What's worse: only language A has foo, and language B-Z has foo (key 1)
    • You can't delete foo (key 1) because these 25 language might already translated this string.
    • Deleting foo feels wrong because you don't actually need that auto generate context key 1.
tjhietala commented 6 months ago

Apparently it's currently also possible to add the "forbidden" flag to other languages' glossaries by default, see: https://translations.documentfoundation.org/translate/libo_ui-master/glossary/fi/?checksum=6a157b0604755bd8

IMO this should not be allowed by default either.

tjhietala commented 6 months ago

@comradekingu I don't see how banning users would be preferable over setting good defaults. I think the people doing these changes are by and large doing it by accident, i.e. they don't know they're affecting other languages' glossaries.

comradekingu commented 6 months ago

@tjhietala I disagree that limiting potential for getting work done is a good default to prevent harm. For how often malice occurs, it is exceedingly rare compared to the upside of just having stuff done well, or in a well-meaning manner. There are no easy ways to revert changes from a particular user over a given time-period are lacking for every possible type of change. It is already possible to fine-tune what permissions different groups of users have. Are we trying to find something that works for Hosted, or are we trying to shoot everyone in the foot because people with special needs can and do run their own instance?

Weblate is IMO a better platform because of default openness and good functionality to deal with that, and I like the one-big-stick method of dealing with the few problems that occur. The alternative, as demonstrated by platforms that suck, is a bunch of authority-by-role, built on the idea that assignable blame is a good way to organize. It is a trashy way to mitigate functionality that doesn't work. First-come basis is not a measure of quality, as the better translators often arrive later. The task of picking a team of people with more editing rights is the same premise as being able to do all the work yourself in every language. I have never seen it done well. Over time one may end up with a good team, and I pretty much know who to trust for most languages now. I still don't, and people making their first project especially don't.

If the problem arises from it being difficult to gauge what dictionary the user is editing and why, that is the problem to solve. Having the same problem for fewer users is largely the same problem. I care about correctness over time.

If malice is what I want to do, changing the glossaries when the translations are wide open without quality-reaffirming tools is not what anyone clever enough to do real damage would attempt.

Where are the examples of what went wrong, and maybe we can work from there to avoid the confusion?

tjhietala commented 6 months ago

@comradekingu I don't think there's any malice involved. Like I said, my guess would be that these users think they're modifying the glossary for one language and don't realise they're doing it for other languages as well.

fitojb commented 5 months ago

I spend a lot of time removing unwanted entries from my glossaries added inadvertently by other translators not in my language teams. They use other capitalization conventions, and I have to go through them one by one. So yes, it is annoying.

timothyqiu commented 2 months ago

Based on my experience using Weblate, I believe exposing the Terminology flag to regular users has caused a lot of management difficulties.

Different languages often have varying rules regarding which phrases should be included in the glossary. A phrase considered a term in one language may not hold the same status in another language, making it unwise to delegate decision-making power to users of different languages.