[Po4a-commits] r2677 - in /trunk: lib/Locale/Po4a/AsciiDoc.pm t/data-30/Attributes.asciidoc t/data-30/Attributes.po t/data-30/DelimitedBlocks.asciidoc t/data-30/DelimitedBlocks.po

barbier at users.alioth.debian.org barbier at users.alioth.debian.org
Fri Oct 26 22:19:22 UTC 2012


Author: barbier
Date: Fri Oct 26 22:19:21 2012
New Revision: 2677

URL: http://svn.debian.org/wsvn/po4a/?sc=1&rev=2677
Log:
AsciiDoc: Allow customization of attribute entries and lists

Modified:
    trunk/lib/Locale/Po4a/AsciiDoc.pm
    trunk/t/data-30/Attributes.asciidoc
    trunk/t/data-30/Attributes.po
    trunk/t/data-30/DelimitedBlocks.asciidoc
    trunk/t/data-30/DelimitedBlocks.po

Modified: trunk/lib/Locale/Po4a/AsciiDoc.pm
URL: http://svn.debian.org/wsvn/po4a/trunk/lib/Locale/Po4a/AsciiDoc.pm?rev=2677&op=diff
==============================================================================
--- trunk/lib/Locale/Po4a/AsciiDoc.pm (original)
+++ trunk/lib/Locale/Po4a/AsciiDoc.pm Fri Oct 26 22:19:21 2012
@@ -14,7 +14,6 @@
 
 Locale::Po4a::AsciiDoc is a module to help the translation of documentation in
 the AsciiDoc format.
-languages.
 
 =cut
 
@@ -38,22 +37,59 @@
 
 =over
 
-=item B<nobullets>
-
-Deactivate detection of bullets.
-
-By default, when a bullet is detected, the bullet paragraph is not considered
-as a verbatim paragraph (with the no-wrap flag in the PO file), but the module
-rewraps this paragraph in the generated PO file and in the translation.
+=item B<attributeentry>
+
+Space-separated list of attribute entries you want to translate.  By default,
+no attribute entries are translatable.
+
+=item B<definitions>
+
+The name of a file containing definitions for po4a, as defined in the
+B<INLINE CUSTOMIZATION> section.
+You can use this option if it is not possible to put the definitions in
+the document being translated.
+
+=head1 INLINE CUSTOMIZATION
+
+The AsciiDoc module can be customized with lines starting by B<//po4a:>.
+These lines are interpreted as commands to the parser.
+The following commands are recognized:
+
+=over 4
+
+=item B<//po4a: macro >I<name>B<[>I<attribute list>B<]>
+
+This permits to describe in detail the parameters of a I<macro>;
+I<name> must be a valid macro name, and it ends with an underscore
+if the target must be translated.
+
+The I<attribute list> argument is a comma separated list which
+contains informations about translatable arguments.  This list contains
+either numbers, to define positional parameters, or named attributes.
+
+=item B<//po4a: style >B<[>I<attribute list>B<]>
+
+This permits to describe in detail which attributes of a style must
+be translated.
+
+The I<attribute list> argument is a comma separated list which
+contains informations about translatable arguments.  This list contains
+either numbers, to define positional parameters, or named attributes.
+The first attribute is the style name, it will not be translated.
+
+=item B<//po4a: entry >I<name>
+
+This declares an attribute entry as being translatable.  By default,
+they are not translated.
+
+=back
 
 =cut
 
-my $bullets = 1;
-
 my @comments = ();
 
-my %debug=('split_attributes' => 0,
-           'join_attributes'  => 0
+my %debug=('split_attributelist' => 0,
+           'join_attributelist'  => 0
            );
 
 sub initialize {
@@ -78,14 +114,86 @@
         }
     }
 
