Translator Wanted: Indonesian

Report translation and localization issues
User avatar
Site Admin
Posts: 7523
Joined: 9 Dec 2007

Zenju

Hi,

FreeFileSync's goal is to be the most intuitive, high performant and reliable synchronization and folder comparison tool out there. Various translations, all in perfect quality, are already available.

Currently I'm looking for dedicated translators for maintaining one of the following languages:

Indonesian

The complete translation process goes like this:

In essence, all you need to do is to update the .lng file located in
<FreeFileSync installation directory>\Resources\Languages.zip
and add the missing translation items.
This will be required only a couple of times per year, so the amount of work is pretty low.

About one week before a FreeFileSync release comes out I'll write an email to inform about the translation update. This email will include a link to the most recent beta version of FreeFileSync as well as the planned release date. You can then download this beta version and install it in order to get the latest .lng file from Resources\Languages.zip. Then grab a text editor which supports the UTF-8 encoding e.g. Notepad++ and edit the .lng file.

When you're finished, test your translation at least once by loading it with the FreeFileSync beta version. If there are any syntax errors, you'll get a descriptive error message telling you exactly what is wrong.
At the end send the translation back to me via email. I will then check again to see if the translation is complete and test for syntax errors once more.

Here are a number of hints when working with a .lng file:

• The to be translated items are marked with an <empty> tag that should be replaced.

• If your text editor supports syntax highlighting, select language XML, and the .lng file will be much easier to work with.

• The first time you work with a .lng file, make sure you fill the header structure at the beginning. The two most important entries are "language" which is the *localized* language name and "translator" where you can put your name that will be shown in FreeFileSync's about dialog. The other entries are more technical and will be checked and revised by me as needed.

• Do not add unwarranted verbosity. If the english source text is concise, it is a deliberate choice that should be reflected in the translation. This is because most texts are used for button labels or as status information that may be visible only for a second. For example,
Creating file %x
Should not be translated like:
Creating the file %x
The article should be removed.

• Plural forms are a special type of translation item, where the actual text will be selected dynamically by FreeFileSync depending on what number is applied.
For example in German there are two plural forms with definition "n == 1 ? 0 : 1". A plural form translation might look like this:
<source>
<pluralform>1 directory
<pluralform>%x directories
<target>
<pluralform>1 Verzeichnis
<pluralform>%x Verzeichnisse
When the number applied is 1, according to the plural form definition, the first plural form (= zero-counted index position 0) will be translated => "1 Verzeichnis".
When the number applied is 10, the second plural form (= zero-counted index position 1) will be translated => "10 Verzeichnisse".

Although the plural form syntax is slightly different, the concept is the same as in other localized applications:
https://www.gnu.org/savannah-checkouts/gnu/gettext/manual/html_node/Translating-plural-forms.html

For reference, here are links to specific plural form definitions:
http://docs.translatehouse.org/projects/localization-guide/en/latest/l10n/pluralforms.html?id=l10n/pluralforms
https://www.gnu.org/savannah-checkouts/gnu/gettext/manual/html_node/Plural-forms.html

• You can check the consistency of the .lng file yourself by simply selecting this language with the FreeFileSync beta version I linked in the email: If there is any syntax error, you'll see an error message saying exactly what is wrong and at what row. Here are some examples of what is checked:

1. if the source text contains an ampersand (&) to mark the access key of a menu item, the translation is also required to have one.
For English it's clearly-defined what access keys to use for a given phrase:
https://docs.microsoft.com/en-us/windows/win32/uxguide/inter-keyboard#access-keys-1
For all non-english languages it is best to use whatever is consistent with other translated applications. The best examples of such apps are "notepad.exe" and "Microsoft Office" which can be used as a reference.

2. If the source text contains a placeholder like %x, the translation also needs to have one.

3. If your XML file accidentally ends up having incomplete or missing XML begin/end tokens, the syntax check will get this.

4. For plural form translation items, it is checked if the correct number of plural forms is provided.

5. For each individual plural form it is checked that a %x placeholder is used whenever there are multiple numbers that map to this form.
For example in German with two plural forms the following would be a syntax error:
<target>
<pluralform>1 Verzeichnis
<pluralform>2 Verzeichnisse
=> according to definition there is more than one number that maps to the second plural form (= zero-counted index position 1). This means "2 Verzeichnisse" is lacking the %x placeholder!

=> on the other hand "1 Verzeichnis" is fine since according to plural form definition there is only a single number that maps to the first plural form (index position 0), namely number "1".
Note that it is not required to use "1" for the first plural form in this case, but it would be okay to write "<pluralform>%x Verzeichnis". Nevertheless "<pluralform>1 Verzeichnis" is more clear.

• Since you're taking over an already existing translation, it is a good idea to give it a quick review. Check for spelling errors, but also make sure that the translation correctly matches the English source text, and not for example has invented new text phrases.

• If you are not satisfied with the English source text: Instead of trying to fix such an issue in your translation, please inform me about this problem, so that I can fix it for all translations. Until then, stay honest to the English text to avoid surprising the user: You can never be 100% sure in which places a text is shown in FreeFileSync, therefore make no additional assumptions in your translation.

• When it comes to technical terms: don't reinvent the wheel, but reuse the naming conventions of the current Windows operating system, FreeFileSync's most important platform. Even if you think, e.g. the translations for "file" and "folder" are not ideal on Windows: Don't invent new translations! FreeFileSync must not surprise the user. This implies that the naming should follow Windows literally, irrespective if the terminology could be "improved" in some way. This guarantees that FreeFileSync merges seamlessly into the Windows infrastructure while users can concentrate on other, more important things.

=> Use the following language-specific glossary to help find the ideal translation for technical terms:
Microsoft Terminology Search
Microsoft UI String Search


• The translation must not contain additional layout formatting other than mirror what is already in the English original. Using formatting assumes knowledge about how the phrase will be used in the program, but the person integrating the text into the program (me) works with the English phrase in mind. So for example if I change the layout and make a text box more narrow the texts will wrap automatically. Now if the translated text contains unexpected newlines, it could double-wrap and this layout-bug won't be detected when testing the English version.

• Let me know if you want untranslated items in the .lng file to be sorted to the top or if you want to keep them relative to where they occur in FreeFileSync. When sorted to the top, it will be easier for you to see all untranslated items at a glance. When sorted relative, you will have some additional context about where the text is used, by examining the neighbor translations. It's your choice.

If you're interested just drop me a short note via email (see FreeFileSync's about dialog for the address).

Thanks for help, Zenju