summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorintrigeri <intrigeri@boum.org>2008-10-10 13:57:48 +0200
committerintrigeri <intrigeri@boum.org>2008-10-18 15:49:08 +0200
commitc8330da6c050918eaea4a441ba2ed59258f49494 (patch)
tree06daca79e45ffa397eccb6140377bb8d0b3509ae
parent1975d4d35fa47a9f6846d2b4f9c8d1b6fc04ebbf (diff)
po plugin: add po_link_to_current_language option, check config
Signed-off-by: intrigeri <intrigeri@boum.org>
-rw-r--r--IkiWiki/Plugin/po.pm20
1 files changed, 20 insertions, 0 deletions
diff --git a/IkiWiki/Plugin/po.pm b/IkiWiki/Plugin/po.pm
index 933f4d26e..fea4ca6eb 100644
--- a/IkiWiki/Plugin/po.pm
+++ b/IkiWiki/Plugin/po.pm
@@ -13,6 +13,7 @@ use File::Temp;
sub import {
hook(type => "getsetup", id => "po", call => \&getsetup);
+ hook(type => "checkconfig", id => "po", call => \&checkconfig);
hook(type => "targetpage", id => "po", call => \&targetpage);
hook(type => "filter", id => "po", call => \&filter);
hook(type => "preprocess", id => "translatable", call => \&preprocess_translatable);
@@ -45,6 +46,25 @@ sub getsetup () { #{{{
safe => 1,
rebuild => 1,
},
+ po_link_to_current_language => {
+ type => "boolean",
+ example => 1,
+ description => "internal links point to pages in the current language (useful if Content Negotiation is not supported)",
+ safe => 1,
+ rebuild => 1,
+ },
+} #}}}
+
+sub checkconfig () { #{{{
+ foreach my $field (qw{po_master_language po_slave_languages}) {
+ if (! exists $config{$field} || ! defined $config{$field}) {
+ error(sprintf(gettext("Must specify %s"), $field));
+ }
+ }
+ if (! exists $config{po_link_to_current_language} ||
+ ! defined $config{po_link_to_current_language}) {
+ $config{po_link_to_current_language}=0;
+ }
} #}}}
sub targetpage (@) { #{{{