From 95b45864debe8070e8229cc7def21aef5447f541 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 9 Jun 2010 16:16:48 -0400 Subject: [PATCH] relativedate: Fix problem with localised dates not working. --- IkiWiki/Plugin/relativedate.pm | 7 +++++-- debian/changelog | 1 + ...47__relativedate_depends_on_locale_at_setup_file.mdwn | 9 +++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/IkiWiki/Plugin/relativedate.pm b/IkiWiki/Plugin/relativedate.pm index 179f9238c..c9280ef14 100644 --- a/IkiWiki/Plugin/relativedate.pm +++ b/IkiWiki/Plugin/relativedate.pm @@ -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); diff --git a/debian/changelog b/debian/changelog index 66d525572..fdf111168 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 Mon, 31 May 2010 20:44:17 -0400 diff --git a/doc/bugs/plugins__47__relativedate_depends_on_locale_at_setup_file.mdwn b/doc/bugs/plugins__47__relativedate_depends_on_locale_at_setup_file.mdwn index db009fa19..e2ea3e4f6 100644 --- a/doc/bugs/plugins__47__relativedate_depends_on_locale_at_setup_file.mdwn +++ b/doc/bugs/plugins__47__relativedate_depends_on_locale_at_setup_file.mdwn @@ -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]] -- 2.26.2