Internationalization

Starting from version 0.0.0.19a EazyCNC can be translated and/or customized to your preference by placing a text file containing translations into the EazyCNC home directory.

The home directory depends on the operating system and your username as follows:
Mac OS X'/Users/username'
Windows XP'C:\Documents and Settings\username'
Windows 7 'C:\Users\username'
Linux '/home/username'

To customize EazyCNC user interface texts (buttons, titles etc) place a file called strings.properties into the home directory.

To localize EazyCNC for your language create a sub directory inside the 'locales' directory and give it the name of your language. In the directory place a copy of your localised strings.properties file. The directory name will appear (in italics) in the 'Mach Setup/UI' panel in EazyCNC.

To recap: in order to create a Swedish translation of EazyCNC on Mac OS X do the following:

  • Obtain a copy of the English strings.properties file
  • Edit that file replacing English text with Swedish texts
  • Place the file here (creating possibly missing directories):

    /Users/username/EazyCNC/locales/Swedish/strings.properties

  • Restart EazyCNC and check that all texts make sense!
  • Obtaining a copy of the'strings.properties' file

    You can download a copy of the properites file from here or from to the EazyCNC Downloads page.

    Format of the 'strings.properties' file

    The file conforms to the standard Java properties file format.

    A description of the format can be found in wikipedia.

    Briefly, the strings.properties file is a text file (you can edit it with any standard text editor) where each line has 'key' and 'value' separated by '=' sign.

    The 'key' should not be touched but the 'value' can be changed to any text you want.

    For example to translate the text on the button 'Save' to German locate this line in the strings.properties file:

    Save = Save

    And change it to this:

    Save = Speichern

    If your translated strings.properties file does not contain a key/value pair for a certain text then the the customized strings.properties is searched for the key/value pair and if that does not contain it then finally the built in standard text is used.