From 3dc555455c7117ce606998e56a1269bc13d23e27 Mon Sep 17 00:00:00 2001 From: Angelo Naselli Date: Sat, 2 Jan 2016 19:55:12 +0100 Subject: Settings now can manage localized titles --- lib/ManaTools/MainDisplay.pm | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'lib/ManaTools/MainDisplay.pm') diff --git a/lib/ManaTools/MainDisplay.pm b/lib/ManaTools/MainDisplay.pm index b329a8c9..9437ef0b 100644 --- a/lib/ManaTools/MainDisplay.pm +++ b/lib/ManaTools/MainDisplay.pm @@ -55,6 +55,7 @@ ManaTools::MainDisplay - class for ManaTools main window use Moose; extends qw( ManaTools::Module ); +use I18N::LangTags::Detect; use diagnostics; use ManaTools::SettingsReader; @@ -602,7 +603,30 @@ sub _loadSettings { if (! scalar %{$self->settings()} || $force_load) { my $settingsReader = ManaTools::SettingsReader->new({fileName => $fileName}); - $self->settings($settingsReader->settings()); + + my $settings; + my @lang = I18N::LangTags::Detect::detect(); + my $read = $settingsReader->settings(); + foreach (keys %{$read}) { + my $key = $_; + # localized strings + if ($key eq "title" or $key eq "category_title") { + # default is en + $settings->{$key} = $read->{$key}->{en}; + foreach my $l ( @lang ) { + if ($read->{$key}->{$l}) { + $settings->{$key} = $read->{$key}->{$l}; + last; + } + } + $self->logger()->I($self->loc()->N("%s content is <<%s>>", $key, $settings->{$key})); + } + else { + $settings->{$key} = $read->{$key}; + } + } + + $self->settings($settings); } } -- cgit v1.2.1