relativedate: Fix problem with localised dates not working.

master
Joey Hess 2010-06-09 16:16:48 -04:00
parent e96cf38ecc
commit 95b45864de
3 changed files with 15 additions and 2 deletions

View 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);

1
debian/changelog vendored
View 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

View 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]]