diff --git a/WinUI3Localizer.SampleApp/App.xaml.cs b/WinUI3Localizer.SampleApp/App.xaml.cs index 0cdc8da..438ecd2 100644 --- a/WinUI3Localizer.SampleApp/App.xaml.cs +++ b/WinUI3Localizer.SampleApp/App.xaml.cs @@ -26,7 +26,7 @@ public App() protected override async void OnLaunched(LaunchActivatedEventArgs args) { - await InitializeLocalizer(); + await InitializeWinUI3Localizer(); this.window = Host.Services.GetRequiredService(); this.window.Activate(); @@ -107,34 +107,16 @@ private static IHost BuildHost() .Build(); } - /// - /// Creates default Resources.resw files for WinUI3Localizer. - /// - private async Task InitializeLocalizer() + private static async Task InitializeWinUI3Localizer() { #if IS_NON_PACKAGED - // Initialize a "Strings" folder in the executables folder. - StringsFolderPath = Path.Combine(AppContext.BaseDirectory, "Strings"); - StorageFolder stringsFolder = await StorageFolder.GetFolderFromPathAsync(StringsFolderPath); + PrepareEnvironmentForWinUI3LocalizerOnNonPackagedApp(); #else - // Initialize a "Strings" folder in the "LocalFolder" for the packaged app. - StorageFolder localFolder = ApplicationData.Current.LocalFolder; - StorageFolder stringsFolder = await localFolder.CreateFolderAsync("Strings", CreationCollisionOption.OpenIfExists); - StringsFolderPath = stringsFolder.Path; - - // Create string resources file from app resources if doesn't exists. - await MakeSureStringResourceFileExists(stringsFolder, "en-US", "Resources.resw"); - await MakeSureStringResourceFileExists(stringsFolder, "en-US", "ErrorMessages.resw"); - await MakeSureStringResourceFileExists(stringsFolder, "es-ES", "Resources.resw"); - await MakeSureStringResourceFileExists(stringsFolder, "es-ES", "ErrorMessages.resw"); - await MakeSureStringResourceFileExists(stringsFolder, "ja", "Resources.resw"); - await MakeSureStringResourceFileExists(stringsFolder, "ja", "ErrorMessages.resw"); + await PrepareEnvironmentForWinUI3LocalizerOnPackagedApp(); #endif - ILocalizer localizer = await new LocalizerBuilder() - .AddPriResourcesForLanguageDictionaries(new[] { "en-US", "es-ES", "ja" } ) - .AddPriResourcesForLanguageDictionaries(new[] { "en-US", "es-ES", "ja" }, "ErrorMessages") - //.AddStringResourcesFolderForLanguageDictionaries(StringsFolderPath) + _ = await new LocalizerBuilder() + .AddStringResourcesFolderForLanguageDictionaries(StringsFolderPath) //.SetLogger(Host.Services // .GetRequiredService() // .CreateLogger()) @@ -159,4 +141,27 @@ private async Task InitializeLocalizer() //})) .Build(); } -} \ No newline at end of file +#if IS_NON_PACKAGED + private static void PrepareEnvironmentForWinUI3LocalizerOnNonPackagedApp() + { + // Initialize a "Strings" folder in the executables folder. + StringsFolderPath = Path.Combine(AppContext.BaseDirectory, "Strings"); + } +#else + private static async Task PrepareEnvironmentForWinUI3LocalizerOnPackagedApp() + { + // Initialize a "Strings" folder in the "LocalFolder" for the packaged app. + StorageFolder localFolder = ApplicationData.Current.LocalFolder; + StorageFolder stringsFolder = await localFolder.CreateFolderAsync("Strings", CreationCollisionOption.OpenIfExists); + StringsFolderPath = stringsFolder.Path; + + // Create string resources file from app resources if doesn't exists. + await MakeSureStringResourceFileExists(stringsFolder, "en-US", "Resources.resw"); + await MakeSureStringResourceFileExists(stringsFolder, "en-US", "ErrorMessages.resw"); + await MakeSureStringResourceFileExists(stringsFolder, "es-ES", "Resources.resw"); + await MakeSureStringResourceFileExists(stringsFolder, "es-ES", "ErrorMessages.resw"); + await MakeSureStringResourceFileExists(stringsFolder, "ja", "Resources.resw"); + await MakeSureStringResourceFileExists(stringsFolder, "ja", "ErrorMessages.resw"); + } +#endif +} diff --git a/WinUI3Localizer.SampleApp/WinUI3Localizer.SampleApp.csproj b/WinUI3Localizer.SampleApp/WinUI3Localizer.SampleApp.csproj index 9c9e671..928b849 100644 --- a/WinUI3Localizer.SampleApp/WinUI3Localizer.SampleApp.csproj +++ b/WinUI3Localizer.SampleApp/WinUI3Localizer.SampleApp.csproj @@ -1,13 +1,13 @@ WinExe - net7.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.17763.0 WinUI3Localizer.SampleApp app.manifest x86;x64;arm64 - win10-x86;win10-x64;win10-arm64 - win10-$(Platform).pubxml + win-x86;win-x64;win-arm64 + win-$(Platform).pubxml true true latest @@ -43,18 +43,18 @@ - + - - - - - - - - - - + + + + + + + + + +