]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki.pm
response
[git.ikiwiki.info.git] / IkiWiki.pm
index 960d4da990e767837daea2bcfa9de0ff850e6a09..43ef67e8c9ce6ea4824977528a602533962cd47c 100644 (file)
@@ -82,7 +82,7 @@ sub checkconfig () { #{{{
                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}) {
@@ -320,7 +320,7 @@ sub bestlink ($$) { #{{{
        } 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";
@@ -517,6 +517,10 @@ sub preprocess ($$$;$) { #{{{
                        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}).
                                "]]";
@@ -812,13 +816,15 @@ sub file_pruned ($$) { #{{{
        $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;