All the original screen strings and texts for this program are written in English. English is the default language of this program and the default "fall-back" language. The program will start in English if your "locale" is (some) English, or if your "locale" is not in the supported languages within this program.
What is a "locale"?
You have "localization" and "internationalization" in computer languages and operating systems.
"Localization" (en_US) or "localisation" (en_GB) determine language, grammar, spelling, number formats and a number of other "things". This is determined by the "locale". (also: I say "program" in "my" English. Others say "programme").
General English and Spanish is for example "en" and "es". Like shown above you also have en_US, en_GB, en_AU (Australia), en_IN (India) and a few more.
Same for French (fr_FR, fr_CA, ..) or Spanish (es_ES (Spain), es_AR (Argentina)) or German (de_DE, de_AU (Austria), de_CH (Zwitserland)).
To support translation, java uses "property" files.
This program uses 2 different files:
- program_strings_<locale>.properties for short(er) screen and program strings.
- help_texts_<locale>.properties for long help, info and other long texts.
This is done to make it easy for translators. Tranlating the program strings can be done quite fast. Translating the long help texts might take more time.
A properties file is in plain-text format. You can create the file with just about any text editor. In the example the properties files store the translatable text of the messages to be displayed.
So for example:
en_US | fr_FR | de_DE |
greetings = Hello
farewell = Goodbye
inquiry = How are you?
|
greetings = Bonjour.
farewell = Au revoir.
inquiry = Comment allez-vous?
|
greetings = Hallo.
farewell = Auf Wiedersehen.
inquiry = Wie gehts?
|
Notice that the values to the right side of the equal sign have been translated, but that the keys on the left side have not been changed. These keys must not change, because they will be referenced when the program fetches the translated text.
|
Example for jExifToolGUI
Below you see an example of the (main) "program_strings_en.properties" file.
Lines starting with # (or multiple ##) are comments.
You can write "string identifier" = "translation" or "string identifier"="translation". It doesn't matter but the extra space makes it a little clearer.
Note:
- for an extra "space", you need a "\", like in "\ (for ExifTool by Phil Harvey)" where I want two spaces.
- HTML is also used in the (long) texts. Like <big>big text</big> (big text), <b>bold text</b> (bold text), <i>italics</i> (italics), and <br> for a "hard" line end.
- multi-line translations in the properties file need to be "ended" per line with a "\". (see below).
Note: The "\" is to create a multiple line translation in the properties translation file. The <br> is used to make a "hard enter" in the text to be displayed inside the program.
- single quotes ' need to be "escaped" with a \ as well, like "Phil Harvey's Exiftool" becomes "Phil Harvey\'s Exiftool"
# English (Generic)
# jExiftoolGUI v1.5
## Window/popup titles
application.title = \ (for ExifTool by Phil Harvey)
preferences.title = Preferences
renamephotos.title = Rename Photos
createargsfile.title = Create args file(s)
exportmetadata.title = Export metadata
MyCommandsTopText = On this tab you can define your own parameters to "send to" exiftool. The parameters will\
be executed on the images you have selected on the left. <br>You can both specify read parameters as well as write parameters. You can also combine\
several parameters. <b>Note:</b> You don\'t need (must not) provide the exiftool command itself. The Gui will take care of that.<br><br>
|