+    $self->{translate} = {
+        macro => {},
+        style => {},
+        attributeentry => {}
+    };
+
+    if ($options{'definitions'}) {
+        $self->parse_definition_file($options{'definitions'})
+    }
     $self->{options}{attributeentry} =~ /^\s*(.*?)\s*$/s;
     foreach my $attr (split(/\s+/s,$1)) {
-        $self->{attributeentry}->{$attr} = 1;
-    }
-
-    if (defined $options{'nobullets'}) {
-        $bullets = 0;
-    }
+        $self->{translate}->{attributeentry}->{$attr} = 1;
+    }
+
+    $self->register_attributelist('[verse,2,3,attribution,citetitle]');
+    $self->register_attributelist('[quote,2,3,attribution,citetitle]');
+    $self->register_macro('image_[1,alt,title,link]');
+}
+
+sub register_attributelist {
+    my $self = shift;
+    my $list = shift;
+    my $type = shift || 'style';
+    $list =~ s/^\[//;
+    $list =~ s/\]$//;
+    $list =~ s/\s+//;
+    $list .= ",";
+    $list =~ s/^([^,]*)//;
+    my $command = $1;
+    $self->{translate}->{$type}->{$command} = $list;
+    print STDERR "Definition: $type $command: $list\n" if $debug{definitions};
+}
+
+sub register_macro {
+    my $self = shift;
+    my $text = shift;
+    die wrap_mod("po4a::asciidoc",
+                 dgettext("po4a", "Unable to parse macro definition: %s"), $text)
+            unless $text =~ m/^([\w\d][\w\d-]*)(_?)\[(.*)\]$/;
+    my $macroname = $1;
+    my $macrotarget = $2;
+    my $macroparam = $macroname.",".$3;
+    $self->register_attributelist($macroparam, 'macro');
+    if ($macrotarget eq '_') {
+        $self->{translate}->{macro}->{$macroname} .= '_';
+    }
+}
+
+sub is_translated_target {
+    my $self = shift;
+    my $macroname = shift;
+    return defined($self->{translate}->{macro}->{$macroname}) &&
+           $self->{translate}->{macro}->{$macroname} =~ m/_$/;
+}
+
+sub process_definition {
+    my $self = shift;
+    my $command = shift;
+    if ($command =~ m/^po4a: macro\s+(\w+\[.*\])\s*$/) {
+        $self->register_macro($1);
+    } elsif ($command =~ m/^po4a: style\s*(\[.*\])\s*$/) {
+        $self->register_attributelist($1);
+    } elsif ($command =~ m/^po4a: entry\s+(.+?)\s*$/) {
+        $self->{translate}->{attributeentry}->{$1} = 1;
+    }
+}
+
+sub parse_definition_file {
+    my $self = shift;
+    my $filename = shift;
+    if (! open (IN,"<", $filename)) {
+        die wrap_mod("po4a::asciidoc",
+            dgettext("po4a", "Can't open %s: %s"), $filename, $!);
+    }
+    while (<IN>) {
+        if (m,^\s*//po4a: ,) {
+            process_definition($self, $_);
+        }
+    }
+    close IN;
 }
 
 my $RE_SECTION_TEMPLATES = "sect1|sect2|sect3|sect4|preface|colophon|dedication|synopsis|index";
@@ -248,8 +356,14 @@
                 $self->pushline($line."\n") unless defined($self->{verbatim}) && $self->{verbatim} == 2;
             }
         } elsif ((not defined($self->{verbatim})) and ($line =~ m/^\/\/(.*)/)) {
-            # Comment line
-            push @comments, $1;
+            my $comment = $1;
+            if ($comment =~ m/^po4a: /) {
+                # Po4a command line
+                $self->process_definition($comment);
+            } else {
+                # Comment line
+                push @comments, $comment;
+            }
         } elsif (not defined $self->{verbatim} and
                  ($line =~ m/^\[\[([^\]]*)\]\]$/)) {
             # Found BlockId
@@ -337,8 +451,8 @@
                  ($line =~ m/^\[.*\]$/)) {
             do_paragraph($self,$paragraph,$wrapped_mode);
             $paragraph="";
-            my ($t) = $self->parse_style($line);
-            $self->pushline("[$t]\n");
+            my $t = $self->parse_style($line);
+            $self->pushline("$t\n");
             @comments=();
             $wrapped_mode = 1;
             undef $self->{bullet};
@@ -391,13 +505,13 @@
                 $line =~ s/^\s+//;
                 $attrvalue .= $line;
             }
