From 6ca02f0d3c49fbf874c9fa6af69ae46b438bd247 Mon Sep 17 00:00:00 2001 From: Hao Liu Date: Mon, 6 Jan 2025 21:38:59 +0800 Subject: [PATCH] [QuickAccent]Add Proto-Indo-European (#36408) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add ḱ to PowerAccent for Proto-Indo-European * Fix Spelling Check * Add more letters to PIE * Order PIE after PI --------- Co-authored-by: Hao Liu (from Dev Box) Co-authored-by: Jaime Bernardo --- .github/actions/spell-check/expect.txt | 1 + .../poweraccent/PowerAccent.Core/Languages.cs | 21 +++++++++++++++++++ .../Settings.UI/Strings/en-us/Resources.resw | 3 +++ .../ViewModels/PowerAccentViewModel.cs | 1 + 4 files changed, 26 insertions(+) diff --git a/.github/actions/spell-check/expect.txt b/.github/actions/spell-check/expect.txt index 07d9ee9723..0e8491dc44 100644 --- a/.github/actions/spell-check/expect.txt +++ b/.github/actions/spell-check/expect.txt @@ -645,6 +645,7 @@ imageresizerinput imageresizersettings imagingdevices ime +Indo inetcpl Infobar INFOEXAMPLE diff --git a/src/modules/poweraccent/PowerAccent.Core/Languages.cs b/src/modules/poweraccent/PowerAccent.Core/Languages.cs index dc2927aace..881b85e1cf 100644 --- a/src/modules/poweraccent/PowerAccent.Core/Languages.cs +++ b/src/modules/poweraccent/PowerAccent.Core/Languages.cs @@ -39,6 +39,7 @@ namespace PowerAccent.Core NL, NO, PI, + PIE, PL, PT, RO, @@ -100,6 +101,7 @@ namespace PowerAccent.Core Language.NL => GetDefaultLetterKeyNL(letter), // Dutch Language.NO => GetDefaultLetterKeyNO(letter), // Norwegian Language.PI => GetDefaultLetterKeyPI(letter), // Pinyin + Language.PIE => GetDefaultLetterKeyPIE(letter), // Proto-Indo-European Language.PL => GetDefaultLetterKeyPL(letter), // Polish Language.PT => GetDefaultLetterKeyPT(letter), // Portuguese Language.RO => GetDefaultLetterKeyRO(letter), // Romanian @@ -155,6 +157,7 @@ namespace PowerAccent.Core .Union(GetDefaultLetterKeyNL(letter)) .Union(GetDefaultLetterKeyNO(letter)) .Union(GetDefaultLetterKeyPI(letter)) + .Union(GetDefaultLetterKeyPIE(letter)) .Union(GetDefaultLetterKeyPL(letter)) .Union(GetDefaultLetterKeyPT(letter)) .Union(GetDefaultLetterKeyRO(letter)) @@ -463,6 +466,24 @@ namespace PowerAccent.Core }; } + // Proto-Indo-European + private static string[] GetDefaultLetterKeyPIE(LetterKey letter) + { + return letter switch + { + LetterKey.VK_A => new[] { "ā" }, + LetterKey.VK_E => new[] { "ē" }, + LetterKey.VK_O => new[] { "ō" }, + LetterKey.VK_K => new[] { "ḱ" }, + LetterKey.VK_G => new[] { "ǵ" }, + LetterKey.VK_R => new[] { "r̥" }, + LetterKey.VK_L => new[] { "l̥" }, + LetterKey.VK_M => new[] { "m̥" }, + LetterKey.VK_N => new[] { "n̥" }, + _ => Array.Empty(), + }; + } + // Turkish private static string[] GetDefaultLetterKeyTK(LetterKey letter) { diff --git a/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw b/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw index 7f3b5fdaba..789a94f004 100644 --- a/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw +++ b/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw @@ -3672,6 +3672,9 @@ Activate by holding the key for the character you want to add an accent to, then Pinyin + + Proto Indo European + Polish diff --git a/src/settings-ui/Settings.UI/ViewModels/PowerAccentViewModel.cs b/src/settings-ui/Settings.UI/ViewModels/PowerAccentViewModel.cs index 0c4f9db650..7da5c4ecfb 100644 --- a/src/settings-ui/Settings.UI/ViewModels/PowerAccentViewModel.cs +++ b/src/settings-ui/Settings.UI/ViewModels/PowerAccentViewModel.cs @@ -55,6 +55,7 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels new PowerAccentLanguageModel("MI", "QuickAccent_SelectedLanguage_Maori", LanguageGroup), new PowerAccentLanguageModel("NO", "QuickAccent_SelectedLanguage_Norwegian", LanguageGroup), new PowerAccentLanguageModel("PI", "QuickAccent_SelectedLanguage_Pinyin", LanguageGroup), + new PowerAccentLanguageModel("PIE", "QuickAccent_SelectedLanguage_Proto_Indo_European", LanguageGroup), new PowerAccentLanguageModel("PL", "QuickAccent_SelectedLanguage_Polish", LanguageGroup), new PowerAccentLanguageModel("PT", "QuickAccent_SelectedLanguage_Portuguese", LanguageGroup), new PowerAccentLanguageModel("RO", "QuickAccent_SelectedLanguage_Romanian", LanguageGroup),