diff options
| author | Angelo Naselli <anaselli@linux.it> | 2016-01-02 19:55:12 +0100 |
|---|---|---|
| committer | Angelo Naselli <anaselli@linux.it> | 2016-01-02 19:56:06 +0100 |
| commit | 3dc555455c7117ce606998e56a1269bc13d23e27 (patch) | |
| tree | eb1d7110f78d44f2bd8eb80ed25f0625c232f34e /lib/ManaTools/MainDisplay.pm | |
| parent | 1039a2b971224c4dfa2e972085759a041c678931 (diff) | |
| download | manatools-3dc555455c7117ce606998e56a1269bc13d23e27.tar manatools-3dc555455c7117ce606998e56a1269bc13d23e27.tar.gz manatools-3dc555455c7117ce606998e56a1269bc13d23e27.tar.bz2 manatools-3dc555455c7117ce606998e56a1269bc13d23e27.tar.xz manatools-3dc555455c7117ce606998e56a1269bc13d23e27.zip | |
Settings now can manage localized titles
Diffstat (limited to 'lib/ManaTools/MainDisplay.pm')
| -rw-r--r-- | lib/ManaTools/MainDisplay.pm | 26 |
1 files changed, 25 insertions, 1 deletions
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); } } |
