Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Federated translation memory #3749

Open
nijel opened this issue Apr 19, 2020 · 4 comments
Open

Federated translation memory #3749

nijel opened this issue Apr 19, 2020 · 4 comments
Labels
enhancement Adding or requesting a new feature. undecided These features might not be implemented. Can be prioritized by sponsorship.

Comments

@nijel
Copy link
Member

nijel commented Apr 19, 2020

Is your feature request related to a problem? Please describe.
It might be interesting to share translation memory between instances. For example Fedora and openSUSE might be interested in this, but it's more generic topic.

Describe the solution you'd like
The design is still unclear:

@nijel nijel added enhancement Adding or requesting a new feature. undecided These features might not be implemented. Can be prioritized by sponsorship. labels Apr 19, 2020
@github-actions
Copy link

This issue has been put aside. Currently, it is unclear whether it will be ever implemented as it seems to cover too narrow 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.

@comradekingu
Copy link
Contributor

Would need to revisit 6.3 in https://hosted.weblate.org/legal/terms/

Should the Project opt in for the Translation Memory, license to use the translation is granted to all Translation Memory users.

It isn't obvious to me who "users" are, nor what "use" entails. Does it ever expire, under any conditions?

@agateblue
Copy link

So I've been pinged by @Jibec, as I'm a (happy) weblate user, and also happen to work on Funkwhale, a federated audio streaming software, that uses ActivityPub.

As far as I understand, the initial feature request is about building a shared translation memory that can be reused accross Weblate instances. Please correct me if I'm wrong.

In the scope of this feature, I would rather strongly advocate against using ActivityPub as the federation protocol. There are two main reasons for this:

  1. ActivityPub in itself is rather complex to implement properly (in particular HTTP signatures and JSON-LD)
  2. I don't think the benefits of it's complexity are actually required to implement the requested feature.

As far as I can tell, if the need is only to have access to other Weblate instances translation memory, this can be rather easily supported by an ad-hoc API endpoint and regular pull. For instance, if we consider it needs to be implemented at the instance level (it could be implemented at the project level maybe?):

  • Admin from weblate A allows translation memory sharing
  • Admin from weblate B adds Weblate A as a trusted translation memory provider
  • Everyday, a background job runs on weblate B to pull translation memory from weblate A (and any other trusted instance).

Sure, in theory, with ActivityPub, you could have real-time updates (translator from weblate A translate something, weblate B is notified immediatly). But the increase in complexity isn't worth it IMHO.

@comradekingu
Copy link
Contributor

comradekingu commented Apr 22, 2020

False meritocracy is secondary to the real level of trust; that of being able to vet and change strings. The issue is very prominent on Transifex, where by blind faith, even deleted entries are added to TM, and hard to navigate to. Thus, bad translations spread from there, and it is feasibly impossible to prevent it. There are failed checks on Hosted Weblate that nobody can fix without giving up what makes it viable.

In place of easy access, some Weblate instances have egregious CLAs, and CoCs that contributors are expected and sometimes required to champion. Either for string contributions, or upstream string/code contributions. To take part, there should be no such additional requirements.

With artificial barriers of entry, quality goes down as a result. In similar vein to sharing TM and platforms with closed source software, it is something nobody asked for, it placates to the few on the backs of the many, in a way that tarnishes the product and reputation of the libre software community. Federation means federation.

As such, Pootle, Translatewiki and some others should be able to join. Launchpad has a good system, where one can see all places a string is in use. Unfortunately they have license requirements on strings entering their pool. Locked components should also never be in the pool. There should be as many opportunities to tear down as to accumulate TM. Right now the TM system is nowhere near resilient enough. Anyone can upload as much as they want, multiple times.

@nijel nijel added this to To do in Translation memory via automation Mar 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Adding or requesting a new feature. undecided These features might not be implemented. Can be prioritized by sponsorship.
Projects
Development

No branches or pull requests

3 participants