summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2010-07-11 19:47:02 +0200
committerJonas Smedegaard <dr@jones.dk>2010-07-11 19:47:02 +0200
commitc4e8008965cfa559d3884e3f8efff96fb54a2477 (patch)
tree7489b7d842a3b680c9ff84a429f69e7f62a431e5
parentbc2b44033c71ca7f5af9c83cb08c82097878e216 (diff)
parentcc664f282400169a489e901e06ee87a32599d0d0 (diff)
Merge branch '_da' into da
Conflicts: Makefile (manually resolved)
-rw-r--r--.gitignore4
-rw-r--r--.gitmodules12
-rw-r--r--Makefile18
-rw-r--r--README10
m---------basewiki0
m---------directives0
-rw-r--r--make/rules.mk41
-rw-r--r--perl/Locale/Po4a/Text.pm337
-rw-r--r--po/basewiki.da.po1514
-rw-r--r--po/basewiki.pot480
-rw-r--r--po/directives.pot768
-rw-r--r--po/smiley.da.po98
-rw-r--r--po/smiley.pot92
-rw-r--r--po/templates.da.po86
m---------smiley0
m---------templates0
16 files changed, 2078 insertions, 1382 deletions
diff --git a/.gitignore b/.gitignore
index 8749894..1cd49d1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,14 +1,10 @@
-/basewiki
/basewiki_l10n
/basewiki_nonedit
/basewiki_nonedit_l10n
/content
/content_dummy
-/directives
/directives_l10n
-/smiley
/smiley_l10n
-/templates
/templates_l10n
/templates_nonedit
/templates_nonedit_l10n
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..4c34cde
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,12 @@
+[submodule "basewiki"]
+ path = basewiki
+ url = git://source.jones.dk/ikiwiki/basewiki
+[submodule "directives"]
+ path = directives
+ url = git://source.jones.dk/ikiwiki/directives
+[submodule "smiley"]
+ path = smiley
+ url = git://source.jones.dk/ikiwiki/smiley
+[submodule "templates"]
+ path = templates
+ url = git://source.jones.dk/ikiwiki/templates
diff --git a/Makefile b/Makefile
index 0f06ae2..3731f93 100644
--- a/Makefile
+++ b/Makefile
@@ -1,16 +1,9 @@
SOURCES = ikiwiki
ikiwiki_VERSION = 2.62.1
-# Git origin (with capital MOULE replaced or stripped as needed)
-ikiwiki_ORIGIN = git://source.jones.dk/ikiwiki_MODULE
-# Git branch (with capital FLAVOR and LOCALE replaced or stripped as needed)
-ikiwiki_BRANCH = master-FLAVOR-LOCALE
-# modules (subproject extension names) used. Expands Git ORIGINs
+# modules (subproject extension names) used. Expands SOURCES
ikiwiki_MODULES = templates basewiki smiley directives
-# flavors used. Expands Git BRANCHes
-#ikiwiki_basewiki_FLAVORS = nonedit
-#ikiwiki_templates_FLAVORS = nonedit
-# locales used. Expands Git BRANCHes
+# locales used. Expands SOURCES
ikiwiki_LOCALES = da
# gettext-based modules and locales used
#ikiwiki_POMODULES = basewiki smiley directives
@@ -30,7 +23,12 @@ flavordir = $(module)_$(flavor)
flavorl10ndir = $(module)_$(flavor)_l10n/$(locale)
podir = po
-all: $(SOURCES)
+all: init $(SOURCES)
+
+init:
+ git submodule init
+ git submodule update
+ touch init
install::
ifeq ($(strip $(CONFIGS)),)
diff --git a/README b/README
index 3becd90..5f4302c 100644
--- a/README
+++ b/README
@@ -25,16 +25,6 @@ To pull in all translatable and translated parts, do this:
make
-If you have write access to one or more GIT repositories, you can override
-their locations like this:
-
- make ikiwiki_ORIGIN=debian@source.jones.dk:/srv/git/source.jones.dk/ikiwiki_MODULE.git
-
-To remove all translatable and translated parts, and anything else below those
-directories without warning, do this:
-
- make ultraclean
-
Customizing
-----------
diff --git a/basewiki b/basewiki
new file mode 160000
+Subproject b1fadc6eacaacb4d892b495e15ff82e9ba36c63
diff --git a/directives b/directives
new file mode 160000
+Subproject 6634fec4377c1d358edc87c3819c280a9e27338
diff --git a/make/rules.mk b/make/rules.mk
index 38fdbff..226d37d 100644
--- a/make/rules.mk
+++ b/make/rules.mk
@@ -3,7 +3,7 @@ HTMLTEMPLATE = text
# 1:source 2:locales
define SOURCE_template
-$(1): $$($(1)_MODULES) $(dummy_MODULES)
+$(1): init $$($(1)_MODULES) $(dummy_MODULES)
.PHONY: $(1)
endef
@@ -11,45 +11,6 @@ $(foreach source,$(SOURCES),$(eval $(call SOURCE_template,$(source),$($(source)_
-# Initially clone, and later pull, all Git repositories:
-# * Clone master branches from remote origin
-# * Clone each non-master from local master
-
-# 1:moduledir 2:locale 3:mastermodule 4:source 5:flavor
-define MODULE_template
-$(3)_BRANCHES += $$(subst -FLAVOR,$(5:%=-$(5)),$$(subst -LOCALE,$(2:%=-$(2)),$$($(4)_BRANCH)))
-
-$(4): $(1)
-ifneq ($(2),)
-$(1): $$(subst module,$(3),$$(masterdir))
-endif
-
-$(1): origin = $$(if $(2)$(5),$(3),$$(subst MODULE,$(3),$$($(4)_ORIGIN)))
-$(1): master = $$(subst -FLAVOR,$(5:%=-$(5)),$$(subst -LOCALE,$(2:%=-$(2)),$$($(4)_BRANCH)))
-$(1): branches = $$(if $(2)$(5),,$$(filter-out $$(master),$$($(3)_BRANCHES)))
-$(1):
- @[ -d "$$(dir $$@)" ] || ( echo mkdir -p "$$(dir $$@)" && mkdir -p "$$(dir $$@)" )
- @[ -d "$$@" ] || ( echo git clone -o "$(4)" "$$(origin)" "$$@" && git clone -o "$(4)" "$$(origin)" "$$@" )
- @$(MAKE) -f "$$(CURDIR)/make/git.mk" -C "$$@" master="$$(master)" branches="$$(branches)" origin="$(4)" update
-
-# WARNING: this may wipe unrelated files too!
-ultraclean::
- rm -rf "$(1)"
-ifneq ($(2),)
- rm -rf "$(dir $(1))"
-endif
-
-.PHONY: $(1)
-endef
-$(foreach source,$(SOURCES),$(foreach module,$($(source)_MODULES),$(eval $(call MODULE_template,$(masterdir),,$(module),$(source)))))
-$(foreach source,$(SOURCES),$(foreach module,$($(source)_MODULES),$(foreach locale,$($(source)_LOCALES),$(eval $(call MODULE_template,$(l10ndir),$(locale),$(module),$(source))))))
-#$(foreach source,$(SOURCES),$(foreach module,$($(source)_MODULES),$(foreach flavor,$(patsubst $(module)-%,%,$($(source)_MODULEFLAVORS)),$(eval $(call MODULE_template,$(flavordir),,$(module),$(source),$(flavor))))))
-#$(foreach source,$(SOURCES),$(foreach module,$($(source)_MODULES),$(foreach flavor,$(patsubst $(module)-%,%,$($(source)_MODULEFLAVORS)),$(foreach locale,$($(source)_LOCALES),$(eval $(call MODULE_template,$(flavorl10ndir),$(locale),$(module),$(source),$(flavor)))))))
-$(foreach source,$(SOURCES),$(foreach module,$($(source)_MODULES),$(foreach flavor,$($(source)_$(module)_FLAVORS),$(eval $(call MODULE_template,$(flavordir),,$(module),$(source),$(flavor))))))
-$(foreach source,$(SOURCES),$(foreach module,$($(source)_MODULES),$(foreach flavor,$($(source)_$(module)_FLAVORS),$(foreach locale,$($(source)_LOCALES),$(eval $(call MODULE_template,$(flavorl10ndir),$(locale),$(module),$(source),$(flavor)))))))
-
-
-
# Override po4a with local Markdown-supportive text module
export PERL5LIB = $(CURDIR)/perl
diff --git a/perl/Locale/Po4a/Text.pm b/perl/Locale/Po4a/Text.pm
index 32f9dec..d9fcc88 100644
--- a/perl/Locale/Po4a/Text.pm
+++ b/perl/Locale/Po4a/Text.pm
@@ -100,6 +100,18 @@ Handle some special markup in Markdown-formatted texts.
my $markdown = 0;
+=item B<asciidoc>
+
+Handle documents in the asciidoc format.
+
+=cut
+
+my $asciidoc = 0;
+
+=back
+
+=cut
+
sub initialize {
my $self = shift;
my %options = @_;
@@ -121,6 +133,8 @@ sub initialize {
if (defined $options{'markdown'}) {
$markdown=1;
}
+
+ $asciidoc=1 if (defined $options{'asciidoc'});
}
sub parse {
@@ -143,7 +157,6 @@ sub parse {
$expect_header = 1;
}
- # TODO: preserve original line ends throughout the code instead
chomp($line);
$self->{ref}="$ref";
if ($debianchangelog and
@@ -166,19 +179,294 @@ sub parse {
$line =~ m/^%%?\s*$/) {
# Found end of fortune
do_paragraph($self,$paragraph,$wrapped_mode);
- # FIXME: test if this is still needed when always adding
- # newline in do_paragraph()
$self->pushline("\n") unless ( $wrapped_mode == 0
or $paragraph eq "");
$paragraph="";
$wrapped_mode = 1;
$self->pushline("$line\n");
+ } elsif ( (defined $self->{verbatim})
+ and ($self->{verbatim} == 2)) {
+ # Untranslated blocks
+ $self->pushline($line."\n");
+ if ($asciidoc and
+ ($line =~ m/^(\/{4,}|~{4,})$/)) {
+ undef $self->{verbatim};
+ undef $self->{type};
+ $wrapped_mode = 1;
+ }
} elsif ($line =~ /^\s*$/) {
# Break paragraphs on lines containing only spaces
do_paragraph($self,$paragraph,$wrapped_mode);
$paragraph="";
+ $wrapped_mode = 1 unless defined($self->{verbatim});
+ $self->pushline($line."\n");
+ } elsif ($asciidoc and (not defined($self->{verbatim})) and
+ ($line =~ m/^(\+|--)$/)) {
+ # List Item Continuation or List Block
+ do_paragraph($self,$paragraph,$wrapped_mode);
+ $paragraph="";
+ $self->pushline($line."\n");
+ } elsif ($asciidoc and (not defined($self->{verbatim})) and
+ ($line =~ m/^(={4,}|-{4,}|~{4,}|\^{4,}|\+{4,})$/) and
+ (defined($paragraph) )and
+ ($paragraph =~ m/^[^\n]*\n$/s) and
+ (length($paragraph) == (length($line)+1))) {
+ # Found title
+ $wrapped_mode = 0;
+ my $level = $line;
+ $level =~ s/^(.).*$/$1/;
+ my $t = $self->translate($paragraph,
+ $self->{ref},
+ "Title $level",
+ "wrap" => 0);
+ $self->pushline($t);
+ $paragraph="";
+ $wrapped_mode = 1;
+ $self->pushline(($level x (length($t)-1))."\n");
+ } elsif ($asciidoc and
+ ($line =~ m/^(={1,5})( +)(.*?)( +\1)?$/)) {
+ my $titlelevel1 = $1;
+ my $titlespaces = $2;
+ my $title = $3;
+ my $titlelevel2 = $4||"";
+ # Found one line title
+ do_paragraph($self,$paragraph,$wrapped_mode);
+ $wrapped_mode = 0;
+ $paragraph="";
+ my $t = $self->translate($title,
+ $self->{ref},
+ "Title $titlelevel1",
+ "wrap" => 0);
+ $self->pushline($titlelevel1.$titlespaces.$t.$titlelevel2."\n");
+ $wrapped_mode = 1;
+ } elsif ($asciidoc and
+ ($line =~ m/^(\/{4,}|\+{4,}|-{4,}|\.{4,}|\*{4,}|_{4,}|={4,}|~{4,})$/)) {
+ # Found one delimited block
+ my $t = $line;
+ $t =~ s/^(.).*$/$1/;
+ my $type = "delimited block $t";
+ if (defined $self->{verbatim} and ($self->{type} ne $type)) {
+ $paragraph .= "$line\n";
+ } else {
+ do_paragraph($self,$paragraph,$wrapped_mode);
+ if ( (defined $self->{type})
+ and ($self->{type} eq $type)) {
+ undef $self->{type};
+ undef $self->{verbatim};
+ $wrapped_mode = 1;
+ } else {
+ if ($t eq "\/") {
+ # CommentBlock, should not be treated
+ $self->{verbatim} = 2;
+ } elsif ($t eq "+") {
+ # PassthroughBlock
+ $wrapped_mode = 0;
+ $self->{verbatim} = 1;
+ } elsif ($t eq "-") {
+ # ListingBlock
+ $wrapped_mode = 0;
+ $self->{verbatim} = 1;
+ } elsif ($t eq ".") {
+ # LiteralBlock
+ $wrapped_mode = 0;
+ $self->{verbatim} = 1;
+ } elsif ($t eq "*") {
+ # SidebarBlock
+ $wrapped_mode = 1;
+ } elsif ($t eq "_") {
+ # QuoteBlock
+ if ( (defined $self->{type})
+ and ($self->{type} eq "verse")) {
+ $wrapped_mode = 0;
+ $self->{verbatim} = 1;
+ } else {
+ $wrapped_mode = 1;
+ }
+ } elsif ($t eq "=") {
+ # ExampleBlock
+ $wrapped_mode = 1;
+ } elsif ($t eq "~") {
+ # Filter blocks, TBC: not translated
+ $wrapped_mode = 0;
+ $self->{verbatim} = 2;
+ }
+ $self->{type} = $type;
+ }
+ $paragraph="";
+ $self->pushline($line."\n");
+ }
+ } elsif ($asciidoc and not defined $self->{verbatim} and
+ ($line =~ m/^\[\[([^\]]*)\]\]$/)) {
+ # Found BlockId
+ do_paragraph($self,$paragraph,$wrapped_mode);
+ $paragraph="";
+ $wrapped_mode = 1;
+ $self->pushline($line."\n");
+ undef $self->{bullet};
+ undef $self->{indent};
+ } elsif ($asciidoc and not defined $self->{verbatim} and
+ ($paragraph eq "") and
+ ($line =~ m/^((?:NOTE|TIP|IMPORTANT|WARNING|CAUTION):\s+)(.*)$/)) {
+ my $type = $1;
+ my $text = $2;
+ do_paragraph($self,$paragraph,$wrapped_mode);
+ $paragraph=$text."\n";
+ $wrapped_mode = 1;
+ $self->pushline($type);
+ undef $self->{bullet};
+ undef $self->{indent};
+ } elsif ($asciidoc and not defined $self->{verbatim} and
+ ($line =~ m/^\[(NOTE|TIP|IMPORTANT|WARNING|CAUTION|verse|quote)\]$/)) {
+ my $type = $1;
+ do_paragraph($self,$paragraph,$wrapped_mode);
+ $paragraph="";
$wrapped_mode = 1;
$self->pushline($line."\n");
+ if ($type eq "verse") {
+ $wrapped_mode = 0;
+ }
+ undef $self->{bullet};
+ undef $self->{indent};
+ } elsif ($asciidoc and not defined $self->{verbatim} and
+ ($line =~ m/^\[(verse|quote), +(.*)\]$/)) {
+ my $type = $1;
+ my $arg = $2;
+ do_paragraph($self,$paragraph,$wrapped_mode);
+ $paragraph="";
+ my $t = $self->translate($arg,
+ $self->{ref},
+ "$type",
+ "wrap" => 0);
+ $self->pushline("[$type, $t]\n");
+ $wrapped_mode = 1;
+ if ($type eq "verse") {
+ $wrapped_mode = 0;
+ }
+ $self->{type} = $type;
+ undef $self->{bullet};
+ undef $self->{indent};
+ } elsif ($asciidoc and not defined $self->{verbatim} and
+ ($line =~ m/^\[icon="(.*)"\]$/)) {
+ my $arg = $1;
+ do_paragraph($self,$paragraph,$wrapped_mode);
+ $paragraph="";
+ my $t = $self->translate($arg,
+ $self->{ref},
+ "icon",
+ "wrap" => 0);
+ $self->pushline("[icon=\"$t\"]\n");
+ $wrapped_mode = 1;
+ undef $self->{bullet};
+ undef $self->{indent};
+ } elsif ($asciidoc and not defined $self->{verbatim} and
+ ($line =~ m/^\[icons=None, +caption="(.*)"\]$/)) {
+ my $arg = $1;
+ do_paragraph($self,$paragraph,$wrapped_mode);
+ $paragraph="";
+ my $t = $self->translate($arg,
+ $self->{ref},
+ "caption",
+ "wrap" => 0);
+ $self->pushline("[icons=None, caption=\"$t\"]\n");
+ $wrapped_mode = 1;
+ undef $self->{bullet};
+ undef $self->{indent};
+ } elsif ($asciidoc and not defined $self->{verbatim} and
+ ($line =~ m/^(\s*)([*_+`'#[:alnum:]].*)((?:::|;;|\?\?|:-)(?: *\\)?)$/)) {
+ my $indent = $1;
+ my $label = $2;
+ my $labelend = $3;
+ # Found labeled list
+ do_paragraph($self,$paragraph,$wrapped_mode);
+ $paragraph="";
+ $wrapped_mode = 1;
+ $self->{bullet} = "";
+ $self->{indent} = $indent;
+ my $t = $self->translate($label,
+ $self->{ref},
+ "Labeled list",
+ "wrap" => 0);
+ $self->pushline("$indent$t$labelend\n");
+ } elsif ($asciidoc and not defined $self->{verbatim} and
+ ($line =~ m/^(\s*)(\S.*)((?:::|;;)\s+)(.*)$/)) {
+ my $indent = $1;
+ my $label = $2;
+ my $labelend = $3;
+ my $labeltext = $4;
+ # Found Horizontal Labeled Lists
+ do_paragraph($self,$paragraph,$wrapped_mode);
+ $paragraph=$labeltext."\n";
+ $wrapped_mode = 1;
+ $self->{bullet} = "";
+ $self->{indent} = $indent;
+ my $t = $self->translate($label,
+ $self->{ref},
+ "Labeled list",
+ "wrap" => 0);
+ $self->pushline("$indent$t$labelend");
+ } elsif ($asciidoc and not defined $self->{verbatim} and
+ ($line =~ m/^\:(\S.*?)(:\s*)(.*)$/)) {
+ my $attrname = $1;
+ my $attrsep = $2;
+ my $attrvalue = $3;
+ # Found a Attribute entry
+ do_paragraph($self,$paragraph,$wrapped_mode);
+ $paragraph="";
+ $wrapped_mode = 1;
+ undef $self->{bullet};
+ undef $self->{indent};
+ my $t = $self->translate($attrvalue,
+ $self->{ref},
+ "Attribute :$attrname:",
+ "wrap" => 0);
+ $self->pushline(":$attrname$attrsep$t\n");
+ } elsif ($asciidoc and not defined $self->{verbatim} and
+ ($line !~ m/^\.\./) and ($line =~ m/^\.(\S.*)$/)) {
+ my $title = $1;
+ # Found block title
+ do_paragraph($self,$paragraph,$wrapped_mode);
+ $paragraph="";
+ $wrapped_mode = 1;
+ undef $self->{bullet};
+ undef $self->{indent};
+ my $t = $self->translate($title,
+ $self->{ref},
+ "Block title",
+ "wrap" => 0);
+ $self->pushline(".$t\n");
+ } elsif ($asciidoc and not defined $self->{verbatim} and
+ ($line =~ m/^(\s*)((?:[-*o+]|(?:[0-9]+[.\)])|(?:[a-z][.\)])|\([0-9]+\)|\.|\.\.)\s+)(.*)$/)) {
+ my $indent = $1||"";
+ my $bullet = $2;
+ my $text = $3;
+ do_paragraph($self,$paragraph,$wrapped_mode);
+ $paragraph = $text."\n";
+ $self->{indent} = $indent;
+ $self->{bullet} = $bullet;
+ } elsif ($asciidoc and not defined $self->{verbatim} and
+ ($line =~ m/^((?:<?[0-9]+)?> +)(.*)$/)) {
+ my $bullet = $1;
+ my $text = $2;
+ do_paragraph($self,$paragraph,$wrapped_mode);
+ $paragraph = $text."\n";
+ $self->{indent} = "";
+ $self->{bullet} = $bullet;
+ } elsif ($asciidoc and not defined $self->{verbatim} and
+ (defined $self->{bullet} and $line =~ m/^(\s+)(.*)$/)) {
+ my $indent = $1;
+ my $text = $2;
+ if (not defined $self->{indent}) {
+ $paragraph .= $text."\n";
+ $self->{indent} = $indent;
+ } elsif (length($paragraph) and (length($self->{bullet}) + length($self->{indent}) == length($indent))) {
+ $paragraph .= $text."\n";
+ } else {
+
+ do_paragraph($self,$paragraph,$wrapped_mode);
+ $paragraph = $text."\n";
+ $self->{indent} = $indent;
+ $self->{bullet} = "";
+ }
} elsif ($line =~ /^-- $/) {
# Break paragraphs on email signature hint
do_paragraph($self,$paragraph,$wrapped_mode);
@@ -226,6 +514,9 @@ sub parse {
or $line =~ /"""$/)) { # """ textblock inside macro begin
# Markdown markup needing separation _after_ this line
$end_of_paragraph = 1;
+ } else {
+ undef $self->{bullet};
+ undef $self->{indent};
}
if ($fortunes) {
$line =~ s/%%(.*)$//;
@@ -265,9 +556,19 @@ sub parse {
sub do_paragraph {
my ($self, $paragraph, $wrap) = (shift, shift, shift);
+ my $type = shift || $self->{type} || "Plain text";
return if ($paragraph eq "");
- if ($bullets) {
+# DEBUG
+# my $b;
+# if (defined $self->{bullet}) {
+# $b = $self->{bullet};
+# } else {
+# $b = "UNDEF";
+# }
+# $type .= " verbatim: '".($self->{verbatim}||"NONE")."' bullet: '$b' indent: '".($self->{indent}||"NONE")."' type: '".($self->{type}||"NONE")."'";
+
+ if ($bullets and not $wrap and not defined $self->{verbatim}) {
# Detect bullets
# | * blah blah
# |<spaces> blah
@@ -312,18 +613,24 @@ TEST_BULLET:
}
}
}
- # TODO: detect indented paragraphs
- my $transfinal = $self->translate($paragraph,
- $self->{ref},
- "Plain text",
- "wrap" => $wrap);
-
- # TODO: preserve original line ends throughout the code instead
- chomp $transfinal;
- $transfinal .= "\n";
-
- $self->pushline( $transfinal );
+ my $end = "";
+ if ($wrap) {
+ $paragraph =~ s/^(.*?)(\n*)$/$1/s;
+ $end = $2 || "";
+ }
+ my $t = $self->translate($paragraph,
+ $self->{ref},
+ $type,
+ "wrap" => $wrap);
+ if (defined $self->{bullet}) {
+ my $bullet = $self->{bullet};
+ my $indent1 = $self->{indent};
+ my $indent2 = $indent1.(' ' x length($bullet));
+ $t =~ s/^/$indent1$bullet/s;
+ $t =~ s/\n(.)/\n$indent2$1/sg;
+ }
+ $self->pushline( $t.$end );
}
1;
diff --git a/po/basewiki.da.po b/po/basewiki.da.po
index 98895cf..6faea93 100644
--- a/po/basewiki.da.po
+++ b/po/basewiki.da.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: ikiwiki basewiki 2.62.1\n"
-"POT-Creation-Date: 2008-10-22 22:49+0300\n"
+"POT-Creation-Date: 2009-05-25 23:02+0300\n"
"PO-Revision-Date: 2008-10-22 23:49+0100\n"
"Last-Translator: Jonas Smedegaard <dr@jones.dk>\n"
"Language-Team: none\n"
@@ -14,67 +14,68 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-# type: Plain text
-#: directive.mdwn:1
-#: ikiwiki.mdwn:1
-#: ikiwiki/blog.mdwn:1
-#: ikiwiki/directive.mdwn:1
-#: ikiwiki/formatting.mdwn:2
-#: ikiwiki/markdown.mdwn:1
-#: ikiwiki/openid.mdwn:2
-#: ikiwiki/pagespec.mdwn:1
-#: ikiwiki/pagespec/attachment.mdwn:1
-#: ikiwiki/preprocessordirective.mdwn:2
-#: ikiwiki/searching.mdwn:1
-#: ikiwiki/subpage.mdwn:1
-#: ikiwiki/subpage/linkingrules.mdwn:1
-#: ikiwiki/wikilink.mdwn:1
+#. type: Plain text
+#: directive.mdwn:1 ikiwiki.mdwn:1 ikiwiki/blog.mdwn:1
+#: ikiwiki/directive.mdwn:1 ikiwiki/formatting.mdwn:2 ikiwiki/markdown.mdwn:1
+#: ikiwiki/openid.mdwn:2 ikiwiki/pagespec.mdwn:1
+#: ikiwiki/pagespec/attachment.mdwn:1 ikiwiki/preprocessordirective.mdwn:2
+#: ikiwiki/searching.mdwn:1 ikiwiki/subpage.mdwn:1
+#: ikiwiki/subpage/linkingrules.mdwn:1 ikiwiki/wikilink.mdwn:1
#: templates.mdwn:1
#, no-wrap
msgid "[[!meta robots=\"noindex, follow\"]]\n"
msgstr "[[!meta robots=\"noindex, follow\"]]\n"
-# type: Plain text
-#: directive.mdwn:4
-#: ikiwiki/directive.mdwn:4
-msgid "Directives are similar to a [[ikiwiki/WikiLink]] in form, except they begin with `!` and may contain parameters. The general form is:"
-msgstr "Direktiver ligner et [[ikiwiki/WikiLink]] i form, undtagen at de begynder med `!` og kan indeholde parametre. Generelt er formen:"
+#. type: Plain text
+#: directive.mdwn:4 ikiwiki/directive.mdwn:4
+msgid ""
+"Directives are similar to a [[ikiwiki/WikiLink]] in form, except they begin "
+"with `!` and may contain parameters. The general form is:"
+msgstr ""
+"Direktiver ligner et [[ikiwiki/WikiLink]] i form, undtagen at de begynder "
+"med `!` og kan indeholde parametre. Generelt er formen:"
-# type: Plain text
-#: directive.mdwn:6
-#: ikiwiki/directive.mdwn:6
+#. type: Plain text
+#: directive.mdwn:6 ikiwiki/directive.mdwn:6
#, no-wrap
msgid "\t\\[[!directive param=\"value\" param=\"value\"]]\n"
msgstr "\t\\[[!direktiv param=\"værdi\" param=\"værdi\"]]\n"
-# type: Plain text
-#: directive.mdwn:9
-#: ikiwiki/directive.mdwn:9
-msgid "This gets expanded before the rest of the page is processed, and can be used to transform the page in various ways."
-msgstr "Dette udvides før resten af siden udarbejdes, og kan bruges til at omforme siden på forskellige måder."
+#. type: Plain text
+#: directive.mdwn:9 ikiwiki/directive.mdwn:9
+msgid ""
+"This gets expanded before the rest of the page is processed, and can be used "
+"to transform the page in various ways."
+msgstr ""
+"Dette udvides før resten af siden udarbejdes, og kan bruges til at omforme "
+"siden på forskellige måder."
-# type: Plain text
-#: directive.mdwn:12
-#: ikiwiki/directive.mdwn:12
-msgid "The quotes around values can be omitted if the value is a simple word. Also, some directives may use parameters without values, for example:"
-msgstr "Citationen omkring værdier kan udelades hvis værdien er et simpelt ord. Desuden kan nogle direktiver bruge parametre uden værdier. Eksempel:"
+#. type: Plain text
+#: directive.mdwn:12 ikiwiki/directive.mdwn:12
+msgid ""
+"The quotes around values can be omitted if the value is a simple word. "
+"Also, some directives may use parameters without values, for example:"
+msgstr ""
+"Citationen omkring værdier kan udelades hvis værdien er et simpelt ord. "
+"Desuden kan nogle direktiver bruge parametre uden værdier. Eksempel:"
-# type: Plain text
-#: directive.mdwn:14
-#: ikiwiki/directive.mdwn:14
+#. type: Plain text
+#: directive.mdwn:14 ikiwiki/directive.mdwn:14
#, no-wrap
msgid "\t\\[[!tag foo]]\n"
msgstr "\t\\[[!tag foo]]\n"
-# type: Plain text
-#: directive.mdwn:17
-#: ikiwiki/directive.mdwn:17
-msgid "A directive does not need to all be on one line, it can be wrapped to multiple lines if you like:"
-msgstr "Et direktiv behøver ikke at blive holdt på een linje, det kan bredes ud over flere linjer hvis du har lyst:"
+#. type: Plain text
+#: directive.mdwn:17 ikiwiki/directive.mdwn:17
+msgid ""
+"A directive does not need to all be on one line, it can be wrapped to "
+"multiple lines if you like:"
+msgstr ""
+"Et direktiv behøver ikke at blive holdt på een linje, det kan bredes ud over "
+"flere linjer hvis du har lyst:"
-# type: Plain text
-#: directive.mdwn:20
-#: ikiwiki/directive.mdwn:20
+#. type: Plain text
+#: directive.mdwn:20 ikiwiki/directive.mdwn:20
#, no-wrap
msgid ""
"\t\\[[!directive foo=\"baldersnatch\"\n"
@@ -83,65 +84,79 @@ msgstr ""
"\t\\[[!direktiv foo=\"baldersnatch\"\n"
"\tbar=\"supercalifragilisticexpialidocious\" baz=11]]\n"
-# type: Plain text
-#: directive.mdwn:24
-#: ikiwiki/directive.mdwn:24
-msgid "Also, multiple lines of *quoted* text can be used for a value. To allow quote marks inside the quoted text, delimit the block of text with triple-quotes:"
-msgstr "Flere linjer *citeret* tekst kan også bruges som værdi. For at tillade citation i den citerede tekst skal du adskille blokken med trippel-citat:"
+#. type: Plain text
+#: directive.mdwn:24 ikiwiki/directive.mdwn:24
+msgid ""
+"Also, multiple lines of *quoted* text can be used for a value. To allow "
+"quote marks inside the quoted text, delimit the block of text with triple-"
+"quotes:"
+msgstr ""
+"Flere linjer *citeret* tekst kan også bruges som værdi. For at tillade "
+"citation i den citerede tekst skal du adskille blokken med trippel-citat:"
-# type: Plain text
-#: directive.mdwn:25
-#: ikiwiki/directive.mdwn:25
+#. type: Plain text
+#: directive.mdwn:25 ikiwiki/directive.mdwn:25
#, no-wrap
msgid "\t\\[[!directive text=\"\"\"\n"
msgstr "\t\\[[!direktiv tekst=\"\"\"\n"
-# type: Bullet: ' 1. '
-#: directive.mdwn:29
-#: ikiwiki/directive.mdwn:29
+#. type: Bullet: ' 1. '
+#: directive.mdwn:29 ikiwiki/directive.mdwn:29
msgid "\"foo\""
msgstr "\"foo\""
-# type: Bullet: ' 2. '
-#: directive.mdwn:29
-#: ikiwiki/directive.mdwn:29
+#. type: Bullet: ' 2. '
+#: directive.mdwn:29 ikiwiki/directive.mdwn:29
msgid "\"bar\""
msgstr "\"bar\""
-# type: Bullet: ' 3. '
-#: directive.mdwn:29
-#: ikiwiki/directive.mdwn:29
+#. type: Bullet: ' 3. '
+#: directive.mdwn:29 ikiwiki/directive.mdwn:29
msgid "\"baz\""
msgstr "\"baz\""
-# type: Plain text
-#: directive.mdwn:40
-#: ikiwiki/directive.mdwn:40
-msgid "ikiwiki also has an older syntax for directives, which requires a space in directives to distinguish them from [[wikilinks|ikiwiki/wikilink]]. This syntax has several disadvantages: it requires a space after directives with no parameters (such as `\\[[pagecount ]]`), and it prohibits spaces in [[wikilinks|ikiwiki/wikilink]]. ikiwiki now provides the `!`-prefixed syntax shown above as the preferred alternative. However, ikiwiki still supports wikis using the older syntax, if the `prefix_directives` option is not enabled. For backward compatibility with existing wikis, this option currently defaults to off, so ikiwiki supports the old syntax."
-msgstr "Ikiwiki har også en ældre syntaks til direktiver, som kræver et mellemrum i direktiver for at skelne dem fra [[wikilinks|ikiwiki/wikilink]]. Denne syntaks har flere ulemper: den kræver et mellemrum efter direktiver uden parametre (såsom `\\[[pagecount ]]`), og den forbyder mellemrum i [[wikilinks|ikiwiki/wikilink]]. Ikiwiki har nu den `!`-foranstillede syntaks vist ovenfor som det foretrukne alternativ. Ikiwiki understøtter dog fortsat den ældre syntaks, hvis ikke `prefix_directives`-valget er aktiveret. For bagudkompatibilitet med eksisterende wikier er dette valg som standard deaktiveret i øjeblikket, så ikiwiki understøtter den ældre syntaks."
-
-# type: Plain text
-#: directive.mdwn:41
-#: ikiwiki/directive.mdwn:41
-#: ikiwiki/formatting.mdwn:103
+#. type: Plain text
+#: directive.mdwn:40 ikiwiki/directive.mdwn:40
+msgid ""
+"ikiwiki also has an older syntax for directives, which requires a space in "
+"directives to distinguish them from [[wikilinks|ikiwiki/wikilink]]. This "
+"syntax has several disadvantages: it requires a space after directives with "
+"no parameters (such as `\\[[pagecount ]]`), and it prohibits spaces in "
+"[[wikilinks|ikiwiki/wikilink]]. ikiwiki now provides the `!`-prefixed "
+"syntax shown above as the preferred alternative. However, ikiwiki still "
+"supports wikis using the older syntax, if the `prefix_directives` option is "
+"not enabled. For backward compatibility with existing wikis, this option "
+"currently defaults to off, so ikiwiki supports the old syntax."
+msgstr ""
+"Ikiwiki har også en ældre syntaks til direktiver, som kræver et mellemrum i "
+"direktiver for at skelne dem fra [[wikilinks|ikiwiki/wikilink]]. Denne "
+"syntaks har flere ulemper: den kræver et mellemrum efter direktiver uden "
+"parametre (såsom `\\[[pagecount ]]`), og den forbyder mellemrum i "
+"[[wikilinks|ikiwiki/wikilink]]. Ikiwiki har nu den `!`-foranstillede syntaks "
+"vist ovenfor som det foretrukne alternativ. Ikiwiki understøtter dog fortsat "
+"den ældre syntaks, hvis ikke `prefix_directives`-valget er aktiveret. For "
+"bagudkompatibilitet med eksisterende wikier er dette valg som standard "
+"deaktiveret i øjeblikket, så ikiwiki understøtter den ældre syntaks."
+
+#. type: Plain text
+#: directive.mdwn:41 ikiwiki/directive.mdwn:41 ikiwiki/formatting.mdwn:103
#, no-wrap
msgid "[[!if test=\"enabled(listdirectives)\" then=\"\"\"\n"
msgstr "[[!if test=\"enabled(listdirectives)\" then=\"\"\"\n"
-# type: Plain text
-#: directive.mdwn:43
-#: ikiwiki/directive.mdwn:43
+#. type: Plain text
+#: directive.mdwn:43 ikiwiki/directive.mdwn:43
msgid "Here is a list of currently available directives in this wiki:"
-msgstr "Her er en oversigt over konkret tilgængelige direktiver i for denne wiki:"
+msgstr ""
+"Her er en oversigt over konkret tilgængelige direktiver i for denne wiki:"
-# type: Plain text
-#: directive.mdwn:44
-#: ikiwiki/directive.mdwn:44
+#. type: Plain text
+#: directive.mdwn:44 ikiwiki/directive.mdwn:44
#, no-wrap
msgid "[[!listdirectives ]]\n"
msgstr "[[!listdirectives ]]\n"
-# type: Plain text
+#. type: Plain text
#: ikiwiki.mdwn:6
#, no-wrap
msgid ""
@@ -155,179 +170,211 @@ msgstr ""
" then=\"(kører i øjeblikket version [[!version ]].)\"\n"
"]]\n"
-# type: Plain text
+#. type: Plain text
#: ikiwiki.mdwn:8
msgid "Some documentation on using ikiwiki:"
msgstr "Noget dokumentation om brug af ikiwiki:"
-# type: Bullet: '* '
+#. type: Bullet: '* '
#: ikiwiki.mdwn:16
msgid "[[ikiwiki/formatting]]"
msgstr "[[formatering|ikiwiki/formatting]]"
-# type: Bullet: '* '
+#. type: Bullet: '* '
#: ikiwiki.mdwn:16
msgid "[[ikiwiki/wikilin