Skip to content

Commit 7d14dab

Browse files
committed
Refactor localization handling across multiple pages
- Updated LocalizationHelper to set default language to English (en-US) and added method to change language dynamically. - Replaced direct ResourceLoader usage with LocalizationHelper in AboutPage, EqualizadorEfeitosPage, HomePage, PerfisPage, and SettingsPage for better localization management. - Enhanced error handling in localization to fallback to hardcoded messages if resource loading fails. - Added localized strings for various UI elements and messages to improve user experience.
1 parent b50f843 commit 7d14dab

11 files changed

+1083
-125
lines changed

Fulcrum/Bu/GerenciadorPerfis.cs

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using System.Threading.Tasks;
66
using Fulcrum.Util;
77
using Windows.Storage;
8+
using Microsoft.Windows.ApplicationModel.Resources;
89

910
namespace Fulcrum.Bu;
1011

@@ -233,10 +234,20 @@ public PerfilSom CriarPerfilDaConfigAtual(string nome, string descricao)
233234
/// <summary>
234235
/// Cria um perfil com todas as configurações padrão
235236
/// </summary>
237+
/// <param name="nome">Nome opcional do perfil (usa valor localizado se não especificado)</param>
236238
/// <returns>Perfil de som com valores padrão</returns>
237-
public PerfilSom CriarPerfilPadrao(string nome = "Perfil Padrão")
239+
public PerfilSom CriarPerfilPadrao(string? nome = null)
238240
{
239-
var perfil = new PerfilSom(nome, "Configurações padrão para todos os sons");
241+
// Se o nome não for fornecido, usa o valor do recurso localizado
242+
if (string.IsNullOrEmpty(nome))
243+
{
244+
nome = LocalizationHelper.GetString("DefaultProfileName", "Perfil Padrão");
245+
}
246+
247+
// Obtém a descrição localizada
248+
string descricao = LocalizationHelper.GetString("DefaultProfileDescription", "Configurações padrão para todos os sons");
249+
250+
var perfil = new PerfilSom(nome, descricao);
240251

241252
// Configura valores iniciais para todos os sons conhecidos
242253
perfil.DefinirVolumeSom(Constantes.Sons.Chuva, 0.2f);

Fulcrum/MainWindow.xaml.cs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -610,22 +610,27 @@ private void ApplySystemLanguage()
610610
{
611611
try
612612
{
613+
// Inicializa o LocalizationHelper
614+
LocalizationHelper.Initialize();
615+
613616
// Obtém o idioma preferido do usuário
614-
//string currentLanguage = Windows.System.UserProfile.GlobalizationPreferences.Languages[0];
615-
string currentLanguage = "en-US"; // Para fins de teste, forçando o inglês
617+
string currentLanguage = Windows.System.UserProfile.GlobalizationPreferences.Languages[0];
616618

617-
// Se não for português ou inglês, usa o inglês como padrão
618-
if (currentLanguage.StartsWith("en") || !currentLanguage.StartsWith("pt"))
619+
// Se não for português, usa o inglês como padrão
620+
if (!currentLanguage.StartsWith("pt"))
619621
{
620622
currentLanguage = "en-US";
621623
}
622-
else if (currentLanguage.StartsWith("pt"))
624+
else
623625
{
624626
currentLanguage = "pt-BR";
625627
}
626628

627-
// Define o idioma para a aplicação
628-
Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = currentLanguage;
629+
// Define o idioma para a aplicação
630+
Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = currentLanguage;
631+
632+
// Define o mesmo idioma no LocalizationHelper
633+
LocalizationHelper.SetLanguage(currentLanguage);
629634

630635
System.Diagnostics.Debug.WriteLine($"[IDIOMA] Aplicando idioma: {currentLanguage}");
631636
}

0 commit comments

Comments
 (0)