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 some_name.properties is an default (english) language file

  • a file some_name_de.properties 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. some_name_fr.properties for french

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

Tools

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 https://rpgframework.atlassian.net/wiki/spaces/GD/pages/502136833 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.