terminal/src/cascadia/TerminalSettingsEditor
Leonard Hecker e34897cd1f
Add a language switcher using PrimaryLanguageOverride (#10309)
## Summary of the Pull Request

This PR adds a global "language" setting, which may be set to any supported BCP 47 tag.
Additionally a ComboBox is added to the settings UI under "Appearance", listing all languages with their localized names.

This PR introduces one new issue: If you change the language while the app is running, the UI will be in a torn state, as not all UI elements refresh automatically if the `PrimaryLanguageOverride` is changed.

## PR Checklist
* [x] Closes #5497
* [x] I work here
* [x] Tests added/passed
* [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx
* [x] Schema updated

## Validation Steps Performed

* UI language changes when changing the "language" in settings.json before starting WT / while WT is running. ✔️
* "language" field is removed from settings.json if "Use system default" is selected. ✔️
* "language" field is added or updated in settings.json if any other language is selected. ✔️
* Removes qps- languages if debugFeatures is false. ✔️
* Correctly refreshes all UI elements with the new language. 
2021-06-10 23:24:21 +00:00
..
Resources/en-US Add a language switcher using PrimaryLanguageOverride (#10309) 2021-06-10 23:24:21 +00:00
Actions.cpp Polish code for actions page (#10173) 2021-06-03 22:49:44 +00:00
Actions.h Polish code for actions page (#10173) 2021-06-03 22:49:44 +00:00
Actions.idl Polish code for actions page (#10173) 2021-06-03 22:49:44 +00:00
Actions.xaml Polish code for actions page (#10173) 2021-06-03 22:49:44 +00:00
AddProfile.cpp Create a new page for "Add new profile" in the SUI (#9352) 2021-05-05 04:15:25 +00:00
AddProfile.h Create a new page for "Add new profile" in the SUI (#9352) 2021-05-05 04:15:25 +00:00
AddProfile.idl Create a new page for "Add new profile" in the SUI (#9352) 2021-05-05 04:15:25 +00:00
AddProfile.xaml Revert "Add the profile, page icons to the page headers (#10046)" (#10124) 2021-05-18 17:35:50 -05:00
ColorLightenConverter.cpp Persist selected color scheme on navigation; Don't gray-out color swatches (#8799) 2021-01-19 19:18:07 +00:00
ColorLightenConverter.h Persist selected color scheme on navigation; Don't gray-out color swatches (#8799) 2021-01-19 19:18:07 +00:00
ColorSchemes.cpp Terminal color picker tweaks (#10219) 2021-06-10 15:49:52 +00:00
ColorSchemes.h Terminal color picker tweaks (#10219) 2021-06-10 15:49:52 +00:00
ColorSchemes.idl Redesign color schemes page (#9196) 2021-02-19 18:20:04 +00:00
ColorSchemes.xaml Terminal color picker tweaks (#10219) 2021-06-10 15:49:52 +00:00
ColorToBrushConverter.cpp Introduce the Terminal Settings Editor (#8048) 2020-12-11 13:47:10 -08:00
ColorToBrushConverter.h Introduce the Terminal Settings Editor (#8048) 2020-12-11 13:47:10 -08:00
ColorToHexConverter.cpp Introduce the Terminal Settings Editor (#8048) 2020-12-11 13:47:10 -08:00
ColorToHexConverter.h Introduce the Terminal Settings Editor (#8048) 2020-12-11 13:47:10 -08:00
CommonResources.xaml Polish code for actions page (#10173) 2021-06-03 22:49:44 +00:00
Converters.idl Add percentage sign to opacity slider values (#10369) 2021-06-09 22:45:06 +00:00
EnumEntry.h Replace some of our macros to reduce confusion, increase success (#9376) 2021-03-04 11:27:03 -08:00
EnumEntry.idl Enable text search on combo boxes (#9206) 2021-02-19 18:11:07 +00:00
FontWeightConverter.cpp Introduce the Terminal Settings Editor (#8048) 2020-12-11 13:47:10 -08:00
FontWeightConverter.h Introduce the Terminal Settings Editor (#8048) 2020-12-11 13:47:10 -08:00
GlobalAppearance.cpp Add a language switcher using PrimaryLanguageOverride (#10309) 2021-06-10 23:24:21 +00:00
GlobalAppearance.h Add a language switcher using PrimaryLanguageOverride (#10309) 2021-06-10 23:24:21 +00:00
GlobalAppearance.idl Add a language switcher using PrimaryLanguageOverride (#10309) 2021-06-10 23:24:21 +00:00
GlobalAppearance.xaml Add a language switcher using PrimaryLanguageOverride (#10309) 2021-06-10 23:24:21 +00:00
Interaction.cpp Rename Microsoft.Terminal.TerminalControl to .Control; Split into dll & lib (#9472) 2021-03-17 20:47:24 +00:00
Interaction.h Rename Microsoft.Terminal.TerminalControl to .Control; Split into dll & lib (#9472) 2021-03-17 20:47:24 +00:00
Interaction.idl Add missing settings to the settings UI (#8774) 2021-01-14 23:57:59 +00:00
Interaction.xaml Add a setting to disable URL detection (#10022) 2021-05-17 04:20:09 +00:00
InvertedBooleanConverter.cpp Polish settings UI localized text (#9124) 2021-02-19 14:27:30 -08:00
InvertedBooleanConverter.h Polish settings UI localized text (#9124) 2021-02-19 14:27:30 -08:00
InvertedBooleanToVisibilityConverter.cpp Add UI for adding, renaming, and deleting a color scheme (#8403) 2020-12-17 23:14:07 +00:00
InvertedBooleanToVisibilityConverter.h Polish settings UI localized text (#9124) 2021-02-19 14:27:30 -08:00
Launch.cpp Implement UI for choosing default terminal inside Settings page (#9907) 2021-04-28 10:43:30 +00:00
Launch.h Implement UI for choosing default terminal inside Settings page (#9907) 2021-04-28 10:43:30 +00:00
Launch.idl Implement UI for choosing default terminal inside Settings page (#9907) 2021-04-28 10:43:30 +00:00
Launch.xaml Correct Default Application Selector styles for high contrast and to change with OS theme dark/light toggle (#10185) 2021-05-26 05:39:26 +00:00
MainPage.cpp Fix profile selection upon discarding changes in SUI (#10147) 2021-05-21 12:34:25 -05:00
MainPage.h Fix some places where we weren't using winrt::make (#10335) 2021-06-04 22:22:06 +00:00
MainPage.idl Propagate the hosting HWND to the new IFileDialogs (#9789) 2021-04-12 16:55:51 +00:00
MainPage.xaml Revert "Add the profile, page icons to the page headers (#10046)" (#10124) 2021-05-18 17:35:50 -05:00
Microsoft.Terminal.Settings.Editor.def Introduce the Terminal Settings Editor (#8048) 2020-12-11 13:47:10 -08:00
Microsoft.Terminal.Settings.Editor.vcxproj Add percentage sign to opacity slider values (#10369) 2021-06-09 22:45:06 +00:00
Microsoft.Terminal.Settings.Editor.vcxproj.filters Add percentage sign to opacity slider values (#10369) 2021-06-09 22:45:06 +00:00
packages.config Update C++/WinRT to 2.0.210309.3 (#9437) 2021-03-10 16:04:59 -06:00
PaddingConverter.cpp Add a slider for the padding setting in the SUI (#8851) 2021-01-26 02:22:24 +00:00
PaddingConverter.h Add a slider for the padding setting in the SUI (#8851) 2021-01-26 02:22:24 +00:00
pch.cpp Introduce the Terminal Settings Editor (#8048) 2020-12-11 13:47:10 -08:00
pch.h Add a language switcher using PrimaryLanguageOverride (#10309) 2021-06-10 23:24:21 +00:00
PercentageConverter.cpp Introduce the Terminal Settings Editor (#8048) 2020-12-11 13:47:10 -08:00
PercentageConverter.h Introduce the Terminal Settings Editor (#8048) 2020-12-11 13:47:10 -08:00
PercentageSignConverter.cpp Add percentage sign to opacity slider values (#10369) 2021-06-09 22:45:06 +00:00
PercentageSignConverter.h Add percentage sign to opacity slider values (#10369) 2021-06-09 22:45:06 +00:00
PreviewConnection.cpp Show a preview of the control in the SUI (#9527) 2021-05-16 21:26:47 -05:00
PreviewConnection.h Show a preview of the control in the SUI (#9527) 2021-05-16 21:26:47 -05:00
Profiles.cpp Add a setting to flash the pane when BEL is emitted (#9270) 2021-05-24 22:51:03 +00:00
Profiles.h Add a setting to flash the pane when BEL is emitted (#9270) 2021-05-24 22:51:03 +00:00
Profiles.idl Add a setting to flash the pane when BEL is emitted (#9270) 2021-05-24 22:51:03 +00:00
Profiles.xaml Add percentage sign to opacity slider values (#10369) 2021-06-09 22:45:06 +00:00
Rendering.cpp Introduce the Terminal Settings Editor (#8048) 2020-12-11 13:47:10 -08:00
Rendering.h Replace some of our macros to reduce confusion, increase success (#9376) 2021-03-04 11:27:03 -08:00
Rendering.idl Introduce the Terminal Settings Editor (#8048) 2020-12-11 13:47:10 -08:00
Rendering.xaml Auto-format our XAML files and enforce in CI (#9589) 2021-03-29 17:09:38 -05:00
SettingContainer.cpp Add support for a profile to specify an "unfocused" appearance (#8392) 2021-04-08 22:46:16 +00:00
SettingContainer.h Make Actions page editable (#9949) 2021-05-18 21:37:16 +00:00
SettingContainer.idl Introduce setting override tracking and update SettingContainer (#9079) 2021-02-19 23:50:52 +00:00
SettingContainerStyle.xaml Auto-format our XAML files and enforce in CI (#9589) 2021-03-29 17:09:38 -05:00
StringIsEmptyConverter.cpp Polish the Background Image settings (#8778) 2021-01-18 22:34:07 +00:00
StringIsEmptyConverter.h Polish the Background Image settings (#8778) 2021-01-18 22:34:07 +00:00
StringIsNotDesktopConverter.cpp Polish the Background Image settings (#8778) 2021-01-18 22:34:07 +00:00
StringIsNotDesktopConverter.h Polish the Background Image settings (#8778) 2021-01-18 22:34:07 +00:00
Utils.cpp Introduce the Terminal Settings Editor (#8048) 2020-12-11 13:47:10 -08:00
Utils.h Make Actions page editable (#9949) 2021-05-18 21:37:16 +00:00
ViewModelHelpers.h Polish code for actions page (#10173) 2021-06-03 22:49:44 +00:00
ViewModelHelpers.idl.h Introduce setting override tracking and update SettingContainer (#9079) 2021-02-19 23:50:52 +00:00