eval q{use POSIX};
error($@) if $@;
$ENV{LANG} = $config{locale}
- if POSIX::setlocale(&POSIX::LC_TIME, $config{locale});
+ if POSIX::setlocale(&POSIX::LC_ALL, $config{locale});
}
if ($config{w3mmode}) {
} while $cwd=~s!/?[^/]+$!!;
if (length $config{userdir} && exists $links{"$config{userdir}/".lc($link)}) {
- return $links{"$config{userdir}/".lc($link)};
+ return "$config{userdir}/".lc($link);
}
#print STDERR "warning: page $page, broken link: $link\n";
if ($preprocessing{$page}++ > 3) {
# Avoid loops of preprocessed pages preprocessing
# other pages that preprocess them, etc.
+ #translators: The first parameter is a
+ #translators: preprocessor directive name,
+ #translators: the second a page name, the
+ #translators: third a number.
return "[[".sprintf(gettext("%s preprocessing loop detected on %s at depth %i"),
$command, $page, $preprocessing{$page}).
"]]";
$file =~ m/$regexp/;
} #}}}
+my $gettext_obj;
sub gettext { #{{{
# Only use gettext in the rare cases it's needed.
- # This overrides future calls of this function.
if (exists $ENV{LANG} || exists $ENV{LC_ALL} || exists $ENV{LC_MESSAGES}) {
- eval q{use Locale::gettext};
- textdomain('ikiwiki');
- return Locale::gettext::gettext(shift);
+ if (! $gettext_obj) {
+ eval q{use Locale::gettext ''};
+ $gettext_obj=Locale::gettext->domain('ikiwiki');
+ }
+ return $gettext_obj->get(shift);
}
else {
return shift;