FileVoyager is designed to support multiple languages. However, for this feature to be truly useful, we need more language files.
In this guide, we will explain how you can create additional language files for FileVoyager.
Consider participating in our community translation effort and contribute by translating just one sentence. With the help of many contributors, FileVoyager could become available in most of the world’s languages in just a few weeks!
Using the GlotPress web interface
Since August 2017, the website has been powered by GlotPress, a powerful web interface that makes it easier for translators to work on the project. To access the web interface, go to this translation page or, if you prefer a full page, go to the FileVoyager’s Glotpress page.
The interface is quite intuitive, but here is a quick user guide on how to use GlotPress. Although the guide is made for WordPress.com, the process is identical for filevoyager.com.
As mentioned in the guide, you’ll need to create an account to get started.
You can use social network authentication, or you can create a local account for this site.
Don’t worry, it only takes 15 seconds, and your data will not be used, sold, or shared in any way.
I have already created language sets based on the site’s popularity statistics, but if you need a language set that is not currently available, please don’t hesitate to ask me to add it through the forum or contact form.
Using DKLang to create a new language file
If you prefer to work offline or use files, there are several methods available. However, I recommend using the DKLang Translation Editor developed by Dmitry Kann, who is also the author of the DKLang Localization Package that I use in my own source code to enable multilingual support.
This is the method I personally used to create the French language file.
Prepare the needed material
Firstly, you will need to download and install DKLang, which can be found on this page.
Starting from version 15.5.7.0, FileVoyager comes with a “Language source file” included in the installation. You can locate it in the Lang folder, typically found at {FVAppPath}\Lang\ (where {FVAppPath} represents the path where FileVoyager is installed, usually “c:\Program files (x86)\FileVoyager” or “c:\Program files\FileVoyager”).
Within the Lang folder, you will find the following files:
- A set of .lng files that correspond to the available language files. For this process, you will be creating a new language file.
- A file named FileVoyager.dklang, which is the “Language source file” needed for the remainder of the process. If you cannot locate this file, it may be due to running an older version of FileVoyager or not being in the correct folder.
Open the Language source file
If you have installed DKLang Translation Editor, you can double-click the FileVoyager.dklang file, and it will launch the program.
You can also launch DKLang by yourself and select the menu entry File->New or Open…
You will see the following screen:
- Click the “Browse…” button and select in the {FVAppPath}\Lang\FileVoyager.dklang
- Check the box “Use the following transl…” and click the “Browse…” button. Then select, from the same folder than step 1, the existing language file you are the more comfortable with. I recommend English.
- Check the “Create new translation” radio button.
- Click “OK”
Configure target file
If the previous chapter is processed without issue, you will land on the following screen
- In this first combo box, select the language file you have chosen from the step 2 of the previous chapter. English was the recommended one
- In this second combo box, select the language for which you want to create a translation
- In this edit field, you can write the version of the application that is targeted by this new language file (this step is optional)
- In this field, you can write your name or your alias. It’s optional too but please, don’t be shy 🙂
The dialog box will look like this (here with Slovak as example):
Press OK, and you are ready to translate!
Translate the values
When you’ve done configuring your work, you arrive on the main DKLang Translation Editor window:
The main table of the interface is separated in 4 columns:
- Component/Property/Constant: This column contains the internal field’s name of FileVoyager. You can ignore this column.
- ID: This is the internal ID of the text. You can ignore this column.
- Default Value: This column contains the text from the language file you selected in the step 2 of the “Open the Language source file” chapter. This will be the source text you will have to translate (if you wish of course)
- Translated Value: This is the column where, for each row, you will write the translation in the language of your choice. As you can see in the picture below, the text can be presented in different manners.
- When the Default value is not yet translated, the Translated value appears in bold with a red cross
- When the text has been translated, it appears in normal font
- When text has been automatically translated from another similar text, it appears in bold but without the red cross
To write your translation, just select a row you want to translate, and start typing. Your typing will appear in the bottom right text box.
Respect the “&” and the “\n” convention
You will notice that sometimes, the original text contains a “&” (ampersand) or a “\n”.
About “&”
The symbol “&” indicates which letter should be underlined when the text is displayed on the program’s interface. For instance, in the example picture below:
The “v” in “Remove selected”, the “O” in the “Ok” button and the “C” in the “Cancel” button are underlined.
This is done to allow users to trigger a button or select an option using the keyboard, by pressing the “Alt” key plus the underlined letter.
For example, if the user wants to press the “Remove selected” button through the keyboard, he/she has to press “Alt + v”. For the “Ok” button, it will be “Alt + o” and for the “Cancel” button, it will be “Alt + c” on the keyboard.
To determine which letter is underlined, it has to be preceded by the “&”. To have “Remove selected” with “v” underlined, the internal value is “Remo&ve selected”.
If you are creating or updating a language file, you can, and it is recommended, put the “&” in your translated value when it is present in the Default value. But you must be sure that a letter is underlined only once among all the texts of a section (a section is the collection of rows in DKLang that are between 2 collapsable nodes [the purple ones] ).
If you are not comfortable with the “&”, it is better to simply ignore it. I will, or somebody in the community, take care of them before releasing your work.
About the “\n”
The “\n” is simply a mark to indicate where a new line will begin. Normally, you don’t have to write “\n” by yourself. When you are typing a translation, pressing enter will be automatically converted into “\n”.
If you find difficult to read a text with many “\n”, be aware that when the row is selected in DKLang, the bottom-left text box displays it with the new line visually interpreted.
Save your work
Yes! Save your work and do it often! When saving for the first time, you will have to choose a filename, as I noticed that DKLang was not very comfortable with filenames containing complicated characters, choose a simple name. You don’t have to write the file extension, DKLang will take care of that.
In order for you to test your work, save it under {FVAppPath}\Lang\.
Test your work
If you have saved your language file under {FVAppPath}\Lang\ and the file has the “.lng” extension, you will be able to select it in FileVoyager’s interface, either via the Ribbon’s “View” tab, either via the “Preferences” dialog box. The first time you put your file in the above mentioned folder, you will have to restart FileVoyager if it’s already running.
Consult the community
If you have any doubts about a meaning, ask me or the community via email or via the Forum.
Submit your work
If you consider that your translation is ready for production, send it to me via email or via the Forum.
You don’t need to wait until 100% is translated, lets the people speaking your language enjoy your work as soon as possible!
Thank you!!!
If you’ve read all this, that means that you are motivated and therefore, I infinitely thank you.