relativedate: Fix problem with localised dates not working.
authorJoey Hess <joey@kitenet.net>
Wed, 9 Jun 2010 20:16:48 +0000 (16:16 -0400)
committerJoey Hess <joey@kitenet.net>
Wed, 9 Jun 2010 20:16:48 +0000 (16:16 -0400)
IkiWiki/Plugin/relativedate.pm
debian/changelog
doc/bugs/plugins__47__relativedate_depends_on_locale_at_setup_file.mdwn

index 179f9238c97efa990836049e3c6543ceb2d3bc70..c9280ef14799dbecdba10c0bcc259027a245d2fc 100644 (file)
@@ -49,10 +49,13 @@ sub mydisplaytime ($;$$) {
        my $pubdate=shift;
 
        # This needs to be in a form that can be parsed by javascript.
-       # Being fairly human readable is also nice, as it will be exposed
-       # as the title if javascript is not available.
+       # (Being fairly human readable is also nice, as it will be exposed
+       # as the title if javascript is not available.)
+       my $lc_time=POSIX::setlocale(&POSIX::LC_TIME);
+       POSIX::setlocale(&POSIX::LC_TIME, "C");
        my $gmtime=decode_utf8(POSIX::strftime("%a, %d %b %Y %H:%M:%S %z",
                        localtime($time)));
+       POSIX::setlocale(&POSIX::LC_TIME, $lc_time);
 
        my $mid=' class="relativedate" title="'.$gmtime.'">'.
                IkiWiki::formattime($time, $format);
index 66d525572dbaef86557c0664b73c60ea3b6f57fc..fdf111168c1435cf144613cfd469b5a38b94a311 100644 (file)
@@ -7,6 +7,7 @@ ikiwiki (3.20100609) unstable; urgency=low
     when used.
   * Fix support for globbing in tagged() pagespecs.
   * When editing a page, show that page's sidebar. (Thanks, privat)
+  * relativedate: Fix problem with localised dates not working.
 
  -- Joey Hess <joeyh@debian.org>  Mon, 31 May 2010 20:44:17 -0400
 
index db009fa1933c0cf46e1e919a170f21f0cab3b87c..e2ea3e4f6453252033055067d0cb3016ad949f1c 100644 (file)
@@ -3,3 +3,12 @@
 If I switch locale to en_US.UTF-8 then this plugin correctly parses text date and print relative date. But when I mouseover on date I see unusual formating of the date (it uses AM/PM format while russians use 24-h notation).
 
 P.S. All pages but RecentChanges show well-formated date. RecentChanges show date formated using locale. Anyway, plugin does not work without en_US locale.
+
+> [[Fixed|done]]. Now it uses C locale for the date put in the title,
+> that is used by relativedate. The mouseover will display the date in your
+> native locale. 
+> 
+> Only exception is that when javascript is disabled... then
+> relativedate can't work, so instead you will see your localized date
+> displayed; but on mouseover you will get shown the C locale date.
+> --[[Joey]]