The reason French is treated specially is that I completed the
translation up to 100% coverage in Qt Linguist as a test case for the
new translation infrastructure, and have no desire to convert this
translation work to the legacy FlightGear-specific XML format. But of
course, this complete translation is in XLIFF 1.2 format (since it is
saved by Qt Linguist) and thus can't be used by FlightGear yet.
On the other hand, for the other languages, no translator ever modified
the XLIFF files, therefore the best way to proceed for is that people
continue to work with the legacy FlightGear-specific XML format until
the new translation infrastructure is ready (this way, their work is
visible in FlightGear). The Python-based tools in FGMeta allow one to
automatically convert from this legacy format to the XLIFF 1.2 format,
as explained in fgmeta/python3-flightgear/README-l10n.txt. Which is
precisely what this commit does.
The XML declaration says encoding="ISO-8859-1". If you want to use
UTF-8, be my guest and convert the whole file to UTF-8 but please, don't
write UTF-8-encoded strings inside a file declared as ISO-8859-1.
These files have been generated from the existing XML files (cf.
fg-convert-translation-files in fgmeta).
Translations/en_US/FlightGear-nonQt.xlf is for a proper English
translation, where for instance "found %n airport(s)" would have two
plural forms, "found %n airport" and "found %n airports" (most
non-plural strings can be taken verbatim from the default translation,
and at this point there is no plural form at all yet).
This is mainly to make it clear that the "translation" in (after this
commit) Translations/default, a priori corresponding to en_US, has a
special status: it acts as the source describing the set of translatable
strings, each with its id (an XML tag name) and numeric index (a
PropertyList index, often 0 but not always).
In the upcoming i18n infrastructure, the files in Translations/default
will be used to:
- detect all translatable strings (~ string extraction);
- detect obsolete translated strings (those in XLIFF files but not in
Translations/default anymore);
This will allow a script to update the XLIFF files containing real
translations, i.e., update the source strings and possibly remove
obsolete entries.
So, the files in Translations/default have a special "master" status in
this process, and are technically quite different from those in
Translations/de, Translations/es, Translations/fr, etc. The latter XML
files (those not in Translations/default) will be replaced with their
XLIFF equivalent, by the way (conversion script already working).
See discussion at
<https://sourceforge.net/p/flightgear/mailman/message/35910579/>.
This makes the "Rendering options" menu entry consistent with its
siblings in the same menu as well as with the section title with the
same name in Translations/es/options.xml.
It's not that leading or trailing whitespace in translated strings is
forbidden *in principle*, but I think it is unwanted in most of these
cases. Remove these spaces that could cause confusion, possibly useless
work for translators and/or ugly displays.
The only cases where the spaces seem to have been intentional are the
trailing ones in menu labels (Translations/*/menu.xml), in order to
obtain right alignment of keyboard shortcuts. However, there is only one
case in English where the spacing looks approximately correct
(File -> Reset). In all other cases, it looks awful. And this poor way
of obtaining right alignment gives bad results in other languages, where
translators use the same number of spaces as in English.
Bottom line: if right alignment of keyboard shortcuts is indeed desired
in the menu labels (I think it is), it should be done in a smarter
way...
The 'enable-skyblend-desc', 'disable-skyblend-desc',
'enable-intro-music-desc', 'disable-intro-music-desc',
'enable-game-mode-desc', 'disable-game-mode-desc' and
'disable-ai-scenarios' translated strings have been removed from
Translations/en/options.xml in commit
4f660c96a5. Remove them from
Translations/nl/options.xml where they are still present.
The tips are not enabled in Translations/locale.xml yet, because the
font currently used to display them in FlightGear's splash screen
doesn't have the required glyphs (see [1] for more details). Better
display English tips than empty rectangles on the startup screen.
Merging this in disabled state now has a few advantages compared to
waiting for the font problem to be solved:
- avoid that someone ignoring the merge request[1] duplicates the
translation work;
- allow easy updating of these tips;
- make sure they aren't forgotten when FG's localization files are
converted to XLIFF format.
Ship an empty Translations/zh_CN/options.xml, otherwise
'fgfs --language=zh_CN --help --verbose' won't work at all.
[1] https://sourceforge.net/p/flightgear/fgdata/merge-requests/92/
This translated string has been removed from Translations/en/menu.xml in
commit f3ac93b1ef. Remove its translations
from the other Translations/*/menu.xml files that still have it.
This translated string has been removed from Translations/en/menu.xml in
commit ff87cf4257. Remove its translations
from the other Translations/*/menu.xml files that still have it.
Use RIGHTWARDS ARROW for each arrow, surrounded by two NO-BREAK SPACE
characters. This prevents line breaking in the middle or at the edges of
such arrows.
Also explicitly specify the UTF-8 encoding for Translations/en/tips.xml,
even though this is implicit with XML when unspecified.
Translations/fr/sys.xml: add accented characters (using UTF-8 encoding)
now that the splash screen supports them.
Translations/fr/options.xml: fix typos, document --download-dir and
recode the file to UTF-8.
Also remove <intl include="Translations/locale.xml"/> from
preferences.xml. Something equivalent based on readProperties() is done
in FlightGear (cf. FGLocale::FGLocale() in
flightgear/src/Main/locale.cxx).
Add the translation for the <download-dir-desc> switch and update the one
for the <metar-desc> one.
Also change "tempo" to "orario" in menu.xml to be consistent with the
term choice in options.xml.
Following FlightGear commit 0cfa4ced9cd5e2ec26e753ddd5f61da7558221a6,
mention in the output of 'fgfs --help --verbose' that the --metar option
automatically implies --disable-real-weather-fetch.
- Fix documentation for --aircraft-dir: the specified path is
interpreted relatively to the current directory, not to the path of
the fgfs executable.
- Add a few precisions (the option bypasses the <path-cache> from
autosave_X_Y.xml, as well as --fg-aircraft and FG_AIRCRAFT).
- Show the option documentation in 'fgfs --help -v' output (it was
"hidden" since 2010, but it works very well; cf.
<https://sourceforge.net/p/flightgear/mailman/message/34494887/> for
the most recent discussion about this option).
- Show the doc for --aircraft-dir right below that of --aircraft (both
being closely related).
- Add a pointer to --aircraft-dir in --fg-aircraft's doc, since the
former can be used as an alternative to the latter (or at least a
complement, since --fg-aircraft is used to determine some
permissions).