2500 callout was generated by editing the existing 1000, 500, 200 callouts.
The other callouts generated by text2speech.org (which allows to use their
generated sounds for any purpose and with any license).
Change /sim/multiplay/transmit-only-generics to /sim/multiplay/transmit-filter-property-base, which can be 1 to transmit only generics, or a number greater than 1 to indicate the start index to transmit (e.g. 12000 for new emesary mp bridge properties)
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.
ConfigStore for storing and retrieving config settings (needs XML import/export)
Header display with 4 different header fields (all configurable)
Publisher for ADC and FMS.
The '[addon=ADDON_ID]relative/path' syntax can be used in resource paths
handled by the SimGear ResourceManager, when one wants to target a file
from a particular add-on (see FG commit 8c82fca4 and following ones).
This commit documents this feature.
Note: when the resource path is prepared by Nasal code, prefer using
addons.Addon.resourcePath().
SVG files from Michat on the forum:
Sat Jan 13, 2018 7:36 pm
Me, Michat. I donate the so called garmin1000B.svg file created by me using GPL Inkscape software to FlightGear, the Free Flight Simulator as a present to the flightgear.org. Since now I derived all legal rights to FlightGear via two active developers representatives on this forum topic: Stuart and hooray. They will proceed to upload the file to the FG repository, choosing the best license in order to protect FlightGear from any scammer simulation software, if is possible. Having account the nature of the Flightgear project as public well.
The 13TH of January 2018 in Madrid Spain.
Michat.
The property-rule configuration file was probably a bad example, because
I believe the path has to be specified inside a PropertyList file (so
far). It can thus be done with the '[addon=ADDON_ID]relative/path'
syntax so as to ensure the file is found by
flightgear::addons::ResourceProvider, however in this particular case,
addons.Addon.resourcePath() is probably not going to be very useful.
The addons.Addon instance (ghost) is much more interesting than its base
path. The base path is immediately accessible from the addons.Addon
instance using its 'basePath' attribute. The addons.Addon instance
allows main() to easily access essentially all of the add-on metadata,
including the add-on identifier, which makes it possible to write
main.nas without hardcoding the add-on id at all.
This is an incompatible change of course, so better do it now than
later.