WIP Settings

This commit is contained in:
Stefan Markovic
2023-08-10 12:49:45 +02:00
parent d844c4d142
commit 2c798c168e
10 changed files with 3861 additions and 8 deletions

View File

@@ -65,6 +65,7 @@
<PackageVersion Include="UnitsNet" Version="4.145.0" />
<PackageVersion Include="Vanara.PInvoke.User32" Version="3.4.11" />
<PackageVersion Include="Vanara.PInvoke.Shell32" Version="3.4.11" />
<PackageVersion Include="WinUI3Localizer" Version="1.0.1" />
<PackageVersion Include="WinUIEx" Version="2.2.0" />
<PackageVersion Include="WPF-UI" Version="3.0.0-preview.4" />
</ItemGroup>

View File

@@ -92,6 +92,7 @@
<RemoveFolder Id="RemoveBaseApplicationsAssetsFolder" Directory="BaseApplicationsAssetsFolder" On="uninstall"/>
<RemoveFolder Id="RemoveWinUI3AppsInstallFolder" Directory="WinUI3AppsInstallFolder" On="uninstall"/>
<RemoveFolder Id="RemoveWinUI3AppsAssetsFolder" Directory="WinUI3AppsAssetsFolder" On="uninstall"/>
<RemoveFolder Id="RemoveWinUI3AppsStringsFolder" Directory="WinUI3AppsStringsFolder" On="uninstall"/>
<RemoveFolder Id="RemoveINSTALLFOLDER" Directory="INSTALLFOLDER" On="uninstall"/>
</Component>
<ComponentRef Id="powertoys_exe" />

View File

@@ -385,8 +385,8 @@
<Directory Id="WinUI3AppsMicrosoftUIXamlInstallFolder" Name="Microsoft.UI.Xaml">
<Directory Id="WinUI3AppsMicrosoftUIXamlAssetsInstallFolder" Name="Assets" />
</Directory>
<Directory Id="WinUI3AppsAssetsFolder" Name="Assets">
</Directory>
<Directory Id="WinUI3AppsAssetsFolder" Name="Assets"/>
<Directory Id="WinUI3AppsStringsFolder" Name="Strings"/>
</Directory>
<Directory Id="ToolsFolder" Name="Tools"/>
</Directory>

View File

