Skip to content

Commit 33088ef

Browse files
committed
(chocolateyGH-533) Hooking up initialisation to make use of dynamic language changing
1 parent 85dd5a0 commit 33088ef

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

Source/ChocolateyGui/Startup/Internationalization.cs

+11-9
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,26 @@
33
// </copyright>
44

55
using System.Globalization;
6+
using System.Threading;
67
using System.Windows;
78
using System.Windows.Controls;
89
using System.Windows.Documents;
10+
using ChocolateyGui.Utilities;
911

1012
namespace ChocolateyGui.Startup
1113
{
1214
public static class Internationalization
1315
{
1416
public static void Initialize()
1517
{
16-
var lang = System.Windows.Markup.XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag);
17-
FrameworkContentElement.LanguageProperty.OverrideMetadata(typeof(TextElement), new FrameworkPropertyMetadata(lang));
18-
FrameworkContentElement.LanguageProperty.OverrideMetadata(typeof(DefinitionBase), new FrameworkPropertyMetadata(lang));
19-
FrameworkContentElement.LanguageProperty.OverrideMetadata(typeof(FixedDocument), new FrameworkPropertyMetadata(lang));
20-
FrameworkContentElement.LanguageProperty.OverrideMetadata(typeof(FixedDocumentSequence), new FrameworkPropertyMetadata(lang));
21-
FrameworkContentElement.LanguageProperty.OverrideMetadata(typeof(FlowDocument), new FrameworkPropertyMetadata(lang));
22-
FrameworkContentElement.LanguageProperty.OverrideMetadata(typeof(TableColumn), new FrameworkPropertyMetadata(lang));
23-
FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata(lang));
18+
TranslationSource.Instance.CurrentCulture = CultureInfo.CurrentCulture;
19+
}
20+
21+
public static void UpdateLanguage(string languageCode)
22+
{
23+
TranslationSource.Instance.CurrentCulture = CultureInfo.GetCultureInfo(languageCode);
24+
CultureInfo.DefaultThreadCurrentCulture = CultureInfo.DefaultThreadCurrentUICulture = TranslationSource.Instance.CurrentCulture;
25+
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture = CultureInfo.DefaultThreadCurrentCulture;
2426
}
2527
}
26-
}
28+
}

0 commit comments

Comments
 (0)