spiegel-keyman/windows/src/desktop/kmshell/util
Marc Durdin ad9ab53c72 feat(windows): improve startup time by caching locale names
This was flagged years ago as a potential performance hotspot: each
locale is loaded at process start for any kmcomapi-involved process,
which takes quite a long time. This refactor moves the locale
enumeration out of kmcomapi and into the build process, so we have a
static list of locales put into locale/index.xml.

This includes a minor breaking change to Keyman Engine API on Windows:
`MessageFromID(id, locale)` now only allows the three ids
SKUILanguageName, SKUILanguageNameWithEnglish, and SKLanguageCode, for
performance reasons. At this point, only SKUILanguageNameWithEnglish is
actually used anywhere in Keyman, and it is unlikely that any other
consumers are requesting alternate IDs.

Fixes: #14787
Build-bot: skip release:windows
2025-09-19 14:11:37 +02:00
..
Keyman.Configuration.UI.UfrmDiagnosticTests.dfm chore(windows): breadcrumbs 2021-03-16 06:57:57 +11:00
Keyman.Configuration.UI.UfrmDiagnosticTests.pas chore(windows): breadcrumbs 2021-03-16 06:57:57 +11:00
Keyman.System.KeymanStartTask.pas chore(windows): remove cleanup-alpha-tasks 2024-05-24 09:55:01 +10:00
kmint.pas fix(windows): Settings refresh management 2020-12-17 10:50:21 +11:00
KMShellHints.pas refactor(windows): use http instead of file for ui 2020-05-11 15:11:31 +10:00
KPInstallFontKMShell.pas [Windows] Fixes #1285. Adds a mitigation for issues with installation under certain languages in Windows 10 1803 and later 2018-11-02 09:43:38 +11:00
UFixupMissingFile.pas chore(windows): rearrange global/delphi/ui units 2022-06-13 10:01:39 +10:00
UfrmDownloadProgress.dfm fix(windows): use new windows url for online update check 2020-10-26 20:44:36 +11:00
UfrmDownloadProgress.pas feat(windows): merge conflicts wip 2024-07-24 16:59:21 +10:00
UfrmPrintOSK.dfm [Windows] Remove and stub all EmbeddedWB references in kmshell (other apps coming) 2019-04-04 17:16:21 +11:00
UfrmPrintOSK.pas [Windows] Remove and stub all EmbeddedWB references in kmshell (other apps coming) 2019-04-04 17:16:21 +11:00
UILanguages.pas feat(windows): improve startup time by caching locale names 2025-09-19 14:11:37 +02:00
UtilCheckOnline.pas Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121) 2017-07-25 10:53:06 +07:00
utilfocusappwnd.pas Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121) 2017-07-25 10:53:06 +07:00
utilkmshell.pas feat(windows): WIP added keyman has run atom 2023-12-20 08:14:33 +10:00