-            # Found a Attribute entry
-            do_paragraph($self,$paragraph,$wrapped_mode);
-            $paragraph="";
-            $wrapped_mode = 1;
-            undef $self->{bullet};
-            undef $self->{indent};
-            if (defined($self->{attributeentry}->{$attrname})) {
+            # Found an Attribute entry
+            do_paragraph($self,$paragraph,$wrapped_mode);
+            $paragraph="";
+            $wrapped_mode = 1;
+            undef $self->{bullet};
+            undef $self->{indent};
+            if (defined($self->{translate}->{attributeentry}->{$attrname})) {
                 my $t = $self->translate($attrvalue,
                                      $self->{ref},
                                      "Attribute :$attrname:",
@@ -407,6 +521,23 @@
             } else {
                 $self->pushline(":$attrname$attrsep$attrvalue\n");
             }
+            @comments=();
+        } elsif (not defined $self->{verbatim} and
+                 ($line =~ m/^([\w\d][\w\d-]*)(::)(\S+)\[(.*)\]$/)) {
+            my $macroname = $1;
+            my $macrotype = $2;
+            my $macrotarget = $3;
+            my $macroparam = $4;
+            # Found a macro
+            if ($macrotype eq '::') {
+                do_paragraph($self,$paragraph,$wrapped_mode);
+                $paragraph="";
+                $wrapped_mode = 1;
+                undef $self->{bullet};
+                undef $self->{indent};
+            }
+            my $t = $self->parse_macro($macroname, $macrotype, $macrotarget, $macroparam);
+            $self->pushline("$t\n");
             @comments=();
         } elsif (not defined $self->{verbatim} and
                  ($line !~ m/^\.\./) and ($line =~ m/^\.(\S.*)$/)) {
@@ -515,7 +646,7 @@
 #    }
 #    $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}) {
+    if (not $wrap and not defined $self->{verbatim}) {
         # Detect bullets
         # |        * blah blah
         # |<spaces>  blah
@@ -586,39 +717,119 @@
     my ($self, $text) = (shift, shift);
     $text =~ s/^\[//;
     $text =~ s/\]$//;
-    my ($command, @attributes) = $self->split_attributes($text);
-    return "[".$self->join_attributes($command, @attributes)."]";
-}
-
-sub split_attributes {
+    my @attributes = $self->split_attributelist($text);
+    return "[".join(", ", $self->join_attributelist("style", @attributes))."]";
+}
+
+sub parse_macro {
+    my ($self, $macroname, $macrotype, $macrotarget, $macroparam) = (shift, shift, shift, shift, shift);
+    my @attributes = $self->split_attributelist($macroparam);
+    unshift @attributes, $macroname;
+    my @translated_attributes = $self->join_attributelist("macro", @attributes);
+    shift @translated_attributes;
+    if ($self->is_translated_target($macroname)) {
+        my $target = unquote_space($macrotarget);
+        my $t = $self->translate($target,
+                         $self->{ref},
+                         "Target for macro $macroname",
+                         "comment" => join("\n", @comments),
+                         "wrap" => 0);
+        $macrotarget = quote_space($t);
+    }
+    return "$macroname$macrotype$macrotarget\[".join(", ", @translated_attributes)."]";
+}
+
+sub split_attributelist {
     my ($self, $text) = (shift, shift);
 
-    print STDERR "Splitting attributes in: $text\n" if $debug{split_attributes};
+    print STDERR "Splitting attributes in: $text\n" if $debug{split_attributelist};
     my @attributes = ();
     while ($text =~ m/\G(
          [^\W\d][-\w]*="(?:[^"\\]++|\\.)*+" # named attribute
        | [^\W\d][-\w]*=None                 # undefined named attribute
+       | [^\W\d][-\w]*=\S+                  # invalid, but accept it anyway
        | "(?:[^"\\]++|\\.)*+"               # quoted attribute
        |  (?:[^,\\]++|\\.)++                # unquoted attribute
          )(?:,\s*+)?/gx) {
-        print STDERR "  -> $1\n" if $debug{split_attributes};
+        print STDERR "  -> $1\n" if $debug{split_attributelist};
         push @attributes, $1;
     }
     die wrap_mod("po4a::asciidoc",
                  dgettext("po4a", "Unable to parse attribute list: [%s]"), $text)
             unless length(@attributes);
