Translating Firefly III
First of all, thank you for taking the time to help get Firefly III translated in as many languages as possible. Translation work is tedious and concentrated work, and I appreciate all your efforts.
At the moment, Firefly III has about 30 target languages with about 12 enabled. To make translating Firefly III as easy as possible I wrote this little guide to get you started.
If you contact me, make sure you tell me what your language is called in your language. For example, Dutch in Dutch is
Things to pay attention to
Some things you'll need to know when translating text:
- I try to make Firefly III user friendly. Whenever possible skip formal language constructs.
Crowdin has a pretty fancy user interface for translating Firefly III texts. This works pretty well for most people but you lack context: you don't know where your text is going to end up. But this works for most text.
You can hack your installation of Firefly III to make it show your language, even if it's not officially enabled yet.
Enable the language
app/config/firefly.php in your favorite text editor and search for the languages configuration. You should see a bunch of languages listed in a row:
Below that, a list of languages that are not enabled yet. Each line is preceded by
// to enable the language of your choice.
You can now select this language in your settings.
Download the right files
Everything in Firefly III will still be in English. You need to download a zip file with the correct files in them, and place it in your Firefly III installation directory.
Go to Crowdin, select your language and download a zip file of your language.
In the zip file, you'll find a directory called
xx_XX is your language code. The PHP files you find in that directory inside the zip file must be extracted to
xx_XX, of course.
Once the files are in place, you can start editing them directly. If you refresh your instance of Firefly III, the text should be translated instantly.
Once you're done with a file, send the file to me so I can upload the results to Crowdin.