v0.2: register & install as the Ainu language (transient LCID) - #2
v0.2: register & install as the Ainu language (transient LCID)#2mkpoli wants to merge 2 commits into
Conversation
Replace the ja-JP fallback langid with registration against the four desktop transient LCIDs (0x2000/0x2400/0x2800/0x2C00), per [MS-LCID] and Keyman's RegisterTransientTips. Profiles are registered not-enabled-by-default; the per-user enable (Set-WinUserLanguageList + InstallLayoutOrTip) is the installer's job. DLL side only; installer step follows. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
enable-user.ps1 adds 'ain' to the user's language list (Set-WinUserLanguageList) and enables the TIP via InstallLayoutOrTip under the transient LCID Windows assigns. install.ps1 now runs the machine half elevated and the per-user half in the user's own context. The Inno installer bundles enable-user.ps1 and runs it with runasoriginaluser; the release zip includes it. NEEDS Windows testing. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Closing as stale. This PR registered the profile against transient LCIDs (0x2000–0x2C00) and enabled it per-user via The shipping build (on |
Draft — needs testing on a real Windows machine. Stacked on #1 (retarget to
masterafter #1 merges).Moves ainuKey off the
ja-JPfallback so it installs and appears as Ainu.How (per the MS-LCID / Keyman research)
Ainu (
ain) has no Windows LCID, so it uses a transient LCID (0x2000/0x2400/0x2800/0x2C00):registry.rs):DllRegisterServernow registers the profile against all four transient LCIDs (not-enabled-by-default), instead ofja-JP.installer/enable-user.ps1): addsainviaSet-WinUserLanguageList, then enables the TIP viaInstallLayoutOrTip("<lcid>:{CLSID}{PROFILE}", 0). Must run as the real (non-elevated) user.install.ps1: machine half (copy + regsvr32) elevated; per-user half in the user's context.enable-user.ps1and runs itrunasoriginaluser; uninstall disables first.Needs verification on Windows
InstallLayoutOrTipinstall-string format (%04x:{CLSID}{PROFILE}, no0x— from Keyman source; MS docs show a0xvariant).LocaleNameToLCID("ain")returns the transient LCID immediately afterSet-WinUserLanguageList.Verified here
cargo check --target x86_64-pc-windows-msvcgreen (DLL side).