Servoy provides internationalization (i18n) tools that allow developers to conveniently convert their applications into multiple languages. Developers can use i18n keys instead of hardcoded text to call the appropriate language from an i18n database table. This chapter gives an overview of the Servoy tools provided to create internationalized solutions.
Note: In addition to the tools discussed below, Servoy provides a scripting API for commonly used functions, accessible via the i18n node towards the bottom of Solution Explorer (separate from the Resources project). This feature is discussed in the Programming Guide.
The data for internationalization is saved in the workspace under the Resources project. The table is then exported with the solution when the solution is deployed to the application server.
To view and edit an i18n table:
To add internationalization to your solution, an i18n table needs to be associated with the solution. You will be prompted to do this when you first add internationalization to a solution using either of two available methods: (1) externalizing all the available text in a solution or (2) adding i18n messages one by one to your forms/scripts (see image below of i18n buttons in main toolbar).
Note: Changes made to i18n entries are locally saved to the workspace during development. The defined i18n table will then be added to the application server upon deployment of the solution.
Tip: To change a solution's assigned i18n table at any time, select the solution in Solution Explorer to show the solution's Properties view. Then, double-click on the i18nDataSource line item in the Properties view and select the desired table from the pop-up browser that appears.
As mentioned previously, the Externalize function adds internationalization to a solution by creating a list of all the items in your solution that are available for internationalization. It then generates i18n keys and messages from all the text properties in the solution (form objects such as button lables, column titles) and replaces the hardcoded text with the i18n keys, with the default text being the original text property that was assigned to the item.
In addition to form objects, Javascript strings are included in the externalization, when present. These can be excluded from externalization using the Ignore selected messages underneath the externalize list. Once excluded, a comment is placed in the script that directs Servoy to skip these messages during future externalizations.
To externalize a solution:
Internationalization can be added one by one to a solution by editing i18n keys using the Table Editor_._