Background

The Drupal community uses a translation server (also known as a 'localization' server), accessible at https://localize.drupal.org/, commonly referred to as “Localize” or simply “l.d.o”. The current platform is built on Drupal 7, and serves two main purposes:

  • It is a collaborative tool that contributors from various linguistic communities (or 'translation teams' on Localize) can use to get Drupal core as well as contributed projects translated, according to their own guidelines. Each team grants permissions using a system currently built with Organic groups (the new version might use Group).
  • Translation files can then be retrieved by Drupal installations on certain actions (eg. when a new module is enabled).

Problem

As stated in #3195342: [META] Upgrade *.drupal.org before D7 EOL and #3195332: Initial port of localization server module to Drupal 9, localize.drupal.org needs to be updated to Drupal 9, as well as most of *.drupal.org websites. Although sometimes unnoticed by the community, Localize is now an important part of our infrastructure, and certainly could use a dedicated team for this project.

A team of volunteers at Drupal Dev Days 2022 in Ghent (Belgium) initiated the port, based on previous work by @tobiasb. Afterwards, the original issue was closed, and a new one was opened (#3195336: [META] Upgrade localize.drupal.org to Drupal 9).

Beyond porting the platform to Drupal 9, we also intend to improve the UI, provide web services (for instance to get statistics per language), address crediting issues, or even integrate efforts around a translation memory tool for Drupal (by Balu Ertl).

Drupal Devs Days in Ghent were a great opportunity to attract volunteers and give momentum to this project. Besides being a team, and hopefully managing it right to keep the flame alive and reaching our goals, we would like to give enough visibility to this project and to be able to rely on enough volunteers to spread out the effort.

Proposed resolution

We believe this project could be considered as a community initiative. We propose the following name: “D9 localization server upgrade initiative”. We also suggest the following subtitle: “taking care of our translation tools for the Drupal community”.

An initiative should have a precise goal and be limited in time. This is why we explicitly refer to the notion of porting Localize to the newer version of Drupal (Drupal 9, or maybe 10), keeping in mind that it will also include the aforementioned improvements. It will end when all the goals in the roadmap are achieved. At this point, the initiative will be considered as fulfilled, and the project will switch to a maintenance phase.

Process and where to find it

Issues:

Instant messaging:

Meetings:

  • First meeting held online on April 19 1pm CET via Jitsi call
  • Monthly meeting every third tuesday of the month at 1pm CET

Events:

  • Port initiated during Drupal Dev Days in Ghent.
  • We intend to give a session at DrupalCon Prague, and also organize a BoF and contribution sprints.

Initiative coordinator: FMB.

Proposal roadmap

  • Assemble a team during Drupal Dev Days in Ghent, discuss about architecture with @Gábor Hojtsy and @drumm and initiate port, based on previous work by @tobiasb.
  • Focus on the D9 port during the first phase.
  • We intend to give a presentation during DrupalCon in Prague.
  • Work with the infra team (@drumm) to switch to the D9 version.
  • Work on UI improvements, web services, crediting issues, and a translation memory tool (work done by @Balu Ertl).

Not in scope

We need to focus on Localize, and hopefully not get too much distracted by other issues which inevitably will be dug out in the process.

We currently do not plan to work on modules such as Translation template extractor or Plural formula configurator.

Also, organizing concerts in the Gravensteen, or any medieval monument, is regrettably not in the scope of this initiative. We are so sorry for you if you missed Drupal Dev Days in Ghent ;-)

Related work

Balu Ertl is working on a translation memory tool which could be integrated into Localize. Also, the French translation team provides a glossary as a browser extension to highlight known terms. We should welcome this kind of tools which eases the translation process for our contributors, who only have limited time for this task.

Existing core features

Localize relies on the multilingual features of Drupal. Apart from issues with plural formulas (see below), no alteration of core is needed.

Open core issues

The port of the Plural formula configurator module to Drupal 9 was blocked by #3159874: Port Plural formula configurator (l10n_pconfig) to D9. As much as we are concerned, this was solved in a way that allows us to keep on working on this initiative, but core is still unable to export the string version of a plural formula: #2882617: String version of plural formula is not available, exported .po files contain an incorrect default.

Team and resources

First volunteers during Drupal Dev Days (and even before for @tobiasb): tobiasb, Mupsi, nicoloye, FMB, Radelson, colorfield.

Initiative coordinator: @FMB.

Many thanks to @Gábor Hojtsy and @drumm for their insights into the way Localize works, also in relation to the rest of the infrastructure.

Comments

FMB created an issue. See original summary.

Balu Ertl’s picture

Issue summary: View changes

Minor fixes and additions only.

Artusamak’s picture

Great to see work and focus happening here. Have fun! :)

FMB’s picture

Issue summary: View changes
klonos’s picture

Title: D9 localization server upgrade initiative » localize.drupal.org: D10 server upgrade initiative

Linking to the Drupal 10 localization server upgrade initiative status presentation from DrupalCon Lille 17-20 October, 2023. The video description is stating the following:

A group of volunteers is currently porting the Drupal community translation server (localize.drupal.org) from Drupal 7 to Drupal 10. This platform is an important part of Drupal's infrastructure: if you ever have installed Drupal in any language other than English, you have already (transparently) downloaded translations from Localize, which is also a collaborative tool where contributors from various linguistic and cultural communities coordinate their efforts to get Drupal core and contrib projects translated.

In a first phase, we have focused on porting existing features. However, by the time we will give this presentation in Lille, we should be working on new features, such as: UI and UX improvements, web services (for instance to get statistics per language), addressing crediting issues, or even integrating efforts around a translation memory tool for Drupal. Volunteers will be more than welcome to work on issues during the event and take care of our tools.

Also updating the issue title to reflect D10 as the target version the site is going to be upgraded to.