@@ -6,6 +6,7 @@
<?define SettingsV2AssetsFiles=?>
<?define SettingsV2AssetsFilesPath=$(var.BinDir)WinUI3Apps\Assets\Settings\?>
<?define SettingsV2StringsFilesPath=$(var.BinDir)WinUI3Apps\Strings\Settings\?>
<?define SettingsV2AssetsModulesFiles=?>
<?define SettingsV2AssetsModulesFilesPath=$(var.BinDir)WinUI3Apps\Assets\Settings\Modules\?>
@@ -16,6 +17,12 @@
<?define SettingsV2OOBEAssetsFluentIconsFiles=?>
<?define SettingsV2OOBEAssetsFluentIconsFilesPath=$(var.BinDir)WinUI3Apps\Assets\Settings\FluentIcons\?>
<?ifdef env.IsPipeline?>
<?define LocLanguageList = cs-CZ;de-DE;en-US;es-ES;fr-FR;hu-HU;it-IT;ja-JP;ko-KR;nl-NL;pl-PL;pt-BR;pt-PT;ru-RU;sv-SE;tr-TR;zh-CN;zh-TW?>
<?else?>
<?define LocLanguageList = de-DE;en-US?>
<?endif?>
<Fragment>
<DirectoryRef Id="WinUI3AppsAssetsFolder">
<Directory Id="SettingsV2AssetsInstallFolder" Name="Settings">
@@ -25,6 +32,86 @@
</Directory>
</Directory>
</DirectoryRef>
<DirectoryRef Id="WinUI3AppsStringsFolder">
<Directory Id="SettingsStringsFolder" Name="Settings" />
</DirectoryRef>
<?foreach Language in $(var.LocLanguageList)?>
<!--NB: Ids can't contain hyphens-->
<?if $(var.Language) = cs-CZ?>
<?define IdSafeLanguage = cs_CZ?>
<?define CompGUID = 715E1991-43CC-4D32-98C8-5BBC9B649FD5?>
<?elseif $(var.Language) = de-DE?>
<?define IdSafeLanguage = de_DE?>
<?define CompGUID = 60EF66F9-7721-4EDB-A0DF-F64F5F2F402A?>
<?elseif $(var.Language) = en-US?>
<?define IdSafeLanguage = en_US?>
<?define CompGUID = 3CEF6FD7-348D-40EC-A75F-6351597CC091?>
<?elseif $(var.Language) = es-ES?>
<?define IdSafeLanguage = es_ES?>
<?define CompGUID = E0A3DD93-18DB-4BAA-A343-E33BFA8FB789?>
<?elseif $(var.Language) = fr-FR?>
<?define IdSafeLanguage = fr_FR?>
<?define CompGUID = A09AC847-F3F1-4C1C-A47D-F60B5218B73D?>
<?elseif $(var.Language) = hu-HU?>
<?define IdSafeLanguage = hu_HU?>
<?define CompGUID = B47DF99E-80FE-4F18-80FD-98085BED74D6?>
<?elseif $(var.Language) = it-IT?>
<?define IdSafeLanguage = it_IT?>
<?define CompGUID = 87DE1759-9749-4205-86D3-EE3F21740E8B?>
<?elseif $(var.Language) = ja-JP?>
<?define IdSafeLanguage = ja_JP?>
<?define CompGUID = DACD7B23-A12C-4469-B35A-F95CD6DD2121?>
<?elseif $(var.Language) = ko-KR?>
<?define IdSafeLanguage = ko_KR?>
<?define CompGUID = 40BBFD14-BF0A-49C6-80A0-8EC564F1CB65?>
<?elseif $(var.Language) = nl-NL?>
<?define IdSafeLanguage = nl_NL?>
<?define CompGUID = 6A6BBAF7-8CFB-458C-A20D-2484B4FB9B5A?>
<?elseif $(var.Language) = pl-PL?>
<?define IdSafeLanguage = pl_PL?>
<?define CompGUID = E03CDC2E-3D8A-4B14-BC70-C66B8C46A2EB?>
<?elseif $(var.Language) = pt-BR?>
<?define IdSafeLanguage = pt_BR?>
<?define CompGUID = FFAA45E5-6933-412A-B0A8-97F59E635419?>
<?elseif $(var.Language) = pt-PT?>
<?define IdSafeLanguage = pt_PT?>
<?define CompGUID = 7ECECEE4-095A-437E-AEDC-95FE77C3065E?>
<?elseif $(var.Language) = ru-RU?>
<?define IdSafeLanguage = ru_RU?>
<?define CompGUID = 30752E37-34DF-4359-B317-AE043015C204?>
<?elseif $(var.Language) = sv-SE?>
<?define IdSafeLanguage = sv_SE?>
<?define CompGUID = 61FF96C4-DADC-4CF2-91FA-60DCAF70DE21?>
<?elseif $(var.Language) = tr-TR?>
<?define IdSafeLanguage = tr_TR?>
<?define CompGUID = 821A28CF-DB00-4CD9-AFCF-B14B00014528?>
<?elseif $(var.Language) = zh-CN?>
<?define IdSafeLanguage = zh_CN?>
<?define CompGUID = 79586358-7BDA-46D4-94A6-99DB8F269630?>
<?elseif $(var.Language) = zh-TW?>
<?define IdSafeLanguage = zh_TW?>
<?define CompGUID = E4686F9A-F347-44B3-9244-BB8A9BE92193?>
<?else?>
<?define IdSafeLanguage = $(var.Language)?>
<?define CompGUID = 19C2DCCC-7A75-47D4-9957-2480D388CA5C?>
<?endif?>
<DirectoryRef Id="SettingsStringsFolder">
<Directory Id="Strings$(var.IdSafeLanguage)Settings" Name="$(var.Language)" />
</DirectoryRef>
<DirectoryRef Id="Strings$(var.IdSafeLanguage)Settings" FileSource="$(var.SettingsV2StringsFilesPath)\$(var.Language)">
<Component Id="Strings$(var.IdSafeLanguage)SettingsComp" Win64="yes" Guid="$(var.CompGUID)">
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
<RegistryValue Type="string" Name="Strings$(var.IdSafeLanguage)SettingsComp" Value="" KeyPath="yes"/>
</RegistryKey>
<File Id="Strings$(var.IdSafeLanguage)SettingsResourceFile" Source="$(var.SettingsV2StringsFilesPath)\$(var.Language)\Resources.resw" />
</Component>
</DirectoryRef>
<?undef IdSafeLanguage?>
<?undef CompGUID?>
<?endforeach?>
<DirectoryRef Id="SettingsV2AssetsInstallFolder" FileSource="$(var.SettingsV2AssetsFilesPath)">
<!-- Generated by generateFileComponents.ps1 -->
<!--SettingsV2AssetsFiles_Component_Def-->
@@ -47,6 +134,51 @@
<ComponentGroup Id="SettingsComponentGroup">
<?foreach Language in $(var.LocLanguageList)?>
<!--NB: Ids can't contain hyphens-->
<?if $(var.Language) = cs-CZ?>
<?define IdSafeLanguage = cs_CZ?>
<?elseif $(var.Language) = de-DE?>
<?define IdSafeLanguage = de_DE?>
<?elseif $(var.Language) = en-US?>
<?define IdSafeLanguage = en_US?>
<?elseif $(var.Language) = es-ES?>
<?define IdSafeLanguage = es_ES?>
<?elseif $(var.Language) = fr-FR?>
<?define IdSafeLanguage = fr_FR?>
<?elseif $(var.Language) = hu-HU?>
<?define IdSafeLanguage = hu_HU?>
<?elseif $(var.Language) = it-IT?>
<?define IdSafeLanguage = it_IT?>
<?elseif $(var.Language) = ja-JP?>
<?define IdSafeLanguage = ja_JP?>
<?elseif $(var.Language) = ko-KR?>
<?define IdSafeLanguage = ko_KR?>
<?elseif $(var.Language) = nl-NL?>
<?define IdSafeLanguage = nl_NL?>
<?elseif $(var.Language) = pl-PL?>
<?define IdSafeLanguage = pl_PL?>
<?elseif $(var.Language) = pt-BR?>
<?define IdSafeLanguage = pt_BR?>
<?elseif $(var.Language) = pt-PT?>
<?define IdSafeLanguage = pt_PT?>
<?elseif $(var.Language) = ru-RU?>
<?define IdSafeLanguage = ru_RU?>
<?elseif $(var.Language) = sv-SE?>
<?define IdSafeLanguage = sv_SE?>
<?elseif $(var.Language) = tr-TR?>
<?define IdSafeLanguage = tr_TR?>
<?elseif $(var.Language) = zh-CN?>
<?define IdSafeLanguage = zh_CN?>
<?elseif $(var.Language) = zh-TW?>
<?define IdSafeLanguage = zh_TW?>
<?else?>
<?define IdSafeLanguage = $(var.Language)?>
<?endif?>
<ComponentRef Id="Strings$(var.IdSafeLanguage)SettingsComp" />
<?undef IdSafeLanguage?>
<?endforeach?>
<Component Id="RemoveSettingsFolder" Guid="2D3AEF68-4E5A-4FF9-A5C0-9E53391AC754" Directory="SettingsV2AssetsInstallFolder" >
<RegistryKey Root="$(var.RegistryScope)" Key="Software\Classes\powertoys\components">
<RegistryValue Type="string" Name="RemoveSettingsFolder" Value="" KeyPath="yes"/>
@@ -55,6 +187,7 @@
<RemoveFolder Id="RemoveFolderSettingsV2OOBEAssetsFluentIconsInstallFolder" Directory="SettingsV2OOBEAssetsFluentIconsInstallFolder" On="uninstall"/>
<RemoveFolder Id="RemoveFolderSettingsV2AssetsModulesInstallFolder" Directory="SettingsV2AssetsModulesInstallFolder" On="uninstall"/>
<RemoveFolder Id="RemoveFolderSettingsV2OOBEAssetsModulesInstallFolder" Directory="SettingsV2OOBEAssetsModulesInstallFolder" On="uninstall"/>
<RemoveFolder Id="RemoveFolderSettingsStringsFolder" Directory="SettingsStringsFolder" On="uninstall"/>
</Component>
</ComponentGroup>

