Problem

Small differences to Drupal 7 on the community pages:

  • Drupal 7 gave a 404 for a language without a plural formula on every translate/languages/xx page. 3.0.x serves them, so a language added without its formula can be translated with broken plurals.
  • The translation details page on Drupal 7 leads with "by user" when the translation is attributed to another user than its submitter (an import attributed to the team account), so the difference is visible to translators and moderators. 3.0.x only lists the history. Migrated data has many of these.
  • The Drupal 7 pick and go form picks the project from the project URL parameter, which the downloads page passes. 3.0.x ignores it, although the downloads page passes the same parameter.
  • The community settings page needs administer site configuration, Drupal 7 used administer localization server like every other localization server setting.
  • A fresh install highlights "Drupal core", so the welcome page says "Highlighted project not found." until an administrator changes it. Drupal 7 highlighted nothing by default.

Proposed resolution

  • The language parameter converter also refuses languages without a plural formula (the l10n_pconfig setting the rest of the module checks).
  • The details page adds the "by user" line in front of the history when the first submitter differs from the attributed user, like Drupal 7.
  • The pick and go form takes its project default from the URL, the block varies by that parameter.
  • The settings route requires administer localization server.
  • The install default of the highlighted project is empty.

Not ported: the Drupal 7 language page fallback to nodes tagged l10n-server-xx when no module builds the page. localize.drupal.org builds it with the groups, the fallback stays out. The settings form keeps its text field for the highlighted project, Drupal 7 offered the projects as radios or a select.

Tests

Drupal 7 first: testLanguageWithoutPluralFormula() and testPickGoProjectPrefill() are new, testWelcome() checks the default and testImport() checks the details of a team import. The single language case of the pick and go form found a PHP 8 fatal in Drupal 7 (each()), replaced by key() and current(). Ported to L10nLanguagesProjectsTest, L10nWelcomeTest::testHighlightedProject() (also the settings permission) and L10nImportTest.

LLM disclosure

LLM was used to find, diagnose explain and fix this issue. With human review.

Comments

gábor hojtsy created an issue. See original summary.

  • add2d0f1 committed on 7.x-1.x
    Issue #3621695: Community pages: languages without a plural formula get...

  • 7bcd05a6 committed on 3.0.x
    fix #3621695: Community pages: languages without a plural formula get...
gábor hojtsy’s picture

Status: Active » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.