Software Documentation

Software Documentation

LanguagesDocumentation

Basic Last updated: January 27, 2020

2 Making a language translation file

This section contains instructions to create a language translation file for localizing the Finale 3D user interface to a non-English language.  Please contact will@finalefireworks.com if you are interested in translating to a language that is not yet supported.

The process of creating a language translation file is:

  1. Begin with a blank translation file template that you can get from will@finalefireworks.com or copy from C:\Users\YOURNAME\AppData\Roaming\finale3d\finale3d-files\app.nw\translations\translations_template.txt and rename to store it locally somewhere convenient on your hard drive.
  2. Using a text editor, replace all the translation phrases with your translations.  The translation phrases all begin with “XX” and are in all-caps, so they are easy to recognize. Also change the header line from “en” to whatever your language designation is (e.g., “fr” for French).
  3. If you see three question marks (???) in a translation phrase, please include the same ??? in your translation.  These question marks indicate a parameter that the software will replace with a number or word when it displays the phrase to the user.  Also, if the translation phrase includes backslash-n (\n), that indicates a line break.  Please include the same backslash-n in your translation.
  4. Save your text file in the UTF-8 or UTF-16 Unicode format.
  5. From Finale 3D, select the menu item “File > Admin > Install language translation file…” and select your file.

That’s all there is to it!  In the future, if a software update adds some text, you can update your translation file by,

  1. From Finale 3D, select the menu item “File > Admin > Update language translation file for any missing phrases…” and select your file.
  2. The update function will preserve all your translations, and will add any new phrases needing translation.  If any of your existing translations are no longer needed, the update function will add the comment “NON-MATCHING” in front of them so you can delete them whenever you want.   The update function never deletes anything.

With those basic instructions, you can get started right away, but it is worth reading a few more details to understand how it all works:  When the user selects a language from the “File > Languages” menu of Finale 3D, the software loads a language translation file that translates all the English phrases in the user interface into the selected language.  Finale 3D has approximately 1500 such phrases, some being just a single word; others being a sentence or two.  The language translation file thus consists of about 1500 pairs of lines.  The first line in each pair is the English phrase; the second line is the corresponding translation in the other language.

Here is a “before” and “after” explanation.  The first figure below is the beginning of the blank translate template file (“before”); the second is the beginning of the Russian translation file (“after”):

en
0. || Playback mode:
XX PLAYBACK MODE:

1. || Render mode:
XX RENDER MODE:

2. ||'Matching' means the part numbers are the same.
XX'MATCHING' MEANS THE PART NUMBERS ARE THE SAME.

Figure 1 – Blank translate template file (“before translation”).

 

ru
0. || Playback mode:
 режим воспроизведения:

1. || Render mode:
 графический режим:

2. ||'Matching' means the part numbers are the same.
«Соответствие» означает, что номера деталей совпадают.

Figure 2 – After translating to Russian (“after translation”).

 

The first line in the translation file (“ru”) is actually a header line that designates the language.  The header line contains one of these language codes, depending on the language.

Table 1 – Language codes

Language code Language
bg Bulgarian
en English
es Spanish
fr French
pt Portuguese
pl Polish
ru Russian
zhHans Chinese Simplified
zhHant Chinese Traditional
de German
nl Dutch
tr Turkish
ja Japanese
it Italian

 

After the “ru” language designation in the example, the first translation pair is,

0. || Playback mode:
 режим воспроизведения:

The first line in the pair is the English phrase to be translated. It begins with a comment (in this case “0. “), followed by two vertical bars, followed by the exact text of the English phrase. The comment is either a count or the words “NON-MATCHING” if the translation phrase is obsolete. The comment — all the text before the two vertical bars — has no effect on the actual translation. The comments are included as a nicety for the person doing the translation, so you can keep track of where you are. The text after the comment and double bars is the exact text of the English phrase. Please leave this text exactly as it is.

The second line of the pair is the translation, which should match the meaning of the English phrase, and should have the same punctuation at the beginning and end of the phrase. Some of the translation phrases are fractional parts of sentences that get combined in the user interface to make full sentences, so it is important that if the English phrase begins with punctuation or a space, then the corresponding translation phrase must also begin with the same punctuation or space, so the punctuation and spacing are correct when combined. Look at this first pair — do you notice that there’s a space after the double bar, before the word “Playback?” There’s also a corresponding space at the beginning of the Russian translation phrase.