Previously, it was technically possible to set some keys in extension messages files that didn’t make much sense (e.g. $rtl['en'] = true;). This prevents optimizing language creation, so going forward, we will no longer support that; ALL_KEYS is now split into CORE_ONLY_KEYS and ALL_EXCEPT_CORE_ONLY_KEYS (with a test verifying that no key is missing or overlapping or anything), and ALL_EXCEPT_CORE_ONLY_KEYS are silently skipped when loading extension messages files. To demonstrate that it’s okay to silently skip these keys, patch set 1 of this change on Gerrit instead raised a deprecation warning; CI indicated that this warning was never hit. Codesearch [1] also suggests that no known extension was actually using any of these keys. (The DonationInterface [2] and LandingCheck [3] codesearch results can be ignored: both of these define es-419 as a new language, using the Language::getMessagesFileName hook to register their MessagesEs_419.php as a “core” message file, not an extension message file.) [1]: https://codesearch.wmcloud.org/search/?q=^\%24(fallback|rtl|(digit|separator)TransformTable|fallback8bitEncoding|link(PrefixExtension|Trail|PrefixCharset)|date(Formats|Preferences|PreferenceMigrationMap)|defaultDateFormat|digitGroupingPattern).*%3D&files=\.php%24 [2]: |
||
|---|---|---|
| .. | ||
| autoloader | ||
| categoriesrdf | ||
| composer | ||
| css | ||
| db | ||
| dumps | ||
| exception | ||
| filecontentshasher | ||
| filerepo | ||
| GhostFieldAccess | ||
| gitinfo | ||
| import | ||
| languageConverter | ||
| less | ||
| localisationcache | ||
| media | ||
| messages | ||
| MSCompoundFileReader | ||
| parser | ||
| ParserCache | ||
| preprocess | ||
| registration | ||
| resourceloader | ||
| resourceloader-b | ||
| rlfilepath | ||
| templates | ||
| upload | ||
| zip | ||
| .eslintrc.json | ||