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 Collaboration 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:
https://github.com/taranion/genesis/ (The main application)
Especially the language files here:
https://github.com/taranion/genesis/tree/master/Genesis/src/main/resources/org/prelle/genesishttps://github.com/taranion/rpgframework (The underlying framework)
All language files found here:
https://github.com/taranion/rpgframework/tree/master/RPGFramework_Core/src/main/resources
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:
Coriolis (also requires work on YearZeroEngine)
Space 1889 (also requires work on UbiquityEngine)
Splittermond (a german only RPG)
Shadowrun 5 (deprecated, since work on it has stopped years ago)
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.