Make WordPress Core

Opened 5 months ago

Last modified 4 months ago

#65314 new task (blessed)

Make `wp-includes/pomo` the canonical pomo source; retire `svn.glotpress.org/trunk/pomo`

Reported by: dd32 Owned by:
Priority: normal Milestone: Awaiting Review
Component: I18N Version:
Severity: normal Keywords: has-patch
Cc: Focuses: docs

Description

Background

The pomo library (PO/MO file reading and writing, plus the Translations and plural-form helpers) currently exists in two places:

When that split was set up, GlotPress was the source of truth: changes landed in the GlotPress SVN copy and were synced into core.

That arrangement no longer reflects reality:

  • GlotPress is now a WordPress plugin developed on GitHub (​https://github.com/GlotPress/GlotPress).
  • GlotPress requires WordPress, so at runtime it uses the pomo library shipped in wp-includes/pomo/.
  • GlotPress no longer pulls from, depends on, or syncs with the SVN copy of pomo. The SVN copy is effectively orphaned and only continues to matter to the extent that core still mirrors it.

Proposal

Officially recognize wp-includes/pomo/ as the canonical, upstream copy of the library. All future changes (bug fixes, deprecations, PHP compatibility work, etc.) land in core directly via Trac/SVN and are reviewed under the I18N component.

Notes on divergence

The GlotPress SVN copy of pomo contains a samples/ directory with example .po/.mo fixtures used during the library's original development. WordPress core has never shipped that folder and shouldn't start — but those fixtures may still be useful as test data. Options:

  • Move the fixtures into core's PHPUnit i18n test fixtures (if not already covered).
  • Or, move them into the GlotPress GitHub repo under tests/.
  • Or, leave them where they are and treat the SVN location as a frozen fixture archive.

Change History (3)

#1 @dd32
5 months ago

cc @ocean90 @amieiro

This ticket was mentioned in ​PR #11947 on ​WordPress/wordpress-develop by ​@khokansardar.


5 months ago
#2

  • Keywords has-patch added

## Summary

  • Documents wp-includes/pomo/ as the canonical upstream copy of the pomo library in translations.php.
  • Removes legacy SVN @version $Id: headers from pomo library files, remnants of the former GlotPress SVN sync workflow.
  • Adds consistent @package pomo and @since tags across all pomo library files.

This implements the proposal in #65314 to retire the dual-source arrangement where glotpress.svn.wordpress.org/trunk/pomo/ was treated as upstream. Core is now the sole maintained copy; GlotPress consumes it at runtime.

The GlotPress SVN sample/ fixtures are left as a frozen archive per the ticket — core already has comprehensive pomo test fixtures in tests/phpunit/data/pomo/.

## Test plan

  • [x] composer lint -- src/wp-includes/pomo/ — 0 errors
  • [x] npm run test:php -- --group pomo — 48 tests passed
  • [ ] Confirm with @ocean90 and @amieiro (cc'd on the ticket by @dd32)

This ticket was mentioned in ​Slack in #meta by dd32. ​View the logs.


4 months ago

Note: See TracTickets for help on using tickets.