View File

@@ -0,0 +1,37 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
using System.IO;
using System.Threading.Tasks;
using Windows.Storage;
using WinUI3Localizer;
namespace Microsoft.PowerToys.Settings.UI.Helpers
{
internal static class LocalizerInstance
{
internal static ILocalizer Instance { get; private set; }
static LocalizerInstance()
{
InitializeLocalizer().Wait();
}
private static async Task InitializeLocalizer()
{
// Initialize a "Strings" folder in the executables folder.
string stringsPath = Path.Combine(AppContext.BaseDirectory, "Strings", "Settings");
Instance = await new LocalizerBuilder()
.AddStringResourcesFolderForLanguageDictionaries(stringsPath)
.SetOptions(options =>
{
options.DefaultLanguage = "de-DE";
options.UseUidWhenLocalizedStringNotFound = true;
})
.Build();
}
}
}

View File

@@ -82,8 +82,9 @@
<PackageReference Include="Microsoft.Windows.CsWinRT" />
<PackageReference Include="CommunityToolkit.WinUI.UI" />
<PackageReference Include="CommunityToolkit.WinUI.UI.Controls" />
<PackageReference Include="WinUIEx" />
<PackageReference Include="Microsoft.WindowsAppSDK" />
<PackageReference Include="WinUIEx" />
<PackageReference Include="WinUI3Localizer" />
<PackageReference Include="Microsoft.WindowsAppSDK" />
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" />
<PackageReference Include="Microsoft.Xaml.Behaviors.WinUI.Managed" />
<PackageReference Include="StreamJsonRpc" />
@@ -122,5 +123,10 @@
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="RD /S /Q &quot;$(ProjectDir)$(OutDir)Strings\Settings\&quot;&#xD;&#xA;" />
<Exec Command="xcopy &quot;$(ProjectDir)Strings\&quot; &quot;$(ProjectDir)$(OutDir)Strings\Settings\&quot; /S&#xD;&#xA;" />
</Target>
</Project>

