aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2010-06-09 16:16:48 -0400
committerJoey Hess <joey@kitenet.net>2010-06-09 16:16:48 -0400
commit95b45864debe8070e8229cc7def21aef5447f541 (patch)
treed04fea5e42c347ad75092417a667b67633f51749
parente96cf38eccd219714140f221090d2e7751fd4ee0 (diff)
downloadikiwiki-95b45864debe8070e8229cc7def21aef5447f541.tar
ikiwiki-95b45864debe8070e8229cc7def21aef5447f541.tar.gz
relativedate: Fix problem with localised dates not working.
-rw-r--r--IkiWiki/Plugin/relativedate.pm7
-rw-r--r--debian/changelog1
-rw-r--r--doc/bugs/plugins__47__relativedate_depends_on_locale_at_setup_file.mdwn9
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]]