Allow download personal (unapproved) translations from Drupal Localize server to local sites

Created on 15 September 2022, about 2 years ago
Updated 15 November 2024, 8 days ago

Problem/Motivation

Now each new translation for an untranslated string (via adding suggestion), added by the user to the localize.drupal.org, can't be imported to his local site via the "Update translations" procedure.

It's because new suggestions should be previously approved by moderators. And only after successful approval they become available to import on the local site!

So this moderation procedure takes time, very often - even several days, or you can speed up it by poking one of the moderators directly or asking in a related chat to approve your translation quicker.

This small limitation creates a huge problem for contributors, because they want to translate their sites now, not after several days or poke someone to speed up the approval!

As result, for many modules and languages we have too few translations, contributed to localize.drupal.org! But we see a lot of localized sites, based on Drupal and those modules with a good full translation, because this translation was done only locally.

It's because site developers need to deliver the project to the client as fully translated, so most of them just quickly do the translation of all missing strings locally, on their site only. And they don't ready to spend additional time to repeat those translation actions the second time on localize.drupal.org! And wait for the approval.

Steps to reproduce

Catch the untranslated string on your site, that you need to deliver to the client tomorrow as fully translated to some language.

Try to find the optimal way for you to make this translation, from those options:

1. Translate the string just locally on your site, using /admin/config/regional/translate interface.

2. Translate the string on Localize.drupal.org. Wait until someone will approve it. Catch this moment and import the translation to your site. Pray that this happens before tomorrow.

3. Translate the string on Localize.drupal.org, find the person who can approve it, ask it directly in a chat to urgently approve it, because you need to finish the translation tomorrow! Wait for a little when he answers that he has approved, and import the translation to your site. Profit!

4. Translate the string just locally on your site, using /admin/config/regional/translate interface (and all other untranslated strings), and tomorrow - deliver the site to the client as fully translated. Then, sometime after tomorrow (because you have no time for additional actions before the tomorrow, because you need to finish the site as quick as possible!) find the time to repeat all those translations on Localize.drupal.org (or export-import them), to make the good contribution to the Drupal community and feel yourself better.

Most of the users will choose option 1, and only some very involved people will choose option 4. Options 2 and 3 don't suit in most cases.

Proposed resolution

To involve more users to contribute their translations directly to the community on Localize.drupal.org, please provide some way to import their translations, that they have submitted to the localize.drupal.org, instantly after the submission!

This little opportunity should involve much more users to fill out the translations on Localize.drupal.org and improve the amount of translated strings.

But I don't ask to make the submitted translations available for import to all sites without any approval, because that is a very bad idea.

Instead, I suggest allowing the configuration of the translation server URL to include user ids (one user or several, if the translation is done by the team), whom unapproved translations you want to import to your site, additionally to approved ones (with priority to the selected users' versions).

This makes the great ability for any user to submit missing translations directly on localize.drupal.org, and instantly import them to their local site (or even several sites), without waiting the approval. So each user, that wants to finish the translation of the local site, will get the way to contribute their translations to the community together with the process of filling the translation on the local site.

And for all other users this doesn't change anything, they will get only approved translations, as usual.

So, as the first step to implement this feature, we need to extend the Localize.drupal.org API to allow downloading the submitted but not yet approved translations from the server, via including desired user ids as GET/POST argument, something like this:
https://localize.drupal.org/translate/languages/ru/export?project=webfor...

And the next step will be extending the "Interface Translation" (locale) Drupal module to allow choose in Settings the desired user ids, from which you wish to import all contributed translations, including unmoderated (not yet approved).

After implementing this, the "Update translations" action will download all approved translations, as it does now, and also - all submitted translations from the configured users, including all not yet approved strings, that will override approved ones.

From my perspective, this is a not very hard-to-implement feature, and it should involve much more Drupal users to contribute their translations to the Localise.drupal.org, which makes the total amount of translations (suggested strings) much higher than now!

What do you think about this idea?

And if you have other ideas how to involve more Drupal users to contribute their translations to the Localise.drupal.org, please share them here!

Remaining tasks

User interface changes

API changes

Data model changes

Feature request
Status

Active

Version

3.0

Component

Code

Created by

🇦🇲Armenia murz Yerevan, Armenia

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

Production build 0.71.5 2024