-    my $command = shift @attributes;
-    return ($command, @attributes);
-}
-
-sub join_attributes {
-    my ($self, $command) = (shift, shift);
-    my (@attributes) = @_;
-    my $text = $command;
-    if (length(@attributes)) {
-        $text .= ", ".join(", ", @attributes);
-    }
-    print STDERR "Joined attributes: $text\n" if $debug{join_attributes};
+    return @attributes;
+}
+
+sub join_attributelist {
+    my ($self, $type) = (shift, shift);
+    my @attributes = @_;
+    my $command = shift(@attributes);
+    if ($command =~ m/=/) {
+        unshift @attributes, $command;
+        $command = '';
+    }
+    my @text = ($command);
+    my $count = 0;
+    foreach my $attr (@attributes) {
+        $count++;
+        push @text, $self->translate_attributelist($type, $command, $count, $attr);
+    }
+    shift(@text) if $text[0] eq '';
+    print STDERR "Joined attributes: ".join(", ", @text)."\n" if $debug{join_attributelist};
+    return @text;
+}
+
+sub translate_attributelist {
+    my ($self, $type, $command, $count, $attr) = (shift, shift, shift, shift, shift);
+    return $attr unless defined $self->{translate}->{$type}->{$command};
+    if ($attr =~ m/^([^\W\d][-\w]*)=(.*)/) {
+        my $attrname = $1;
+        my $attrvalue = $2;
+        if ($self->{translate}->{$type}->{$command} =~ m/,$attrname,/) {
+            my $attrvalue = unquote($attrvalue);
+            my $t = $self->translate($attrvalue,
+                             $self->{ref},
+                             "Named '$attrname' AttributeList argument for $type $command",
+                             "comment" => join("\n", @comments),
+                             "wrap" => 0);
+            $attr = $attrname."=".quote($t);
+        }
+    } else {
+        if ($self->{translate}->{$type}->{$command} =~ m/,$count,/) {
+            my $attrvalue = unquote($attr);
+            my $t = $self->translate($attrvalue,
+                             $self->{ref},
+                             "Positional (\$$count) AttributeList argument for $type $command",
+                             "comment" => join("\n", @comments),
+                             "wrap" => 0);
+            $attr = quote($t);
+        }
+    }
+    return $attr;
+}
+
+sub unquote {
+    my ($text) = shift;
+    return $text unless $text =~ s/^"(.*)"$/$1/;
+    $text =~ s/\\"/"/g;
+    return $text;
+}
+
+sub quote {
+    my $text = shift;
+    $text =~ s/"/\\"/g;
+    return '"'.$text.'"';
+}
+
+sub quote_space {
+    my $text = shift;
+    $text =~ s/ /%20/g;
+    return $text;
+}
+
+sub unquote_space {
+    my $text = shift;
+    $text =~ s/%20/ /g;
     return $text;
 }
 

