Translating Genesis and rule plugins

Genesis is always open for community contributions. This includes translations into other languages.

If you are willing to contribute a new translation, we are happy to include it.

Technical details

File Format

Genesis uses Java Property files (text files with ISO-8859-15 encoding). Each line is interpreted as a key/value pair like this

attribute.strength = Stärke

You can include line breaks using “\n”

attribute.helptext = This is the first line.\nThis is the second line.

You can also write multiline descriptions. This is done by ending a line with “\” and starting the next line with a space.

attribute.helptext = This is the first line.\n\ This is the second line.

You only need to translate the values, not the keys.

File Names

With the exception of a german only roleplaying game, we consider English the default language of the application. That means

  • a file is an default (english) language file

  • a file is a german language file

  • You can create your own language file by taking the default filename and intruduce a <languagecode> before the dot - e.h. for french

If a key is not found in the translated language file, it is taken from the default language file.


The translation is stored along with the source code in a Git Repository. You can fork our repositories and create pull requests when you want us to include your changes. For more details consult our section.

Translating the main application

All the source code and language files of the main application are stored on GitHub. You need to have an account there, to make a fork. There are two relevant repositories:

You need to translate all .properties files found inside the repositories.

Translating a roleplaying plugin

Most of the translation work most likely goes into the roleplaying plugins. We use Bitbucket as a Git repository to store them, so you also need an account here.

There are several repositories for role playing systems:

The layout of the repositories is usually that of several subprojects, each of which has a directory labeled src/main/resources where the language/properties files are located below.