View File

@@ -9,7 +9,7 @@
xmlns:winuiex="using:WinUIEx"
xmlns:i="using:Microsoft.Xaml.Interactivity"
xmlns:ic="using:Microsoft.Xaml.Interactions.Core"
Title="PowerToys Settings"
Title="PowerToys a a a a a a aSettings"
IsAlwaysOnTop="True"
IsMaximizable="False"
IsMinimizable="False"

View File

@@ -13,6 +13,7 @@ using Microsoft.UI;
using Microsoft.UI.Windowing;
using Microsoft.UI.Xaml;
using Windows.Data.Json;
using WinUI3Localizer;
using WinUIEx;
namespace Microsoft.PowerToys.Settings.UI
@@ -51,7 +52,7 @@ namespace Microsoft.PowerToys.Settings.UI
NativeMethods.SetWindowPlacement(hWnd, ref placement);
var loader = Helpers.ResourceLoaderInstance.ResourceLoader;
Title = loader.GetString("SettingsWindow_Title");
Title = LocalizerInstance.Instance.GetLocalizedString("SettingsWindow_Title");
// send IPC Message
ShellPage.SetDefaultSndMessageCallback(msg =>

File diff suppressed because it is too large Load Diff

View File

@@ -2151,7 +2151,7 @@ From there, simply click on one of the supported files in the File Explorer and
<value>Welcome to PowerToys</value>
</data>
<data name="SettingsWindow_Title" xml:space="preserve">
<value>PowerToys Settings</value>
<value>ORIDJINALEEE</value>
</data>
<data name="Awake.ModuleTitle" xml:space="preserve">
<value>Awake</value>
@@ -3569,7 +3569,7 @@ Activate by holding the key for the character you want to add an accent to, then
<comment>px = pixels</comment>
</data>
<data name="SettingsWindow_TitleTxt.Text" xml:space="preserve">
<value>PowerToys Settings</value>
<value>ORIDJIDJI</value>
</data>
<data name="Oobe_Peek.Description" xml:space="preserve">
<value>A lightning fast file preview feature for Windows.</value>