#60554 closed enhancement (fixed)
Add support for using only PHP translation files
Reported by: |
|
Owned by: |
|
---|---|---|---|
Milestone: | 6.6 | Priority: | normal |
Severity: | normal | Version: | 6.5 |
Component: | I18N | Keywords: | has-patch has-unit-tests commit needs-dev-note |
Focuses: | Cc: |
Description (last modified by ) ¶
In WordPress 6.5 we're adding support for PHP translation files. They still require accompanying .mo
and .po
files. However, it doesn't have to be this way!
It should be possible for projects (plugins, themes, and core) to only use .l10n.php
files.
A few areas that would need changing:
wp_get_installed_translations()
wp_get_installed_translations()
is used for getting the list of installed translations for plugins/themes/core when updating language packs and also when uninstalling plugins/themes (to remove the translations again).
Language_Pack_Upgrader
\Language_Pack_Upgrader::check_package()
checks whether there are .mo
and .po
in the language pack. It should also support language packs with only a .l10n.php
file.
load_textdomain() / load_default_textdomain()
Not sure about this one.
Right now you can pass an .mo
file path, even though the file doesn't exist, and WordPress will load the .l10n.php
counterpart. So technically no change is required. However, what if you want to directly pass an .l10n.php
file path instead?
Commits (2)
- [58061] I18N: Improve support for using only PHP translation files.… by @swissspidy 12 months ago
- [58062] I18N: Actually add all the files for [58061], not just the test fixtures.… by @swissspidy 12 months ago
Pull Requests
- Loading…
Change History (7)
This ticket was mentioned in PR #6129 on WordPress/wordpress-develop by @swissspidy.
14 months ago
#2
- Keywords has-patch has-unit-tests added
#4
@ Core Committer
12 months ago
- Resolution set to fixed
- Status changed from assigned to closed
In 58061:
wp_get_installed_translations()
. So if only a PHP translation file exists, updates still work as expected. Also has the benefit of using$wp_textdomain_registry->get_language_files_from_path()
instead ofscandir
, so the initial file list is cached.Trac ticket: https://core.trac.wordpress.org/ticket/60554