diff options
author | Joey Hess <joey@kitenet.net> | 2010-06-09 16:16:48 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2010-06-09 16:16:48 -0400 |
commit | 95b45864debe8070e8229cc7def21aef5447f541 (patch) | |
tree | d04fea5e42c347ad75092417a667b67633f51749 | |
parent | e96cf38eccd219714140f221090d2e7751fd4ee0 (diff) | |
download | ikiwiki-95b45864debe8070e8229cc7def21aef5447f541.tar ikiwiki-95b45864debe8070e8229cc7def21aef5447f541.tar.gz |
relativedate: Fix problem with localised dates not working.
-rw-r--r-- | IkiWiki/Plugin/relativedate.pm | 7 | ||||
-rw-r--r-- | debian/changelog | 1 | ||||
-rw-r--r-- | doc/bugs/plugins__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 <joeyh@debian.org> 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]] |