Modified: trunk/t/data-30/Attributes.asciidoc
URL: http://svn.debian.org/wsvn/po4a/trunk/t/data-30/Attributes.asciidoc?rev=2677&op=diff
==============================================================================
--- trunk/t/data-30/Attributes.asciidoc (original)
+++ trunk/t/data-30/Attributes.asciidoc Fri Oct 26 22:19:21 2012
@@ -1,3 +1,9 @@
+//po4a: entry Author
+//po4a: entry Email
+//po4a: entry Date
+//po4a: entry Revision
+//po4a: entry Key words
+//po4a: entry Revision history
 Test Attributes
 ===============
 :Author:    Stuart Rackham

Modified: trunk/t/data-30/Attributes.po
URL: http://svn.debian.org/wsvn/po4a/trunk/t/data-30/Attributes.po?rev=2677&op=diff
==============================================================================
--- trunk/t/data-30/Attributes.po (original)
+++ trunk/t/data-30/Attributes.po Fri Oct 26 22:19:21 2012
@@ -7,46 +7,47 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2008-10-12 19:29+0300\n"
-"PO-Revision-Date: 2008-10-12 22:05+0200\n"
+"POT-Creation-Date: 2012-10-09 01:30+0300\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: ENCODING"
+"Content-Transfer-Encoding: 8bit\n"
 
 #. type: Title =
-#: ../data-30/Attributes.asciidoc:2
+#: ../data-30/Attributes.asciidoc:8
 #, no-wrap
 msgid "Test Attributes"
 msgstr ""
 
 #. type: Attribute :Author:
-#: ../data-30/Attributes.asciidoc:3
+#: ../data-30/Attributes.asciidoc:9
 #, no-wrap
 msgid "Stuart Rackham"
 msgstr ""
 
 #. type: Attribute :Email:
-#: ../data-30/Attributes.asciidoc:4
+#: ../data-30/Attributes.asciidoc:10
 #, no-wrap
 msgid "srackham at gmail.com"
 msgstr ""
 
 #. type: Attribute :Date:
-#: ../data-30/Attributes.asciidoc:5
+#: ../data-30/Attributes.asciidoc:11
 #, no-wrap
 msgid "April 23, 2004"
 msgstr ""
 
 #. type: Attribute :Revision:
-#: ../data-30/Attributes.asciidoc:6
+#: ../data-30/Attributes.asciidoc:12
 #, no-wrap
 msgid "5.1.1"
 msgstr ""
 
 #. type: Attribute :Key words:
-#: ../data-30/Attributes.asciidoc:7
+#: ../data-30/Attributes.asciidoc:13
 #, no-wrap
 msgid "linux, ralink, debian, wireless"
 msgstr ""

Modified: trunk/t/data-30/DelimitedBlocks.asciidoc
URL: http://svn.debian.org/wsvn/po4a/trunk/t/data-30/DelimitedBlocks.asciidoc?rev=2677&op=diff
==============================================================================
--- trunk/t/data-30/DelimitedBlocks.asciidoc (original)
+++ trunk/t/data-30/DelimitedBlocks.asciidoc Fri Oct 26 22:19:21 2012
@@ -1,3 +1,4 @@
+//po4a: style[,caption]
 Test Delimited Blocks
 =====================
 

Modified: trunk/t/data-30/DelimitedBlocks.po
URL: http://svn.debian.org/wsvn/po4a/trunk/t/data-30/DelimitedBlocks.po?rev=2677&op=diff
==============================================================================
--- trunk/t/data-30/DelimitedBlocks.po (original)
+++ trunk/t/data-30/DelimitedBlocks.po Fri Oct 26 22:19:21 2012
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2012-10-04 00:27+0300\n"
+"POT-Creation-Date: 2012-10-09 01:33+0300\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -17,19 +17,19 @@
 "Content-Transfer-Encoding: 8bit\n"
 
 #. type: Title =
-#: ../data-30/DelimitedBlocks.asciidoc:2
+#: ../data-30/DelimitedBlocks.asciidoc:3
 #, no-wrap
 msgid "Test Delimited Blocks"
 msgstr ""
 
 #. type: Title -
