diff options
| author | Andreas Brachold <vdr07@deltab.de> | 2010-05-08 16:12:55 +0000 |
|---|---|---|
| committer | Andreas Brachold <vdr07@deltab.de> | 2010-05-08 16:12:55 +0000 |
| commit | bfcd27e23bfb909c67b7983047637190598db7b7 (patch) | |
| tree | 486b592aae82e14b00608b9814f48ec52817d75c | |
| parent | 2e3fa06ba9286c4d94073e0607ff5e1d83a2c2a2 (diff) | |
| download | xxv-bfcd27e23bfb909c67b7983047637190598db7b7.tar.gz xxv-bfcd27e23bfb909c67b7983047637190598db7b7.tar.bz2 | |
update localisation detection(Bug #17082)
| -rwxr-xr-x | bin/xxvd | 10 | ||||
| -rw-r--r-- | etc/xxvd.cfg.example | 1 | ||||
| -rw-r--r-- | lib/Tools.pm | 14 | ||||
| -rw-r--r-- | lib/XXV/OUTPUT/Html.pm | 2 |
4 files changed, 16 insertions, 11 deletions
@@ -42,7 +42,7 @@ $|++; my $REV = (split(/ /, '$Revision$'))[1]; my $MODULES; -my $VERSION = '1.6'; +my $VERSION = '1.6.1'; my $VDRVERSION = 0; my $DBVERSION = 0; my $CLEANUP; @@ -479,10 +479,13 @@ sub init_locale { # ------------------ my $paths = shift || return error('No path defined!'); + my $lang = "C"; setlocale (LC_ALL, ''); #From environment like 'export LANG="fr_FR"'; my $current_locale = setlocale (LC_MESSAGES); - debug sprintf('Current locale is set to %s', $current_locale); + $lang = (split(/\.|\@/, $current_locale))[0] if($current_locale); + + debug sprintf('Current locale is set to %s (%s)', $current_locale, $lang); my $charset; # Check for environment with UTF-8 @@ -496,7 +499,8 @@ sub init_locale { } else { $charset = 'ISO-8859-1'; } - setcharset($charset); + + setcharset($charset, $lang); # TODO set to installed folder like /usr/share/locale # set /usr/share/locale/de/LC_MESSAGES/xxv.mo diff --git a/etc/xxvd.cfg.example b/etc/xxvd.cfg.example index b5a9156..967ba7f 100644 --- a/etc/xxvd.cfg.example +++ b/etc/xxvd.cfg.example @@ -29,7 +29,6 @@ ysize=360 [General] DSN=DBI:mysql:database=xxv;host=localhost;port=3306 -Language=de_DE PWD=xxv USR=xxv initscript=/etc/init.d/xxvd diff --git a/lib/Tools.pm b/lib/Tools.pm index 77aa655..5a1bcc0 100644 --- a/lib/Tools.pm +++ b/lib/Tools.pm @@ -27,6 +27,7 @@ our $LOGCALLB = sub{ }; our $DBH = {}; our $LOCALE; our $CHARSET; +our $LANGUAGE = "C"; # PAL use 25, NTFS use 30 frames per seconds use constant FRAMESPERSECOND => 25; @@ -325,12 +326,12 @@ sub tableUpdated { my $dbversion = shift || return error('No version of database defined!'); my $drop = shift || 0; - # remove old Version, if updated
- if(tableExists($dbh, $table)) {
+ # remove old Version, if updated + if(tableExists($dbh, $table)) { my $tableversion = tableStatus($dbh, $table,'Comment'); if(!$tableversion || $tableversion ne $dbversion) { if($drop) { - lg sprintf('Remove old version from database table %s',$table);
+ lg sprintf('Remove old version from database table %s',$table); $dbh->do(sprintf('drop table %s',$table)) or return panic sprintf("Couldn't drop table %s - %s",$table, $DBI::errstr); } else { @@ -345,8 +346,8 @@ or use the script contrib/update-xxv to upgrade the database! ,$tableversion ? $tableversion : 0 ,$dbversion); return 0; - }
- }
+ } + } } return 1; } @@ -751,8 +752,9 @@ sub frame2hms() { return sprintf('%d:%02d:%02d.%02d', $hour, $min, $sec, $frame); } -sub setcharset($) { +sub setcharset { $CHARSET = shift; + $LANGUAGE = shift; } ################################################################################ diff --git a/lib/XXV/OUTPUT/Html.pm b/lib/XXV/OUTPUT/Html.pm index 0d3cfeb..c6118eb 100644 --- a/lib/XXV/OUTPUT/Html.pm +++ b/lib/XXV/OUTPUT/Html.pm @@ -198,7 +198,7 @@ sub parseTemplateFile { charset => $self->{charset}, skin => $self->{SkinName}, # query the current locale - locale => main::getGeneralConfig->{Language}, + locale => $Tools::LANGUAGE, allow => sub{ my($cmdobj, $cmdname, $se, $err) = $u->checkCommand($self, $_[0],"1"); return $cmdobj; |
