[Slim-Checkins] r11738 - in /trunk/server/Slim/Utils: DateTime.pm Strings.pm
mherger at svn.slimdevices.com
mherger at svn.slimdevices.com
Tue Apr 10 12:36:19 PDT 2007
Author: mherger
Date: Tue Apr 10 12:36:19 2007
New Revision: 11738
URL: http://svn.slimdevices.com?rev=11738&view=rev
Log:
Bug: 2726, 4678
Description: call setlocale(LC_TIME...) only once when we set/change the language
Modified:
trunk/server/Slim/Utils/DateTime.pm
trunk/server/Slim/Utils/Strings.pm
Modified: trunk/server/Slim/Utils/DateTime.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Utils/DateTime.pm?rev=11738&r1=11737&r2=11738&view=diff
==============================================================================
--- trunk/server/Slim/Utils/DateTime.pm (original)
+++ trunk/server/Slim/Utils/DateTime.pm Tue Apr 10 12:36:19 2007
@@ -8,7 +8,7 @@
use strict;
use Date::Parse;
-use POSIX qw(strftime setlocale LC_TIME);
+use POSIX qw(strftime);
use Slim::Utils::Prefs;
use Slim::Utils::Unicode;
@@ -35,6 +35,8 @@
# remove the leading zeros for single digit dates and hours
# where a | is specified in the format
+# The LC_TIME is set in ::Strings when we select a language.
+
=head2 longDateF( $time, $format )
Returns a string of the time passed (or current time if none passed),
@@ -48,14 +50,8 @@
my $time = shift || time();
my $format = shift || Slim::Utils::Prefs::get('longdateFormat');
- # change LC_TIME temporarily to the user's language
- my $locale = setlocale(LC_TIME);
- setlocale( LC_TIME, Slim::Utils::Strings::string('LOCALE' . (Slim::Utils::OSDetect::OS() eq 'win' ? '_WIN' : '')) );
-
my $date = strftime($format, localtime($time));
$date =~ s/\|0*//;
-
- setlocale(LC_TIME, $locale);
return Slim::Utils::Unicode::utf8decode_locale($date);
}
Modified: trunk/server/Slim/Utils/Strings.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Utils/Strings.pm?rev=11738&r1=11737&r2=11738&view=diff
==============================================================================
--- trunk/server/Slim/Utils/Strings.pm (original)
+++ trunk/server/Slim/Utils/Strings.pm Tue Apr 10 12:36:19 2007
@@ -40,6 +40,7 @@
our @EXPORT_OK = qw(string);
+use POSIX qw(setlocale LC_TIME);
use File::Spec::Functions qw(:ALL);
use Storable;
@@ -64,6 +65,7 @@
sub init {
$currentLang = getLanguage();
loadStrings();
+ setLocale();
if ($::checkstrings) {
checkChangedStrings();
@@ -412,6 +414,7 @@
$currentLang = $lang;
loadStrings({'ignoreCache' => 1});
+ setLocale();
for my $client ( Slim::Player::Client::clients() ) {
$client->display->displayStrings(clientStrings($client));
@@ -472,4 +475,9 @@
Slim::Utils::Timers::setTimer(undef, time + 1, \&checkChangedStrings);
}
+sub setLocale {
+ setlocale( LC_TIME, string('LOCALE' . (Slim::Utils::OSDetect::OS() eq 'win' ? '_WIN' : '') ) );
+}
+
+
1;
More information about the checkins
mailing list