Skip to content

How to localize an application

Kittox supports full localization of both the framework interface and your application's metadata. You can also build multi-language applications where each user selects their language at login.

Step 1: Localize the Kittox interface

The folder Kitto\Home\Locale contains subfolders for each language (e.g. it for Italian). Each subfolder has a Kitto.po file with translated framework strings.

To add a new language, copy an existing locale folder, rename it with the appropriate language code, and edit the .po file using a tool like Poedit.

Step 2: Localize your application

Your application's locale folder ({App}\Home\Locale) follows the same structure. See the HelloKitto and TasKitto examples for working samples.

Step 3: Mark strings for translation

Use the _() function in both YAML metadata and Delphi code to mark translatable strings.

In YAML files — wrap display labels, allowed values, and hints:

yaml
Fields:
  Dress_Size: String(4)
    AllowedValues:
      XS: _(Extra Small)
      S: _(Small)
      M: _(Medium)
      L: _(Large)
      XL: _(Extra Large)

In Delphi code — wrap string literals:

pascal
RaiseError(_('Cannot invite the same girl twice.'));

Multi-language applications

To let users choose their language at login, add to your Config.yaml:

yaml
LanguageId: en
LanguagePerSession: True

LanguageId sets the default language for the login page. When LanguagePerSession is True, a language selector appears on the login dialog.

See Localization for the full reference and additional examples.

Released under Apache License, Version 2.0.