A Rigi project contains source files with translatable texts. The objective of Rigi is to generate localized target files that contain the translations. The location and name of those files are project dependent.


Localized Java properties files, for example, are usually located in the same folder as the source file and have the locale as extension. For example, the German target of string.properties gets name strings.de.properties. In the Piwik sample project, the Json files have name <locale>.json. The source is en.json and German target de.json. This requires that each resource file is located in a separate folder.


Each target rule has a unique ID. The rule itself contains variables $(xyz), that represent for for example, the locale, source path and file extension.


  1. It is recommended to add at least one source file to the project, see Select source files. This is required to test the resolved path of the target rule and see the variables.

  2. Click Add



    This dialog consists of three parts:
    • Data entry: the goal of this dialog is to enter the ID and the Rule.
    • Test target rule: select the source file ID, Parser and Target language to see what the resolved path is.
    • Variables: an overview of variables. The table shows the variable name and its value (derived from the selected source file).

  1. Enter the ID, for example "TR".

  2. Enter the rule.

    Double-click a variable in the Variables-field to insert it in the Rule-field. Please note that the Variable-table supports quickly capturing the required target rule and it also makes sure that all characters are written properly in the path. Try to take as much advantage of the variables as possible when creating your target rule.

    The Resolved path presents the name and location of the target file with the current Rule. It acts as a check functionality when (old) target files are available at the target folder. Resolved path checks if there is an existing file at the path given in the Rule. As an additional aid, the text is colored red if the target file does not exist, otherwise green.

    In the example below, the German target file for en.json is located in the same folder ($(sourceFilePath)) as the source file and will get name ($(targetLocale)$(sourceFileExt)). This rule is then resolved to  lang\de.json. That file already exists and therefore it is colored green.



    This way it is possible to configure any mapping.

    The project files implement a variable mapping mechanism. For example, $(targetLocale) maps to de. It can be overridden to map to any other value (e.g. Berlin). That mapping is not supported by the user interface of the Solution Editor, but can be achieved by editing the project file in an editor, see


  1. Click OK


Note: it is possible to override the values of variables for specific locales. For example, $(sourceFileExt) can be overrridden with ".ItalianJson" if the locale is it-IT. See Mapping of variables in target rules.