-#: ../data-30/DelimitedBlocks.asciidoc:5
+#: ../data-30/DelimitedBlocks.asciidoc:6
 #, no-wrap
 msgid "Predefined Delimited Blocks"
 msgstr ""
 
 #. type: Plain text
-#: ../data-30/DelimitedBlocks.asciidoc:8
+#: ../data-30/DelimitedBlocks.asciidoc:9
 msgid "CommentBlock"
 msgstr ""
 
@@ -42,12 +42,12 @@
 #.   - This is a Comment block.
 #.     This is a Comment block.
 #. type: Plain text
-#: ../data-30/DelimitedBlocks.asciidoc:21
+#: ../data-30/DelimitedBlocks.asciidoc:22
 msgid "PassthroughBlock"
 msgstr ""
 
 #. type: delimited block +
-#: ../data-30/DelimitedBlocks.asciidoc:25
+#: ../data-30/DelimitedBlocks.asciidoc:26
 #, no-wrap
 msgid ""
 "This is a Passthrough block.\n"
@@ -55,7 +55,7 @@
 msgstr ""
 
 #. type: delimited block +
-#: ../data-30/DelimitedBlocks.asciidoc:28
+#: ../data-30/DelimitedBlocks.asciidoc:29
 #, no-wrap
 msgid ""
 "  This is a Passthrough block.\n"
@@ -63,7 +63,7 @@
 msgstr ""
 
 #. type: delimited block +
-#: ../data-30/DelimitedBlocks.asciidoc:31
+#: ../data-30/DelimitedBlocks.asciidoc:32
 #, no-wrap
 msgid ""
 "  - This is a Passthrough block.\n"
@@ -71,12 +71,12 @@
 msgstr ""
 
 #. type: Plain text
-#: ../data-30/DelimitedBlocks.asciidoc:34
+#: ../data-30/DelimitedBlocks.asciidoc:35
 msgid "ListingBlock"
 msgstr ""
 
 #. type: delimited block -
-#: ../data-30/DelimitedBlocks.asciidoc:38
+#: ../data-30/DelimitedBlocks.asciidoc:39
 #, no-wrap
 msgid ""
 "This is a Listing block.\n"
@@ -84,7 +84,7 @@
 msgstr ""
 
 #. type: delimited block -
-#: ../data-30/DelimitedBlocks.asciidoc:41
+#: ../data-30/DelimitedBlocks.asciidoc:42
 #, no-wrap
 msgid ""
 "  This is a Listing block.\n"
@@ -92,7 +92,7 @@
 msgstr ""
 
 #. type: delimited block -
-#: ../data-30/DelimitedBlocks.asciidoc:44
+#: ../data-30/DelimitedBlocks.asciidoc:45
 #, no-wrap
 msgid ""
 "  - This is a Listing block.\n"
@@ -100,12 +100,12 @@
 msgstr ""
 
 #. type: Plain text
-#: ../data-30/DelimitedBlocks.asciidoc:47
+#: ../data-30/DelimitedBlocks.asciidoc:48
 msgid "LiteralBlock"
 msgstr ""
 
 #. type: delimited block .
-#: ../data-30/DelimitedBlocks.asciidoc:51
+#: ../data-30/DelimitedBlocks.asciidoc:52
 #, no-wrap
 msgid ""
 "This is a Literal block.\n"
@@ -113,7 +113,7 @@
 msgstr ""
 
 #. type: delimited block .
-#: ../data-30/DelimitedBlocks.asciidoc:54
+#: ../data-30/DelimitedBlocks.asciidoc:55
 #, no-wrap
 msgid ""
 "  This is a Literal block.\n"
@@ -121,7 +121,7 @@
 msgstr ""
 
 #. type: delimited block .
-#: ../data-30/DelimitedBlocks.asciidoc:57
+#: ../data-30/DelimitedBlocks.asciidoc:58
 #, no-wrap
 msgid ""
 "  - This is a Literal block.\n"
@@ -129,17 +129,17 @@
 msgstr ""
 
 #. type: Plain text
