diff --git a/src/modules/poweraccent/PowerAccent.Core/Languages.cs b/src/modules/poweraccent/PowerAccent.Core/Languages.cs index 567c0ecc2d..207811aaec 100644 --- a/src/modules/poweraccent/PowerAccent.Core/Languages.cs +++ b/src/modules/poweraccent/PowerAccent.Core/Languages.cs @@ -51,6 +51,7 @@ namespace PowerAccent.Core SR_CYRL, SV, TK, + VI, } internal sealed class Languages @@ -113,6 +114,7 @@ namespace PowerAccent.Core Language.SR_CYRL => GetDefaultLetterKeySRCyrillic(letter), // Serbian Cyrillic Language.SV => GetDefaultLetterKeySV(letter), // Swedish Language.TK => GetDefaultLetterKeyTK(letter), // Turkish + Language.VI => GetDefaultLetterKeyVI(letter), // Vietnamese _ => throw new ArgumentException("The language {0} is not known in this context", lang.ToString()), }); } @@ -168,6 +170,7 @@ namespace PowerAccent.Core .Union(GetDefaultLetterKeySRCyrillic(letter)) .Union(GetDefaultLetterKeySV(letter)) .Union(GetDefaultLetterKeyTK(letter)) + .Union(GetDefaultLetterKeyVI(letter)) .Union(GetDefaultLetterKeySPECIAL(letter)) .ToArray(); @@ -890,6 +893,22 @@ namespace PowerAccent.Core }; } + // Vietnamese + private static string[] GetDefaultLetterKeyVI(LetterKey letter) + { + return letter switch + { + LetterKey.VK_A => new[] { "à", "ả", "ã", "á", "ạ", "ă", "ằ", "ẳ", "ẵ", "ắ", "ặ", "â", "ầ", "ẩ", "ẫ", "ấ", "ậ" }, + LetterKey.VK_D => new[] { "đ" }, + LetterKey.VK_E => new[] { "è", "ẻ", "ẽ", "é", "ẹ", "ê", "ề", "ể", "ễ", "ế", "ệ" }, + LetterKey.VK_I => new[] { "ì", "ỉ", "ĩ", "í", "ị" }, + LetterKey.VK_O => new[] { "ò", "ỏ", "õ", "ó", "ọ", "ô", "ồ", "ổ", "ỗ", "ố", "ộ", "ơ", "ờ", "ở", "ỡ", "ớ", "ợ" }, + LetterKey.VK_U => new[] { "ù", "ủ", "ũ", "ú", "ụ", "ư", "ừ", "ử", "ữ", "ứ", "ự" }, + LetterKey.VK_Y => new[] { "ỳ", "ỷ", "ỹ", "ý", "ỵ" }, + _ => Array.Empty(), + }; + } + // IPA (International Phonetic Alphabet) private static string[] GetDefaultLetterKeyIPA(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 f9b971816c..368984e6c0 100644 --- a/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw +++ b/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw @@ -3566,6 +3566,9 @@ Activate by holding the key for the character you want to add an accent to, then Turkish + + Vietnamese + Icelandic diff --git a/src/settings-ui/Settings.UI/ViewModels/PowerAccentViewModel.cs b/src/settings-ui/Settings.UI/ViewModels/PowerAccentViewModel.cs index 320f23c4ae..c8b1f9d907 100644 --- a/src/settings-ui/Settings.UI/ViewModels/PowerAccentViewModel.cs +++ b/src/settings-ui/Settings.UI/ViewModels/PowerAccentViewModel.cs @@ -67,6 +67,7 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels new PowerAccentLanguageModel("SR_CYRL", "QuickAccent_SelectedLanguage_Serbian_Cyrillic", LanguageGroup), new PowerAccentLanguageModel("SV", "QuickAccent_SelectedLanguage_Swedish", LanguageGroup), new PowerAccentLanguageModel("TK", "QuickAccent_SelectedLanguage_Turkish", LanguageGroup), + new PowerAccentLanguageModel("VI", "QuickAccent_SelectedLanguage_Vietnamese", LanguageGroup), new PowerAccentLanguageModel("CY", "QuickAccent_SelectedLanguage_Welsh", LanguageGroup), ];