I think it might be due to the new way strings are handled now in matrix for the new localisation support in admin.
I probably should have posted these changes on the forums back when 5.2 was released, so I apologise for the confusion and inconvenience.
Localisation
In Matrix 5.2, we have done significant changes to the way that the strings and text is presented onto the screens in the admin interface. This was all done as part of idea https://squizmap.squiz.net/matrix/5333.
The new translation method uses .po files rather than XML files to source the content from. This means that all functions that called the XML files for text strings, have had to be changed to new functions that work with .po files instead. This has already been done in all Matrix core code base and all its associated packages.
Custom Client Packages
This localisation change in Matrix means that custom packages that have been created will need to get updated to use the new string replacement function. The change itself is trivial and is very easy to do. However it means that anyone that is using a custom package on their install, will need to have their package and custom code updated when upgrading to Matrix 5.2.
How To Update
First of all, you will need to move display names and notes from lang_screen_*.xml files back into their originaledit_interface_screen_*.xml files.
Then you will need to change any translate functions used. The following are examples of Matrix 5.1 string translate functions, and their 5.2 equivalents.
Translation without replacements:
- translate('code_for_string');+ translate('English string');
Translation with replacements:
- translate('code_for_string',arg1, arg2);
+ sprintf(translate('English string with arguments %1$s %2$s'), arg1, arg2);
Errors - no replacements:
- trigger_localised_error('PKG0001', E_USER_WARNING);
+ trigger_localised_error('PKG0001', translate('Unable to foo - can't bar'), E_USER_WARNING);
Errors - with replacements:
- trigger_localised_error('PKG0002', E_USER_WARNING, arg1, arg2);
+ trigger_localised_error('PKG0002', sprintf(translate('Unable to foo %1$s - can't bar %2$s'), arg1, arg2), E_USER_WARNING);