-#: ../data-30/DelimitedBlocks.asciidoc:60
+#: ../data-30/DelimitedBlocks.asciidoc:61
 msgid "SidebarBlock"
 msgstr ""
 
 #. type: delimited block *
-#: ../data-30/DelimitedBlocks.asciidoc:64 ../data-30/DelimitedBlocks.asciidoc:70
+#: ../data-30/DelimitedBlocks.asciidoc:65 ../data-30/DelimitedBlocks.asciidoc:71
 msgid "This is a Sidebar block.  This is a Sidebar block."
 msgstr ""
 
 #. type: delimited block *
-#: ../data-30/DelimitedBlocks.asciidoc:67
+#: ../data-30/DelimitedBlocks.asciidoc:68
 #, no-wrap
 msgid ""
 "  This is a Sidebar block.\n"
@@ -147,17 +147,17 @@
 msgstr ""
 
 #. type: Plain text
-#: ../data-30/DelimitedBlocks.asciidoc:73
+#: ../data-30/DelimitedBlocks.asciidoc:74
 msgid "QuoteBlock"
 msgstr ""
 
 #. type: delimited block _
-#: ../data-30/DelimitedBlocks.asciidoc:77 ../data-30/DelimitedBlocks.asciidoc:83
+#: ../data-30/DelimitedBlocks.asciidoc:78 ../data-30/DelimitedBlocks.asciidoc:84
 msgid "This is a Quote block.  This is a Quote block."
 msgstr ""
 
 #. type: delimited block _
-#: ../data-30/DelimitedBlocks.asciidoc:80
+#: ../data-30/DelimitedBlocks.asciidoc:81
 #, no-wrap
 msgid ""
 "  This is a Quote block.\n"
@@ -165,26 +165,26 @@
 msgstr ""
 
 #. type: quote
-#: ../data-30/DelimitedBlocks.asciidoc:86
+#: ../data-30/DelimitedBlocks.asciidoc:87
 #, no-wrap
 msgid "Bertrand Russell, The World of Mathematics (1956)"
 msgstr ""
 
 #. type: delimited block _
-#: ../data-30/DelimitedBlocks.asciidoc:90
+#: ../data-30/DelimitedBlocks.asciidoc:91
 msgid ""
 "A good notation has subtlety and suggestiveness which at times makes it "
 "almost seem like a live teacher."
 msgstr ""
 
 #. type: verse
-#: ../data-30/DelimitedBlocks.asciidoc:92
+#: ../data-30/DelimitedBlocks.asciidoc:93
 #, no-wrap
 msgid "William Blake, from Auguries of Innocence"
 msgstr ""
 
 #. type: delimited block _
-#: ../data-30/DelimitedBlocks.asciidoc:98
+#: ../data-30/DelimitedBlocks.asciidoc:99
 #, no-wrap
 msgid ""
 "To see a world in a grain of sand,\n"
@@ -194,17 +194,17 @@
 msgstr ""
 
 #. type: Plain text
-#: ../data-30/DelimitedBlocks.asciidoc:101
+#: ../data-30/DelimitedBlocks.asciidoc:102
 msgid "ExampleBlock"
 msgstr ""
 
 #. type: delimited block =
-#: ../data-30/DelimitedBlocks.asciidoc:105 ../data-30/DelimitedBlocks.asciidoc:111
+#: ../data-30/DelimitedBlocks.asciidoc:106 ../data-30/DelimitedBlocks.asciidoc:112
 msgid "This is a Example block.  This is a Example block."
 msgstr ""
 
 #. type: delimited block =
-#: ../data-30/DelimitedBlocks.asciidoc:108
+#: ../data-30/DelimitedBlocks.asciidoc:109
 #, no-wrap
 msgid ""
 "  This is a Example block.\n"
@@ -212,63 +212,64 @@
 msgstr ""
 
 #. type: Block title
