diff options
author | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2006-12-29 04:38:40 +0000 |
---|---|---|
committer | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2006-12-29 04:38:40 +0000 |
commit | 912521ef0711204965aa2319d41c7741bd3f4f4c (patch) | |
tree | b0a3d21ddfc0b7ca4a8deaa26135d7c3309d3471 /IkiWiki.pm | |
parent | d05d052bff599327cf43b6f00e337197f1d2ab18 (diff) |
* Initial work on internationalization of the program code. po/ikiwiki.pot
is available for translation.
* Export gettext() from IkiWiki module.
Diffstat (limited to 'IkiWiki.pm')
-rw-r--r-- | IkiWiki.pm | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm index b6a2a3649..faca32835 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -14,7 +14,7 @@ use vars qw{%config %links %oldlinks %oldpagemtime %pagectime %pagecase use Exporter q{import}; our @EXPORT = qw(hook debug error template htmlpage add_depends pagespec_match bestlink htmllink readfile writefile pagetype srcfile pagename - displaytime will_render + displaytime will_render gettext %config %links %renderedfiles %pagesources); our $VERSION = 1.01; # plugin interface version @@ -96,7 +96,7 @@ sub checkconfig () { #{{{ } if ($config{cgi} && ! length $config{url}) { - error("Must specify url to wiki with --url when using --cgi\n"); + error(gettext("Must specify url to wiki with --url when using --cgi")); } $config{wikistatedir}="$config{srcdir}/.ikiwiki" @@ -139,7 +139,8 @@ sub loadplugin ($) { #{{{ sub error ($) { #{{{ if ($config{cgi}) { print "Content-type: text/html\n\n"; - print misctemplate("Error", "<p>Error: @_</p>"); + print misctemplate(gettext("Error"), + "<p>".gettext("Error").": @_</p>"); } log_message(error => @_); exit(1); @@ -510,7 +511,9 @@ sub preprocess ($$$;$) { #{{{ if ($preprocessing{$page}++ > 3) { # Avoid loops of preprocessed pages preprocessing # other pages that preprocess them, etc. - return "[[$command preprocessing loop detected on $page at depth $preprocessing{$page}]]"; + return "[[".sprintf(gettext("%s preprocessing loop detected on %s at depth %i"), + $command, $page, $preprocessing{$page}). + "]]"; } my $ret=$hooks{preprocess}{$command}{call}->( @params, @@ -803,6 +806,19 @@ sub file_pruned ($$) { #{{{ $file =~ m/$regexp/; } #}}} +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); + } + else { + return shift; + } +} #}}} + sub pagespec_match ($$) { #{{{ my $page=shift; my $spec=shift; |