Delta localization
The main principle that governs the priority of a message key is: the more specific its location is, the higher its priority. In other words, the changes you make to localization strings in WorldServer are now processed according to a hierarchy that is similar to the one used by configurations. Therefore, to have your changes displayed on the interface, you must save them in high priority locations.
- %WS_CONFIG%/<component-part-name>
- %WS_CONFIG%
- classpath
WorldServer has two localization services: one on the frontend (UI), which loads only the ui_strings.properties file, and one on the backend, which loads both ui_strings and strings bundles. A resource bundle is a set of files of the same type (such as ui_strings.properties, plus all its specific localized versions).
ui_strings.properties files are only for the labels on the WorldServer user interface. They can be generic (the ones displayed if no languages are configured) or they can be specific (per locale – ui_strings_en.properties – or per locale and country code – ui.strings_en_US.properties). The more specific a file is, the higher its priority. For example, within a resource bundle, ui_strings_en_US.properties has priority over ui_strings_en.properties and over ui_strings.properties.
Moreover, if a certain string has not been localized in a language, the system will use the value it finds in the generic ui_strings.properties file. If a string is not found in the first bundle, the system will try to find it in the second, and then in the third, based on their priority.
The localization bundles in WorldServer are reloadable, which means that you should see the changes you make in the localization files without having to restart the server. However, localization content is cached on the backend. Therefore, some strings may not be available immediately after refreshing the page. To see the updated values without restarting the server, we have created an endpoint through which you can clear cache: http://<host>/ws/localizations/refresh.