-#: ../data-30/DelimitedBlocks.asciidoc:113
+#: ../data-30/DelimitedBlocks.asciidoc:114
 #, no-wrap
 msgid "An example"
 msgstr ""
 
 #. type: delimited block =
-#: ../data-30/DelimitedBlocks.asciidoc:117 ../data-30/DelimitedBlocks.asciidoc:124 ../data-30/DelimitedBlocks.asciidoc:131
+#: ../data-30/DelimitedBlocks.asciidoc:118 ../data-30/DelimitedBlocks.asciidoc:125 ../data-30/DelimitedBlocks.asciidoc:132
 msgid ""
 "Qui in magna commodo, est labitur dolorum an. Est ne magna primis "
 "adolescens."
 msgstr ""
 
-#. type: Plain text
+#. type: Named 'caption' AttributeList argument for style 
 #: ../data-30/DelimitedBlocks.asciidoc:120
-msgid "[caption=\"Example 1: \"]"
+#, no-wrap
+msgid "Example 1: "
 msgstr ""
 
 #. type: Block title
-#: ../data-30/DelimitedBlocks.asciidoc:120
+#: ../data-30/DelimitedBlocks.asciidoc:121
 #, no-wrap
 msgid "An example with a custom caption"
 msgstr ""
 
 #. type: Block title
-#: ../data-30/DelimitedBlocks.asciidoc:127
+#: ../data-30/DelimitedBlocks.asciidoc:128
 #, no-wrap
 msgid "A NOTE block"
 msgstr ""
 
 #. type: delimited block =
-#: ../data-30/DelimitedBlocks.asciidoc:133 ../data-30/DelimitedBlocks.asciidoc:135
+#: ../data-30/DelimitedBlocks.asciidoc:134 ../data-30/DelimitedBlocks.asciidoc:136
 msgid "Fusce euismod commodo velit."
 msgstr ""
 
 #. type: delimited block =
-#: ../data-30/DelimitedBlocks.asciidoc:134 ../data-30/DelimitedBlocks.asciidoc:136
+#: ../data-30/DelimitedBlocks.asciidoc:135 ../data-30/DelimitedBlocks.asciidoc:137
 msgid "Vivamus fringilla mi eu lacus."
 msgstr ""
 
 #. type: delimited block =
-#: ../data-30/DelimitedBlocks.asciidoc:138
+#: ../data-30/DelimitedBlocks.asciidoc:139
 msgid "Donec eget arcu bibendum nunc consequat lobortis."
 msgstr ""
 
 #. type: Plain text
-#: ../data-30/DelimitedBlocks.asciidoc:141
+#: ../data-30/DelimitedBlocks.asciidoc:142
 msgid "Filter blocks"
 msgstr ""
 
 #. type: delimited block -
-#: ../data-30/DelimitedBlocks.asciidoc:167 ../data-30/DelimitedBlocks.asciidoc:177
+#: ../data-30/DelimitedBlocks.asciidoc:168 ../data-30/DelimitedBlocks.asciidoc:178
 #, no-wrap
 msgid "test\n"
 msgstr ""
 
 #. type: delimited block +
-#: ../data-30/DelimitedBlocks.asciidoc:171
+#: ../data-30/DelimitedBlocks.asciidoc:172
 #, no-wrap
 msgid ""
 "--------------------------\n"
@@ -277,13 +278,13 @@
 msgstr ""
 
 #. type: delimited block -
-#: ../data-30/DelimitedBlocks.asciidoc:173 ../data-30/DelimitedBlocks.asciidoc:183
+#: ../data-30/DelimitedBlocks.asciidoc:174 ../data-30/DelimitedBlocks.asciidoc:184
 #, no-wrap
 msgid "end of test\n"
 msgstr ""
 
 #. type: delimited block -
-#: ../data-30/DelimitedBlocks.asciidoc:181
+#: ../data-30/DelimitedBlocks.asciidoc:182
 #, no-wrap
 msgid ""
 "__________________________\n"




More information about the Po4a-commits mailing list