Fixes#3487.
The fontsize property for touch layout elements was treated as
an integer by Developer but should be a string (as it might contain
units such as 'em').
To help with back-compat, updated the GetValue string overload
to ignore value type and return the stringified form, regardless of
the actual type, which should always work.
Now that we have an idempotent function to register a TIP for a
language, it makes sense to use that to repair existing profiles,
rather than the prior, rather WET code (which also was not quite
right for the new design, anyway).
Cleans up the listing of languages in the Keyboard Language
dialog and removes some of the confusing entries. Hides the
localized country name because that is not available for
majority of languages in the dialog, leading to confusion.
This upgrades a 11.0-13.0 install to the 14.0 model for registered TIPs.
It does not yet deal with transient TIPs or disabled keyboards (these
will come in a separate PR). There is also more tidy up coming in a
future PR for language names.
This PR handles the case where Windows installs a BCP 47 tag that may not
match our tag 100% precisely. In this case, Keyman maps the Windows BCP 47
tag to the in-memory data for consistency. It also allows for install of
more complex tags.
Keyman32/keyman64 were not reading the new 'Transient Language Profiles'
key which is needed with Keyman 14. Minor tweak to ensure we don't scan
through more profiles than necessary when activating tip in aiTIP.cpp also.
This will be used for future updates for language search
and installation and will eventually allow us to remove
ethnologue and alltags data (and some of bcp47 subtag)
This splits the registration and installation of TIPs according to the
elevation context during the installation process, so that the current
user gets the correct configuration, regardless of who the elevated user
is.
Stockeditor is no longer required as it was used in the past to edit
translations and messages, but these are all maintained either in source
or through Crowdin now.