1# SOME DESCRIPTIVE TITLE 2# Copyright (C) YEAR Free Software Foundation, Inc. 3# This file is distributed under the same license as the po4a package. 4# jmichault <jmt.2000@free.fr>, 2020. 5msgid "" 6msgstr "" 7"Project-Id-Version: po4a 0.62\n" 8"Report-Msgid-Bugs-To: devel@lists.po4a.org\n" 9"POT-Creation-Date: 2021-11-06 11:27+0100\n" 10"PO-Revision-Date: 2020-12-08 16:29+0000\n" 11"Last-Translator: jmichault <jmt.2000@free.fr>\n" 12"Language-Team: Esperanto <https://hosted.weblate.org/projects/po4a/po4a-doc/" 13"eo/>\n" 14"Language: eo\n" 15"MIME-Version: 1.0\n" 16"Content-Type: text/plain; charset=UTF-8\n" 17"Content-Transfer-Encoding: 8bit\n" 18"Plural-Forms: nplurals=2; plural=n != 1;\n" 19"X-Generator: Weblate 4.4-dev\n" 20 21#. type: Attribute 'xml:lang' of: <refentry> 22#: share/doc/po4a-display-man.xml:1 share/doc/po4a-display-pod.xml:1 23msgid "en" 24msgstr "eo" 25 26#. type: Content of: <refentry><refentryinfo> 27#: share/doc/po4a-display-man.xml:2 28msgid "<date>2006-04-08</date>" 29msgstr "<date>2006-04-08</date>" 30 31#. type: Content of: <refentry><refmeta><refentrytitle> 32#: share/doc/po4a-display-man.xml:3 33msgid "PO4A-DISPLAY-MAN" 34msgstr "PO4A-DISPLAY-MAN" 35 36#. type: Content of: <refentry><refmeta><manvolnum> 37#: share/doc/po4a-display-man.xml:4 share/doc/po4a-display-pod.xml:4 38msgid "1" 39msgstr "1" 40 41#. type: Content of: <refentry><refmeta><refmiscinfo> 42#: share/doc/po4a-display-man.xml:5 43msgid "2020-04-19" 44msgstr "2020-04-19" 45 46#. type: Content of: <refentry><refmeta><refmiscinfo> 47#: share/doc/po4a-display-man.xml:6 share/doc/po4a-display-man.xml:7 48#: share/doc/po4a-display-pod.xml:6 share/doc/po4a-display-pod.xml:7 49msgid "Po4a Tools" 50msgstr "Iloj de Po4a" 51 52#. type: Content of: <refentry><refnamediv><refname> 53#: share/doc/po4a-display-man.xml:8 54msgid "po4a-display-man" 55msgstr "po4a-display-man" 56 57#. type: Content of: <refentry><refnamediv><refpurpose> 58#: share/doc/po4a-display-man.xml:9 59msgid "display a translated man page according to a PO" 60msgstr "montri tradukitan manpaĝon laŭ PO" 61 62#. type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> 63#: share/doc/po4a-display-man.xml:10 64msgid "" 65"<command>po4a-display-man</command> <arg choice='plain'><option>-p</option> " 66"</arg> <arg choice='plain'><replaceable>PO_FILE</replaceable></arg> <arg " 67"choice='opt'><arg choice='plain'><option>-m</option> </arg><arg " 68"choice='plain'><replaceable>MASTER_FILE</replaceable></arg></arg> <arg " 69"choice='opt'><arg choice='plain'><option>-o</option> </arg><arg " 70"choice='plain'><replaceable>PO4A_OPT</replaceable></arg></arg>" 71msgstr "" 72"<command>po4a-display-man</command> <arg choice='plain'><option>-p</option> " 73"</arg> <arg choice='plain'><replaceable>PO_DOSIERO</replaceable></arg> <arg " 74"choice='opt'><arg choice='plain'><option>-m</option> </arg><arg " 75"choice='plain'><replaceable>MASTRA_DOSIERO</replaceable></arg></arg> <arg " 76"choice='opt'><arg choice='plain'><option>-o</option> </arg><arg " 77"choice='plain'><replaceable>PO4A_OPT</replaceable></arg></arg>" 78 79#. type: =head1 80#: share/doc/po4a-display-man.xml:11 share/doc/po4a-display-pod.xml:11 po4a:5 81#: po4a-gettextize:6 po4a-normalize:5 po4a-translate:6 po4a-updatepo:6 82#: msguntypot:5 lib/Locale/Po4a/AsciiDoc.pm:3 lib/Locale/Po4a/BibTeX.pm:3 83#: lib/Locale/Po4a/Chooser.pm:3 lib/Locale/Po4a/Common.pm:3 84#: lib/Locale/Po4a/Dia.pm:3 lib/Locale/Po4a/Docbook.pm:3 85#: lib/Locale/Po4a/Guide.pm:3 lib/Locale/Po4a/Halibut.pm:3 86#: lib/Locale/Po4a/Ini.pm:3 lib/Locale/Po4a/KernelHelp.pm:3 87#: lib/Locale/Po4a/LaTeX.pm:3 lib/Locale/Po4a/Man.pm:3 lib/Locale/Po4a/Po.pm:9 88#: lib/Locale/Po4a/Pod.pm:7 lib/Locale/Po4a/Sgml.pm:3 lib/Locale/Po4a/TeX.pm:3 89#: lib/Locale/Po4a/Texinfo.pm:3 lib/Locale/Po4a/Text.pm:3 90#: lib/Locale/Po4a/TransTractor.pm:3 lib/Locale/Po4a/Wml.pm:3 91#: lib/Locale/Po4a/Xhtml.pm:3 lib/Locale/Po4a/Xml.pm:3 92msgid "DESCRIPTION" 93msgstr "PRISKRIBO" 94 95#. type: Content of: <refentry><refsect1><para> 96#: share/doc/po4a-display-man.xml:12 97msgid "" 98"Translators can use <command>po4a-display-man</command> to see how their " 99"translation of a man page will be rendered to the end users, without " 100"recompiling and reinstalling the whole project." 101msgstr "" 102"Tradukistoj povas uzi <command>po4a-display-man</command> por vidi kiel ilia " 103"traduko de manpaĝo estos prezentita al la finuzantoj, sen rekompili kaj " 104"reinstali la tutan projekton." 105 106#. type: Content of: <refentry><refsect1><para> 107#: share/doc/po4a-display-man.xml:13 108msgid "" 109"This script only works with man pages written directly in <emphasis " 110"remap='I'>nroff</emphasis> and handled by the po4a's <emphasis " 111"remap='I'>man</emphasis> module. Manual pages generated from other formats, " 112"like DocBook or POD, are not supported. See " 113"<citerefentry><refentrytitle>po4a-display-pod</refentrytitle><manvolnum>1</" 114"manvolnum></citerefentry> for an equivalent supporting <emphasis " 115"remap='I'>POD</emphasis> documents." 116msgstr "" 117"Ĉi tiu skripto funkcias nur kun manpaĝoj skribitaj rekte en <emphasis " 118"remap='I'>nroff</emphasis> kaj pritraktitaj per la modulo <emphasis " 119"remap='I'>man</emphasis> de po4a. Manpaĝoj generitaj de aliaj formatoj, kiel " 120"DocBook aŭ POD, ne estas subtenataj. Vidu <citerefentry><refentrytitle>po4a-" 121"display-pod</refentrytitle><manvolnum>1</manvolnum></citerefentry> por " 122"ekvivalentaj subtenaj <emphasis remap='I'>POD</emphasis> dokumentoj." 123 124#. type: =head1 125#: share/doc/po4a-display-man.xml:14 share/doc/po4a-display-pod.xml:13 po4a:15 126#: po4a-gettextize:11 po4a-normalize:9 po4a-translate:9 po4a-updatepo:11 127msgid "OPTIONS" 128msgstr "OPCIOJ" 129 130#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> 131#: share/doc/po4a-display-man.xml:15 share/doc/po4a-display-pod.xml:14 132msgid "<option>-p </option><replaceable>PO_FILE</replaceable>" 133msgstr "<option>-p </option><replaceable>PO_DOSIERO</replaceable>" 134 135#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> 136#: share/doc/po4a-display-man.xml:16 share/doc/po4a-display-pod.xml:15 137msgid "The PO file containing the translations." 138msgstr "La PO-dosiero enhavanta la tradukojn." 139 140#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> 141#: share/doc/po4a-display-man.xml:17 142msgid "<option>-m </option><replaceable>MASTER_FILE</replaceable>" 143msgstr "<option>-m </option><replaceable>MASTRA_DOSIERO</replaceable>" 144 145#. .br 146#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> 147#: share/doc/po4a-display-man.xml:18 148msgid "" 149"The original man page. It can be the absolute or relative path to the " 150"original man page (gzipped or not), the name of the man page or the name and " 151"section of the man page (using the man.section format). When the master " 152"document is not provided with the <option>-m</option> option, <command>po4a-" 153"display-man</command> tries to find the original man page based on the line " 154"reference of the first string in the PO." 155msgstr "" 156"La originala manpaĝo. Ĝi povas esti la absoluta aŭ relativa vojo al la " 157"originala manpaĝo (gzipita aŭ ne), la nomo de la manpaĝo aŭ la nomo kaj " 158"sekcio de la manpaĝo (uzante la formaton man.sekcio). Kiam la ĉefa dokumento " 159"ne estas provizita per la opcio <option>-m</option>, <command>po4a-display-" 160"man</command> provas trovi la originalan manpaĝon surbaze de la linia " 161"referenco de la unua ĉeno en la PO." 162 163#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> 164#: share/doc/po4a-display-man.xml:19 share/doc/po4a-display-pod.xml:18 165msgid "<option>-o </option><replaceable>PO4A_OPT</replaceable>" 166msgstr "<option>-o </option><replaceable>PO4A_OPT</replaceable>" 167 168#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> 169#: share/doc/po4a-display-man.xml:20 share/doc/po4a-display-pod.xml:19 170msgid "" 171"Some options to pass to <citerefentry><refentrytitle>po4a-translate</" 172"refentrytitle><manvolnum>1</manvolnum></citerefentry>." 173msgstr "" 174"Iuj ebloj por transdoni al <citerefentry><refentrytitle>po4a-translate</" 175"refentrytitle><manvolnum>1</manvolnum></citerefentry>." 176 177#. type: =head1 178#: share/doc/po4a-display-man.xml:21 share/doc/po4a-display-pod.xml:20 po4a:189 179#: po4a-gettextize:71 po4a-normalize:29 po4a-translate:54 po4a-updatepo:53 180#: msguntypot:29 doc/po4a.7.pod:177 lib/Locale/Po4a/Chooser.pm:7 181#: lib/Locale/Po4a/Dia.pm:12 lib/Locale/Po4a/Docbook.pm:15 182#: lib/Locale/Po4a/Guide.pm:10 lib/Locale/Po4a/Halibut.pm:14 183#: lib/Locale/Po4a/Ini.pm:8 lib/Locale/Po4a/KernelHelp.pm:7 184#: lib/Locale/Po4a/LaTeX.pm:8 lib/Locale/Po4a/Man.pm:107 185#: lib/Locale/Po4a/Pod.pm:36 lib/Locale/Po4a/TeX.pm:118 186#: lib/Locale/Po4a/Texinfo.pm:10 lib/Locale/Po4a/Xhtml.pm:15 187#: lib/Locale/Po4a/Xml.pm:184 188msgid "SEE ALSO" 189msgstr "VIDU ANKAŬ" 190 191#. type: Content of: <refentry><refsect1><para> 192#: share/doc/po4a-display-man.xml:22 193msgid "" 194"<citerefentry> <refentrytitle>po4a-display-pod</refentrytitle><manvolnum>1</" 195"manvolnum> </citerefentry>" 196msgstr "" 197"<citerefentry> <refentrytitle>po4a-display-pod</refentrytitle><manvolnum>1</" 198"manvolnum> </citerefentry>" 199 200#. type: Content of: <refentry><refsect1><title> 201#: share/doc/po4a-display-man.xml:23 share/doc/po4a-display-pod.xml:22 202msgid "AUTHOR" 203msgstr "AŬTORO" 204 205#. type: Content of: <refentry><refsect1><para> 206#: share/doc/po4a-display-man.xml:24 207msgid "Thomas Huriaux" 208msgstr "Thomas Huriaux" 209 210#. type: Content of: <refentry><refentryinfo> 211#: share/doc/po4a-display-pod.xml:2 212msgid "<date>2009-03-16</date>" 213msgstr "<date>2009-03-16</date>" 214 215#. type: Content of: <refentry><refmeta><refentrytitle> 216#: share/doc/po4a-display-pod.xml:3 217msgid "PO4A-DISPLAY-POD" 218msgstr "PO4A-DISPLAY-POD" 219 220#. type: Content of: <refentry><refmeta><refmiscinfo> 221#: share/doc/po4a-display-pod.xml:5 222msgid "2009-03-16" 223msgstr "2009-03-16" 224 225#. type: Content of: <refentry><refnamediv><refname> 226#: share/doc/po4a-display-pod.xml:8 227msgid "po4a-display-pod" 228msgstr "po4a-display-pod" 229 230#. type: Content of: <refentry><refnamediv><refpurpose> 231#: share/doc/po4a-display-pod.xml:9 232msgid "display of a translated POD file according to a PO" 233msgstr "montri tradukitan POD-dosiero laŭ PO" 234 235#. type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> 236#: share/doc/po4a-display-pod.xml:10 237msgid "" 238"<command>po4a-display-pod</command> <arg choice='plain'><option>-p </" 239"option></arg> <arg choice='plain'><replaceable>PO_FILE</replaceable></arg> " 240"<arg choice='plain'><option>-m </option></arg> <arg " 241"choice='plain'><replaceable>POD_FILE</replaceable></arg> <arg " 242"choice='opt'><arg choice='plain'><option>-o </option></arg><arg " 243"choice='plain'><replaceable>PO4A_OPT</replaceable></arg></arg>" 244msgstr "" 245"<command>po4a-display-pod</command> <arg choice='plain'><option>-p </" 246"option></arg> <arg choice='plain'><replaceable>PO_DOSIERO</replaceable></" 247"arg> <arg choice='plain'><option>-m </option></arg> <arg " 248"choice='plain'><replaceable>POD_DOSIERO</replaceable></arg> <arg " 249"choice='opt'><arg choice='plain'><option>-o </option></arg><arg " 250"choice='plain'><replaceable>PO4A_OPCIOJ</replaceable></arg></arg>" 251 252#. type: Content of: <refentry><refsect1><para> 253#: share/doc/po4a-display-pod.xml:12 254msgid "" 255"Translators can use <command>po4a-display-pod</command> to see how their " 256"translation of a man page will be rendered to the end users, without " 257"recompiling and reinstalling the whole project. Most of the time, the POD " 258"file is only available in source package or embedded in Perl script." 259msgstr "" 260"Tradukistoj povas uzi <command>po4a-display-pod</command> por vidi kiel ilia " 261"traduko de manpaĝo estos prezentita al la finuzantoj, sen rekompili kaj " 262"reinstali la tutan projekton. Plej ofte la POD-dosiero disponeblas nur en " 263"fonta pakaĵo aŭ enigita en Perl-skripto." 264 265#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> 266#: share/doc/po4a-display-pod.xml:16 267msgid "<option>-m </option><replaceable>POD_FILE</replaceable>" 268msgstr "<option>-m </option><replaceable>POD_DOSIERO</replaceable>" 269 270#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> 271#: share/doc/po4a-display-pod.xml:17 272msgid "The original POD file used by po4a to generate PO file." 273msgstr "La originala POD-dosiero uzata de po4a por generi PO-dosieron." 274 275#. type: Content of: <refentry><refsect1><para> 276#: share/doc/po4a-display-pod.xml:21 277msgid "" 278"<citerefentry> <refentrytitle>po4a-display-man</refentrytitle><manvolnum>1</" 279"manvolnum> </citerefentry>" 280msgstr "" 281"<citerefentry> <refentrytitle>po4a-display-man</refentrytitle><manvolnum>1</" 282"manvolnum> </citerefentry>" 283 284#. type: Content of: <refentry><refsect1><para> 285#: share/doc/po4a-display-pod.xml:23 286msgid "Florentin Duneau" 287msgstr "Florentin Duneau" 288 289#. type: =head1 290#: po4a:1 po4a-gettextize:1 po4a-normalize:1 po4a-translate:1 po4a-updatepo:1 291#: msguntypot:1 doc/po4a.7.pod:1 lib/Locale/Po4a/AsciiDoc.pm:1 292#: lib/Locale/Po4a/BibTeX.pm:1 lib/Locale/Po4a/Chooser.pm:1 293#: lib/Locale/Po4a/Common.pm:1 lib/Locale/Po4a/Dia.pm:1 294#: lib/Locale/Po4a/Docbook.pm:1 lib/Locale/Po4a/Guide.pm:1 295#: lib/Locale/Po4a/Halibut.pm:1 lib/Locale/Po4a/Ini.pm:1 296#: lib/Locale/Po4a/KernelHelp.pm:1 lib/Locale/Po4a/LaTeX.pm:1 297#: lib/Locale/Po4a/Man.pm:1 lib/Locale/Po4a/Po.pm:1 lib/Locale/Po4a/Pod.pm:1 298#: lib/Locale/Po4a/Sgml.pm:1 lib/Locale/Po4a/TeX.pm:1 299#: lib/Locale/Po4a/Texinfo.pm:1 lib/Locale/Po4a/Text.pm:1 300#: lib/Locale/Po4a/TransTractor.pm:1 lib/Locale/Po4a/Wml.pm:1 301#: lib/Locale/Po4a/Xhtml.pm:1 lib/Locale/Po4a/Xml.pm:1 302msgid "NAME" 303msgstr "NOMO" 304 305#. type: textblock 306#: po4a:2 307msgid "po4a - update both the PO files and translated documents in one shot" 308msgstr "" 309"po4a - ĝisdatigu ambaŭ PO-dosierojn kaj tradukitajn dokumentojn per unu pafo" 310 311#. type: =head1 312#: po4a:3 po4a-gettextize:3 po4a-normalize:3 po4a-translate:3 po4a-updatepo:3 313#: msguntypot:3 lib/Locale/Po4a/Po.pm:3 lib/Locale/Po4a/Pod.pm:3 314#: lib/Locale/Po4a/TransTractor.pm:24 315msgid "SYNOPSIS" 316msgstr "SINOPSO" 317 318#. type: textblock 319#: po4a:4 320msgid "B<po4a> [I<options>] I<config_file>" 321msgstr "B<po4a> [I<opcioj>] I<agorda_dosiero>" 322 323#. type: textblock 324#: po4a:6 po4a-gettextize:7 325msgid "" 326"po4a (PO for anything) eases the maintenance of documentation translation " 327"using the classical gettext tools. The main feature of po4a is that it " 328"decouples the translation of content from its document structure. Please " 329"refer to the page L<po4a(7)> for a gentle introduction to this project." 330msgstr "" 331 332#. type: textblock 333#: po4a:7 334msgid "" 335"When you run the B<po4a> program for the first time, with only a " 336"configuration file and the documents to translate (called master documents), " 337"it produces a POT file (also called translation template) that contains all " 338"of the translatable strings in the document in a form that eases the work of " 339"translators." 340msgstr "" 341 342#. type: textblock 343#: po4a:8 344msgid "" 345"Those POT files can either be translated with a specific editor such as the " 346"B<GNOME Translation Editor>, KDE's B<Lokalize> or B<poedit>, or they can be " 347"integrated in an online localization platform such as B<weblate> or " 348"B<pootle>. The translation result is a set of PO files, one per language." 349msgstr "" 350 351#. type: textblock 352#: po4a:9 353msgid "" 354"When you run the B<po4a> program with both the master documents and the PO " 355"files, it produces the translated documents by injecting the content's " 356"translation (found in the PO files) into the structure of the original " 357"master document." 358msgstr "" 359 360#. type: textblock 361#: po4a:10 362msgid "" 363"If the master documents changed in the meanwhile, po4a will update the PO " 364"and POT files accordingly, so that the translators can easily detect the " 365"modifications and update their work. Depending on your settings, po4a will " 366"discard the partially translated documents, or produce a document mixing " 367"English (for the new or modified paragraphs) and the target language (for " 368"paragraphs where translation is already in the PO file)." 369msgstr "" 370 371#. type: textblock 372#: po4a:11 373msgid "" 374"By default, the translated documents are produced when at least 80% of their " 375"content is translated (see the I<--keep> option below). Discarding " 376"translations as soon as they are not 100% may be discouraging for the " 377"translators, while showing \"translations\" that are too incomplete may be " 378"troubling for the end users." 379msgstr "" 380 381#. type: =head2 382#: po4a:12 383msgid "Graphical overview" 384msgstr "" 385 386#. type: verbatim 387#: po4a:13 388#, no-wrap 389msgid "" 390" master documents ---+---->-------->---------+\n" 391" (doc authoring) | |\n" 392" V (po4a executions) >-----+--> translations\n" 393" | | |\n" 394" existing PO files -->--> updated PO files >-+ |\n" 395" ^ | |\n" 396" | V |\n" 397" +----------<---------<-------+ ^\n" 398" (manual translation process) |\n" 399" |\n" 400" addendum -->--------------------------------------+\n" 401"\n" 402msgstr "" 403 404#. type: textblock 405#: po4a:14 406msgid "" 407"The master documents are authored by the documentation writers. Any changes " 408"are automatically reflected by po4a in the PO files, that are then updated " 409"by the translators. All changes to the PO files (either manual or by po4a) " 410"are automatically reflected in translated documents. You can mimic this " 411"behavior using the L<po4a-updatepo(1)> and L<po4a-translate(1)> scripts in " 412"makefiles, but this quickly becomes bothersome and repetitive (see " 413"L<po4a(7)>). It is highly recommended to use the B<po4a> program in your " 414"build process." 415msgstr "" 416 417#. type: =item 418#: po4a:16 po4a-translate:28 419msgid "B<-k>, B<--keep>" 420msgstr "" 421 422#. type: textblock 423#: po4a:17 424msgid "" 425"Minimal threshold for translation percentage to keep (i.e. write) the " 426"resulting file (default: 80). I.e. by default, files have to be translated " 427"at least at 80% to be written on disk." 428msgstr "" 429 430#. type: =item 431#: po4a:18 po4a-gettextize:26 po4a-normalize:15 po4a-translate:32 432#: po4a-updatepo:28 433msgid "B<-h>, B<--help>" 434msgstr "" 435 436#. type: textblock 437#: po4a:19 po4a-gettextize:27 po4a-normalize:16 po4a-translate:33 438#: po4a-updatepo:29 439msgid "Show a short help message." 440msgstr "" 441 442#. type: =item 443#: po4a:20 po4a-gettextize:16 po4a-normalize:21 po4a-translate:18 444#: po4a-updatepo:16 445msgid "B<-M>, B<--master-charset>" 446msgstr "" 447 448#. type: textblock 449#: po4a:21 450msgid "" 451"Charset of the files containing the documents to translate. Note that all " 452"master documents must use the same charset." 453msgstr "" 454 455#. type: =item 456#: po4a:22 po4a-gettextize:20 po4a-translate:22 457msgid "B<-L>, B<--localized-charset>" 458msgstr "" 459 460#. type: textblock 461#: po4a:23 462msgid "" 463"Charset of the files containing the localized documents. Note that all " 464"translated documents will use the same charset." 465msgstr "" 466 467#. type: =item 468#: po4a:24 po4a-translate:14 469msgid "B<-A>, B<--addendum-charset>" 470msgstr "" 471 472#. type: textblock 473#: po4a:25 po4a-translate:15 474msgid "" 475"Charset of the addenda. Note that all the addenda should be in the same " 476"charset." 477msgstr "" 478 479#. type: =item 480#: po4a:26 po4a-gettextize:30 po4a-normalize:27 po4a-translate:36 481#: po4a-updatepo:32 482msgid "B<-V>, B<--version>" 483msgstr "" 484 485#. type: textblock 486#: po4a:27 po4a-gettextize:31 po4a-normalize:28 po4a-translate:37 487#: po4a-updatepo:33 488msgid "Display the version of the script and exit." 489msgstr "" 490 491#. type: =item 492#: po4a:28 po4a-gettextize:32 po4a-translate:38 po4a-updatepo:34 493msgid "B<-v>, B<--verbose>" 494msgstr "" 495 496#. type: textblock 497#: po4a:29 po4a-gettextize:33 po4a-translate:39 po4a-updatepo:35 498msgid "Increase the verbosity of the program." 499msgstr "" 500 501#. type: =item 502#: po4a:30 503msgid "B<-q>, B<--quiet>" 504msgstr "" 505 506#. type: textblock 507#: po4a:31 508msgid "Decrease the verbosity of the program." 509msgstr "" 510 511#. type: =item 512#: po4a:32 po4a-gettextize:34 po4a-translate:40 po4a-updatepo:36 513msgid "B<-d>, B<--debug>" 514msgstr "" 515 516#. type: textblock 517#: po4a:33 po4a-gettextize:35 po4a-translate:41 po4a-updatepo:37 518msgid "Output some debugging information." 519msgstr "" 520 521#. type: =item 522#: po4a:34 po4a-gettextize:24 po4a-normalize:10 po4a-translate:26 523#: po4a-updatepo:20 524msgid "B<-o>, B<--option>" 525msgstr "" 526 527#. type: textblock 528#: po4a:35 po4a-gettextize:25 po4a-normalize:11 po4a-translate:27 529#: po4a-updatepo:21 530msgid "" 531"Extra option(s) to pass to the format plugin. See the documentation of each " 532"plugin for more information about the valid options and their meanings. For " 533"example, you could pass '-o tablecells' to the AsciiDoc parser, while the " 534"text parser would accept '-o tabs=split'." 535msgstr "" 536 537#. type: =item 538#: po4a:36 539msgid "B<-f>, B<--force>" 540msgstr "" 541 542#. type: textblock 543#: po4a:37 544msgid "" 545"Always generate the POT and PO files, even if B<po4a> considers it is not " 546"necessary." 547msgstr "" 548 549#. type: textblock 550#: po4a:38 551msgid "" 552"The default behavior (when B<--force> is not specified) is the following:" 553msgstr "" 554 555#. type: textblock 556#: po4a:39 557msgid "" 558"If the POT file already exists, it is regenerated if a master document or " 559"the configuration file is more recent (unless B<--no-update> is provided). " 560"The POT file is also written in a temporary document and B<po4a> verifies " 561"that the changes are really needed." 562msgstr "" 563 564#. type: textblock 565#: po4a:40 566msgid "" 567"Also, a translation is regenerated only if its master document, the PO file, " 568"one of its addenda or the configuration file is more recent. To avoid " 569"trying to regenerate translations which do not pass the threshold test (see " 570"B<--keep>), a file with the F<.po4a-stamp> extension can be created (see B<--" 571"stamp>)." 572msgstr "" 573 574#. type: textblock 575#: po4a:41 576msgid "" 577"If a master document includes files, you should use the B<--force> flag " 578"because the modification time of these included files are not taken into " 579"account." 580msgstr "" 581 582#. type: textblock 583#: po4a:42 584msgid "" 585"The PO files are always re-generated based on the POT with B<msgmerge -U>." 586msgstr "" 587 588#. type: =item 589#: po4a:43 590msgid "B<--stamp>" 591msgstr "" 592 593#. type: textblock 594#: po4a:44 595msgid "" 596"Tells B<po4a> to create stamp files when a translation is not generated " 597"because it does not reach the threshold. These stamp files are named " 598"according to the expected translated document, with the F<.po4a-stamp> " 599"extension." 600msgstr "" 601 602#. type: textblock 603#: po4a:45 604msgid "" 605"Note: This only activates the creation of the F<.po4a-stamp> files. The " 606"stamp files are always used if they exist, and they are removed with B<--rm-" 607"translations> or when the file is finally translated." 608msgstr "" 609 610#. type: =item 611#: po4a:46 612msgid "B<--no-translations>" 613msgstr "" 614 615#. type: textblock 616#: po4a:47 617msgid "" 618"Do not generate the translated documents, only update the POT and PO files." 619msgstr "" 620 621#. type: =item 622#: po4a:48 623msgid "B<--no-update>" 624msgstr "" 625 626#. type: textblock 627#: po4a:49 628msgid "" 629"Do not change the POT and PO files, only the translation may be updated." 630msgstr "" 631 632#. type: =item 633#: po4a:50 634msgid "B<--keep-translations>" 635msgstr "" 636 637#. type: textblock 638#: po4a:51 639msgid "" 640"Keeps the existing translation files even if the translation doesn't meet " 641"the threshold specified by B<--keep>. This option does not create new " 642"translation files with few content, but it will save existing translations " 643"which decay because of changes to the master files." 644msgstr "" 645 646#. type: textblock 647#: po4a:52 648msgid "" 649"WARNING: This flag changes the po4a behavior in a rather drastic way: your " 650"translated files will not get updated at all until the translation improves. " 651"Only use this flag if you prefer shipping an outdated translated " 652"documentation rather than only shipping an accurate untranslated " 653"documentation." 654msgstr "" 655 656#. type: =item 657#: po4a:53 658msgid "B<--rm-translations>" 659msgstr "" 660 661#. type: textblock 662#: po4a:54 663msgid "Remove the translated files (implies B<--no-translations>)." 664msgstr "" 665 666#. type: =item 667#: po4a:55 668msgid "B<--no-backups>" 669msgstr "" 670 671#. type: textblock 672#: po4a:56 po4a:58 673msgid "" 674"This flag does nothing since 0.41, and may be removed in later releases." 675msgstr "" 676 677#. type: =item 678#: po4a:57 679msgid "B<--rm-backups>" 680msgstr "" 681 682#. type: =item 683#: po4a:59 684msgid "B<--translate-only> I<translated-file>" 685msgstr "" 686 687#. type: textblock 688#: po4a:60 689msgid "" 690"Translate only the specified file. It may be useful to speed up processing " 691"if a configuration file contains a lot of files. Note that this option does " 692"not update PO and POT files. This option can be used multiple times." 693msgstr "" 694 695#. type: =item 696#: po4a:61 697msgid "B<--variable> I<var>B<=>I<value>" 698msgstr "" 699 700#. type: textblock 701#: po4a:62 702msgid "" 703"Define a variable that will be expanded in the B<po4a> configuration file. " 704"Every occurrence of I<$(var)> will be replaced by I<value>. This option can " 705"be used multiple times." 706msgstr "" 707 708#. type: =item 709#: po4a:63 710msgid "B<--srcdir> I<SRCDIR>" 711msgstr "" 712 713#. type: textblock 714#: po4a:64 715msgid "" 716"Set the base directory for all input documents specified in the B<po4a> " 717"configuration file." 718msgstr "" 719 720#. type: textblock 721#: po4a:65 722msgid "" 723"If both I<destdir> and I<srcdir> are specified, input files are searched in " 724"the following directories, in order: I<destdir>, the current directory and " 725"I<srcdir>. Output files are written to I<destdir> if specified, or to the " 726"current directory." 727msgstr "" 728 729#. type: =item 730#: po4a:66 731msgid "B<--destdir> I<DESTDIR>" 732msgstr "" 733 734#. type: textblock 735#: po4a:67 736msgid "" 737"Set the base directory for all the output documents specified in the B<po4a> " 738"configuration file (see B<--srcdir> above)." 739msgstr "" 740 741#. type: =head2 742#: po4a:68 743msgid "Options modifying the POT header" 744msgstr "" 745 746#. type: =item 747#: po4a:69 lib/Locale/Po4a/Po.pm:14 748msgid "B<--porefs> I<type>" 749msgstr "" 750 751#. type: textblock 752#: po4a:70 po4a-translate:43 po4a-updatepo:39 lib/Locale/Po4a/Po.pm:15 753msgid "" 754"Specify the reference format. Argument I<type> can be one of B<never> to not " 755"produce any reference, B<file> to only specify the file without the line " 756"number, B<counter> to replace line number by an increasing counter, and " 757"B<full> to include complete references (default: full)." 758msgstr "" 759 760#. type: =item 761#: po4a:71 po4a-translate:45 po4a-updatepo:41 lib/Locale/Po4a/Po.pm:16 762msgid "B<--wrap-po> B<no>|B<newlines>|I<number> (default: 76)" 763msgstr "" 764 765#. type: textblock 766#: po4a:72 po4a-translate:46 po4a-updatepo:42 lib/Locale/Po4a/Po.pm:17 767msgid "" 768"Specify how the po file should be wrapped. This gives the choice between " 769"either files that are nicely wrapped but could lead to git conflicts, or " 770"files that are easier to handle automatically, but harder to read for humans." 771msgstr "" 772 773#. type: textblock 774#: po4a:73 lib/Locale/Po4a/Po.pm:18 775msgid "" 776"Historically, the gettext suite has reformatted the po files at the 77th " 777"column for cosmetics. This option specifies the behavior of po4a. If set to " 778"a numerical value, po4a will wrap the po file after this column and after " 779"newlines in the content. If set to B<newlines>, po4a will only split the " 780"msgid and msgstr after newlines in the content. If set to B<no>, po4a will " 781"not wrap the po file at all. The reference comments are always wrapped by " 782"the gettext tools that we use internally." 783msgstr "" 784 785#. type: textblock 786#: po4a:74 po4a-translate:48 po4a-updatepo:44 lib/Locale/Po4a/Po.pm:19 787msgid "" 788"Note that this option has no impact on how the msgid and msgstr are wrapped, " 789"ie on how newlines are added to the content of these strings." 790msgstr "" 791 792#. type: =item 793#: po4a:75 794msgid "B<--master-language>" 795msgstr "" 796 797#. type: textblock 798#: po4a:76 799msgid "" 800"Language of the source files containing the documents to translate. Note " 801"that all master documents must use the same language." 802msgstr "" 803 804#. type: =item 805#: po4a:77 po4a-gettextize:36 po4a-updatepo:45 lib/Locale/Po4a/Po.pm:20 806msgid "B<--msgid-bugs-address> I<email@address>" 807msgstr "" 808 809#. type: textblock 810#: po4a:78 po4a-gettextize:37 po4a-updatepo:46 lib/Locale/Po4a/Po.pm:21 811msgid "" 812"Set the report address for msgid bugs. By default, the created POT files " 813"have no Report-Msgid-Bugs-To fields." 814msgstr "" 815 816#. type: =item 817#: po4a:79 po4a-gettextize:38 po4a-updatepo:47 lib/Locale/Po4a/Po.pm:22 818msgid "B<--copyright-holder> I<string>" 819msgstr "" 820 821#. type: textblock 822#: po4a:80 po4a-gettextize:39 po4a-updatepo:48 lib/Locale/Po4a/Po.pm:23 823msgid "" 824"Set the copyright holder in the POT header. The default value is \"Free " 825"Software Foundation, Inc.\"" 826msgstr "" 827 828#. type: =item 829#: po4a:81 po4a-gettextize:40 po4a-updatepo:49 lib/Locale/Po4a/Po.pm:24 830msgid "B<--package-name> I<string>" 831msgstr "" 832 833#. type: textblock 834#: po4a:82 po4a-gettextize:41 po4a-updatepo:50 lib/Locale/Po4a/Po.pm:25 835msgid "Set the package name for the POT header. The default is \"PACKAGE\"." 836msgstr "" 837 838#. type: =item 839#: po4a:83 po4a-gettextize:42 po4a-updatepo:51 lib/Locale/Po4a/Po.pm:26 840msgid "B<--package-version> I<string>" 841msgstr "" 842 843#. type: textblock 844#: po4a:84 po4a-gettextize:43 po4a-updatepo:52 lib/Locale/Po4a/Po.pm:27 845msgid "Set the package version for the POT header. The default is \"VERSION\"." 846msgstr "" 847 848#. type: =head2 849#: po4a:85 850msgid "Options to modify the PO files" 851msgstr "" 852 853#. type: =item 854#: po4a:86 po4a-updatepo:26 855msgid "B<--msgmerge-opt> I<options>" 856msgstr "" 857 858#. type: textblock 859#: po4a:87 po4a-updatepo:27 860msgid "Extra options for B<msgmerge>(1)." 861msgstr "" 862 863#. type: textblock 864#: po4a:88 865msgid "Note: B<$lang> will be extended to the current language." 866msgstr "" 867 868#. type: =item 869#: po4a:89 po4a-updatepo:22 870msgid "B<--no-previous>" 871msgstr "" 872 873#. type: textblock 874#: po4a:90 po4a-updatepo:23 875msgid "" 876"This option removes B<--previous> from the options passed to B<msgmerge>. " 877"This permits to support versions of B<gettext> earlier than 0.16." 878msgstr "" 879 880#. type: =item 881#: po4a:91 po4a-updatepo:24 882msgid "B<--previous>" 883msgstr "" 884 885#. type: textblock 886#: po4a:92 po4a-updatepo:25 887msgid "" 888"This option adds B<--previous> to the options passed to B<msgmerge>. It " 889"requires B<gettext> 0.16 or later, and is activated by default." 890msgstr "" 891 892#. type: =head1 893#: po4a:93 894msgid "CONFIGURATION FILE" 895msgstr "" 896 897#. type: textblock 898#: po4a:94 899msgid "" 900"po4a expects a configuration file as argument. This file must contain the " 901"following elements:" 902msgstr "" 903 904#. type: textblock 905#: po4a:95 906msgid "" 907"The path to the PO files and the list of languages existing in the project;" 908msgstr "" 909 910#. type: textblock 911#: po4a:96 912msgid "" 913"Optionally, some global options and so-called configuration aliases that are " 914"used as templates to configure individual master files;" 915msgstr "" 916 917#. type: textblock 918#: po4a:97 919msgid "" 920"The list of each master file to translate, along with specific parameters." 921msgstr "" 922 923#. type: textblock 924#: po4a:98 925msgid "" 926"All lines contain a command between square braces, followed by its " 927"parameters. Comments begin with the char '#' and run until the end of the " 928"line. You can escape the end of line to spread a command over several lines." 929msgstr "" 930 931#. type: textblock 932#: po4a:99 933msgid "" 934"Some full examples are presented on this page, while other examples can be " 935"found in the C<t/cfg> directory of the source distribution." 936msgstr "" 937 938#. type: =head2 939#: po4a:100 940msgid "Finding the PO and POT files" 941msgstr "" 942 943#. type: textblock 944#: po4a:101 945msgid "" 946"The simplest solution is to explicitly give the path to POT and PO files, as " 947"follows:" 948msgstr "" 949 950#. type: verbatim 951#: po4a:102 952#, no-wrap 953msgid "" 954" [po4a_paths] man/po/project.pot de:man/po/de.po fr:man/po/fr.po\n" 955"\n" 956msgstr "" 957 958#. type: textblock 959#: po4a:103 960msgid "" 961"This specifies the path to the POT file first, and then the paths to the " 962"German and French PO files." 963msgstr "" 964 965#. type: textblock 966#: po4a:104 967msgid "" 968"The same information can be written as follows to reduce the risk of copy/" 969"paste errors:" 970msgstr "" 971 972#. type: verbatim 973#: po4a:105 974#, no-wrap 975msgid "" 976" [po4a_langs] fr de\n" 977" [po4a_paths] man/po/project.pot $lang:man/po/$lang.po\n" 978"\n" 979msgstr "" 980 981#. type: textblock 982#: po4a:106 983msgid "" 984"The C<$lang> component is automatically expanded using the provided " 985"languages list, reducing the risk of copy/paste error when a new language is " 986"added." 987msgstr "" 988 989#. type: textblock 990#: po4a:107 991msgid "" 992"You can further compact the same information by only providing the path to " 993"the directory containing your translation project, as follows." 994msgstr "" 995 996#. type: verbatim 997#: po4a:108 998#, no-wrap 999msgid "" 1000" [po_directory] man/po/\n" 1001"\n" 1002msgstr "" 1003 1004#. type: textblock 1005#: po4a:109 1006msgid "" 1007"The provided directory must contain a set of PO files, each named F<XX.po> " 1008"with C<XX> the ISO 639-1 of the language used in this file. The directory " 1009"must also contain a single POT file, with the C<.pot> file extension. For " 1010"the first run, this file can be empty but it must exist (po4a cannot guess " 1011"the name to use before the extension)." 1012msgstr "" 1013 1014#. type: textblock 1015#: po4a:110 1016msgid "" 1017"Note that you must choose only one between C<po_directory> and " 1018"C<po4a_paths>. The first one (C<po_directory>) is more compact, further " 1019"reduces the risk of copy/paste error, but forces you to use the expected " 1020"project structure and file names. The second one (C<po4a_paths>), is more " 1021"explicit, probably more readable, and advised when you setup your first " 1022"project with po4a." 1023msgstr "" 1024 1025#. type: =head3 1026#: po4a:111 1027msgid "Centralized or split PO files?" 1028msgstr "" 1029 1030#. type: textblock 1031#: po4a:112 1032msgid "" 1033"By default, po4a produces one single PO file per target language, containing " 1034"the whole content of your translation project. As your project grows, the " 1035"size of these files may become problematic. When using weblate, it is " 1036"possible to specify priorities for each translation segment (i.e., msgid) so " 1037"that the important ones get translated first. Still, some translation teams " 1038"prefer to split the content in several files." 1039msgstr "" 1040 1041#. type: textblock 1042#: po4a:113 1043msgid "" 1044"To have one PO file per master file, you simply have to use the string C<" 1045"$master> in the name of your PO files on the C<[po4a_paths]> line, as " 1046"follows." 1047msgstr "" 1048 1049#. type: verbatim 1050#: po4a:114 1051#, no-wrap 1052msgid "" 1053" [po4a_paths] doc/$master/$master.pot $lang:doc/$master/$lang.po\n" 1054"\n" 1055msgstr "" 1056 1057#. type: textblock 1058#: po4a:115 1059msgid "" 1060"With this line, po4a will produce separate POT and PO files for each " 1061"document to translate. For example, if you have 3 documents and 5 " 1062"languages, this will result in 3 POT files and 15 PO files. These files are " 1063"named as specified on the C<po4a_paths> template, with C<$master> " 1064"substituted to the basename of each document to translate. In case of name " 1065"conflict, you can specify the POT file to use as follows, with the C<pot=> " 1066"parameter. This feature can also be used to group several translated files " 1067"into the same POT file." 1068msgstr "" 1069 1070#. type: verbatim 1071#: po4a:116 1072#, no-wrap 1073msgid "" 1074" [po4a_langs] de fr ja\n" 1075" [po4a_paths] l10n/po/$master.pot $lang:l10n/po/$master.$lang.po\n" 1076" [type: xml] foo/gui.xml $lang:foo/gui.$lang.xml pot=foo-gui\n" 1077" [type: xml] bar/gui.xml $lang:bar/gui.$lang.xml pot=bar\n" 1078" [type: xml] bar/cli.xml $lang:bar/cli.$lang.xml pot=bar\n" 1079"\n" 1080msgstr "" 1081 1082#. type: textblock 1083#: po4a:117 1084msgid "" 1085"In split mode, B<po4a> builds a temporary compendium during the PO update, " 1086"to share the translations between all the PO files. If two PO files have " 1087"different translations for the same string, B<po4a> will mark this string as " 1088"fuzzy and will submit both translations in all the PO files containing this " 1089"string. When unfuzzied by the translator, the translation is automatically " 1090"used in every PO files." 1091msgstr "" 1092 1093#. type: =head2 1094#: po4a:118 1095msgid "Specifying the documents to translate" 1096msgstr "" 1097 1098#. type: textblock 1099#: po4a:119 1100msgid "" 1101"You must also list the documents that should be translated. For each master " 1102"file, you must specify the format parser to use, the location of the " 1103"translated document to produce, and optionally some configuration. Here is " 1104"an example:" 1105msgstr "" 1106 1107#. type: verbatim 1108#: po4a:120 1109#, no-wrap 1110msgid "" 1111" [type: sgml] doc/my_stuff.sgml fr:doc/fr/mon_truc.sgml \\\n" 1112" de:doc/de/mein_kram.sgml\n" 1113" [type: man] script fr:doc/fr/script.1 de:doc/de/script.1\n" 1114" [type: docbook] doc/script.xml fr:doc/fr/script.xml \\\n" 1115" de:doc/de/script.xml\n" 1116"\n" 1117msgstr "" 1118 1119#. type: textblock 1120#: po4a:121 1121msgid "" 1122"But again, these complex lines are difficult to read and modify, e.g. when " 1123"adding a new language. It is much simpler to reorganize things using the C<" 1124"$lang> template as follows:" 1125msgstr "" 1126 1127#. type: verbatim 1128#: po4a:122 1129#, no-wrap 1130msgid "" 1131" [type: sgml] doc/my_stuff.sgml $lang:doc/$lang/my_stuff.sgml\n" 1132" [type: man] script.1 $lang:po/$lang/script.1\n" 1133" [type: docbook] doc/script.xml $lang:doc/$lang/script.xml\n" 1134"\n" 1135msgstr "" 1136 1137#. type: =head2 1138#: po4a:123 1139msgid "Specifying options" 1140msgstr "" 1141 1142#. type: textblock 1143#: po4a:124 1144msgid "" 1145"There is two types of options: I<po4a options> are default values to the " 1146"po4a command line options while I<format options> are used to change the " 1147"behavior of the format parsers. As a I<po4a options>, you could for example " 1148"specify in your configuration file that the default value of the B<--keep> " 1149"command line parameter is 50% instead of 80%. I<Format options> are " 1150"documented on the specific page of each parsing module, e.g. L<Locale::Po4a::" 1151"Xml(3pm)>. You could for example pass B<nostrip> to the XML parser to not " 1152"strip the spaces around the extracted strings." 1153msgstr "" 1154 1155#. type: textblock 1156#: po4a:125 1157msgid "" 1158"You can pass these options for a specific master file, or even for a " 1159"specific translation of that file, using C<opt:> and C<opt_XX:> for the " 1160"C<XX> language. In the following example, the B<nostrip> option is passed " 1161"to the XML parser (for all languages), while the threshold will be reduced " 1162"to 0% for the French translation (that is thus always kept)." 1163msgstr "" 1164 1165#. type: verbatim 1166#: po4a:126 1167#, no-wrap 1168msgid "" 1169" [type:xml] toto.xml $lang:toto.$lang.xml opt:\"-o nostrip\" opt_fr:\"--keep 0\"\n" 1170"\n" 1171msgstr "" 1172 1173#. type: textblock 1174#: po4a:127 1175msgid "" 1176"In any case, these configuration chunks must be located at the end of the " 1177"line. The declaration of files must come first, then the addendum if any " 1178"(see below), and then only the options. The grouping of configuration chunks " 1179"is not very important, since elements are internally concatenated as " 1180"strings. The following examples are all equivalent:" 1181msgstr "" 1182 1183#. type: verbatim 1184#: po4a:128 1185#, no-wrap 1186msgid "" 1187" [type:xml] toto.xml $lang:toto.$lang.xml opt:\"--keep 20\" opt:\"-o nostrip\" opt_fr:\"--keep 0\"\n" 1188" [type:xml] toto.xml $lang:toto.$lang.xml opt:\"--keep 20 -o nostrip\" opt_fr:\"--keep 0\"\n" 1189" [type:xml] toto.xml $lang:toto.$lang.xml opt:--keep opt:20 opt:-o opt:nostrip opt_fr:--keep opt_fr:0\n" 1190"\n" 1191msgstr "" 1192 1193#. type: textblock 1194#: po4a:129 1195msgid "" 1196"Note that language specific options are not used when building the POT file. " 1197"It is for example impossible to pass B<nostrip> to the parser only when " 1198"building the French translation, because the same POT file is used to update " 1199"every languages. So the only options that can be language-specific are the " 1200"ones that are used when producing the translation, as the C<--keep> option." 1201msgstr "" 1202 1203#. type: =head3 1204#: po4a:130 1205msgid "Configuration aliases" 1206msgstr "" 1207 1208#. type: textblock 1209#: po4a:131 1210msgid "" 1211"To pass the same options to several files, the best is to define a type " 1212"alias as follows. In the next example, C<--keep 0> is passed to every " 1213"Italian translation using this C<test> type, that is an extension of the " 1214"C<man> type." 1215msgstr "" 1216 1217#. type: verbatim 1218#: po4a:132 1219#, no-wrap 1220msgid "" 1221" [po4a_alias:test] man opt_it:\"--keep 0\"\n" 1222" [type: test] man/page.1 $lang:man/$lang/page.1\n" 1223"\n" 1224msgstr "" 1225 1226#. type: textblock 1227#: po4a:133 1228msgid "" 1229"You can also extend an existing type reusing the same name for the alias as " 1230"follows. This is not interpreted as as an erroneous recursive definition." 1231msgstr "" 1232 1233#. type: verbatim 1234#: po4a:134 1235#, no-wrap 1236msgid "" 1237" [po4a_alias:man] man opt_it:\"--keep 0\"\n" 1238" [type: man] man/page.1 $lang:man/$lang/page.1\n" 1239"\n" 1240msgstr "" 1241 1242#. type: =head3 1243#: po4a:135 1244msgid "Global default options" 1245msgstr "" 1246 1247#. type: textblock 1248#: po4a:136 1249msgid "" 1250"You can also use C<[options]> lines to define options that must be used for " 1251"all files, regardless of their type." 1252msgstr "" 1253 1254#. type: verbatim 1255#: po4a:137 1256#, no-wrap 1257msgid "" 1258" [options] --keep 20 --option nostrip\n" 1259"\n" 1260msgstr "" 1261 1262#. type: textblock 1263#: po4a:138 1264msgid "" 1265"As with the command line options, you can abbreviate the parameters passed " 1266"in the configuration file:" 1267msgstr "" 1268 1269#. type: verbatim 1270#: po4a:139 1271#, no-wrap 1272msgid "" 1273" [options] -k 20 -o nostrip\n" 1274"\n" 1275msgstr "" 1276 1277#. type: =head3 1278#: po4a:140 1279msgid "Option priorities" 1280msgstr "" 1281 1282#. type: textblock 1283#: po4a:141 1284msgid "" 1285"The options of every sources are concatenated, ensuring that the default " 1286"values can easily be overridden by more specific options. The order is as " 1287"follows:" 1288msgstr "" 1289 1290#. type: textblock 1291#: po4a:142 1292msgid "" 1293"C<[options]> lines provide default values that can be overridden by any " 1294"other source." 1295msgstr "" 1296 1297#. type: textblock 1298#: po4a:143 1299msgid "" 1300"Type aliases are then used. Language specific settings override the ones " 1301"applicable to all languages." 1302msgstr "" 1303 1304#. type: textblock 1305#: po4a:144 1306msgid "" 1307"Settings that are specific to a given master file override both the default " 1308"ones and the ones coming from the type alias. In this case also, language " 1309"specific settings override the global ones." 1310msgstr "" 1311 1312#. type: textblock 1313#: po4a:145 1314msgid "" 1315"Finally, parameters provided on the B<po4a> command line override any " 1316"settings from the configuration file." 1317msgstr "" 1318 1319#. type: =head3 1320#: po4a:146 1321msgid "Example" 1322msgstr "" 1323 1324#. type: textblock 1325#: po4a:147 1326msgid "Here is an example showing how to quote the spaces and quotes:" 1327msgstr "" 1328 1329#. type: verbatim 1330#: po4a:148 1331#, no-wrap 1332msgid "" 1333" [po_directory] man/po/\n" 1334" \n" 1335msgstr "" 1336 1337#. type: verbatim 1338#: po4a:149 1339#, no-wrap 1340msgid "" 1341" [options] --master-charset UTF-8\n" 1342" \n" 1343msgstr "" 1344 1345#. type: verbatim 1346#: po4a:150 1347#, no-wrap 1348msgid "" 1349" [po4a_alias:man] man opt:\"-o \\\"mdoc=NAME,SEE ALSO\\\"\"\n" 1350" [type:man] t-05-config/test02_man.1 $lang:tmp/test02_man.$lang.1 \\\n" 1351" opt:\"-k 75\" opt_it:\"-L UTF-8\" opt_fr:--verbose\n" 1352"\n" 1353msgstr "" 1354 1355#. type: =head2 1356#: po4a:151 1357msgid "Addendum: Adding extra content in the translation" 1358msgstr "" 1359 1360#. type: textblock 1361#: po4a:152 1362msgid "" 1363"If you want to add an extra section to the translation, for example to give " 1364"credit to the translator, then you need to define an addendum to the line " 1365"defining your master file. Please refer to the page L<po4a(7)> for more " 1366"details on the syntax of addendum files." 1367msgstr "" 1368 1369#. type: verbatim 1370#: po4a:153 1371#, no-wrap 1372msgid "" 1373" [type: pod] script fr:doc/fr/script.1 \\\n" 1374" add_fr:doc/l10n/script.fr.add\n" 1375"\n" 1376msgstr "" 1377 1378#. type: textblock 1379#: po4a:154 1380msgid "You can also use language templates as follow:" 1381msgstr "" 1382 1383#. type: verbatim 1384#: po4a:155 1385#, no-wrap 1386msgid "" 1387" [type: pod] script $lang:doc/$lang/script.1 \\\n" 1388" add_$lang:doc/l10n/script.$lang.add\n" 1389"\n" 1390msgstr "" 1391 1392#. type: textblock 1393#: po4a:156 1394msgid "If an addendum fails to apply, the translation is discarded." 1395msgstr "" 1396 1397#. type: =head3 1398#: po4a:157 1399msgid "Modifiers for the addendum declaration" 1400msgstr "" 1401 1402#. type: textblock 1403#: po4a:158 1404msgid "" 1405"Addendum modifiers can simplify the configuration file in the case where not " 1406"all languages provide an addendum, or when the list of addenda changes from " 1407"one language to the other. The modifier is a single char located before the " 1408"file name." 1409msgstr "" 1410 1411#. type: =item 1412#: po4a:159 1413msgid "B<?>" 1414msgstr "" 1415 1416#. type: textblock 1417#: po4a:160 1418msgid "Include I<addendum_path> if this file does exist, otherwise do nothing." 1419msgstr "" 1420 1421#. type: =item 1422#: po4a:161 1423msgid "B<@>" 1424msgstr "" 1425 1426#. type: textblock 1427#: po4a:162 1428msgid "" 1429"I<addendum_path> is not a regular addendum but a file containing a list of " 1430"addenda, one by line. Each addendum may be preceded by modifiers." 1431msgstr "" 1432 1433#. type: =item 1434#: po4a:163 1435msgid "B<!>" 1436msgstr "" 1437 1438#. type: textblock 1439#: po4a:164 1440msgid "" 1441"I<addendum_path> is discarded, it is not loaded and will not be loaded by " 1442"any further addendum specification." 1443msgstr "" 1444 1445#. type: textblock 1446#: po4a:165 1447msgid "" 1448"The following includes an addendum in any language, but if only it exists. " 1449"No error is reported if the addendum does not exist." 1450msgstr "" 1451 1452#. type: verbatim 1453#: po4a:166 1454#, no-wrap 1455msgid "" 1456" [type: pod] script $lang:doc/$lang/script.1 add_$lang:?doc/l10n/script.$lang.add\n" 1457"\n" 1458msgstr "" 1459 1460#. type: textblock 1461#: po4a:167 1462msgid "The following includes a list of addendum for every language:" 1463msgstr "" 1464 1465#. type: verbatim 1466#: po4a:168 1467#, no-wrap 1468msgid "" 1469" [type: pod] script $lang:doc/$lang/script.1 add_$lang:@doc/l10n/script.$lang.add\n" 1470"\n" 1471msgstr "" 1472 1473#. type: =head2 1474#: po4a:169 1475msgid "Filtering the translated strings" 1476msgstr "" 1477 1478#. type: textblock 1479#: po4a:170 1480msgid "" 1481"Sometimes, you want to hide some strings from the translation process. To " 1482"that extend, you can give a C<pot_in> parameter to your master file to " 1483"specify the name of the file to use instead of the real master when building " 1484"the POT file. Here is an example:" 1485msgstr "" 1486 1487#. type: verbatim 1488#: po4a:171 1489#, no-wrap 1490msgid "" 1491" [type:docbook] book.xml \\\n" 1492" pot_in:book-filtered.xml \\\n" 1493" $lang:book.$lang.xml\n" 1494"\n" 1495msgstr "" 1496 1497#. type: textblock 1498#: po4a:172 1499msgid "" 1500"With this setting, the strings to translate will be extracted from the " 1501"F<book-filtered.xml> (that must be produced before calling B<po4a>) while " 1502"the translated files will be built from F<book.xml>. As a result, any string " 1503"that is part of F<book.xml> but not in F<book-filtered.xml> will not be " 1504"included in the PO files, preventing the translators from providing a " 1505"translation for them. So these strings will be left unmodified when " 1506"producing the translated documents. This naturally decreases the level of " 1507"translation, so you may need the C<--keep> option to ensure that the " 1508"document is produced anyway." 1509msgstr "" 1510 1511#. type: =head2 1512#: po4a:173 1513msgid "CONFIGURATION EXAMPLE" 1514msgstr "" 1515 1516#. type: textblock 1517#: po4a:174 1518msgid "TODO: Is this section really useful?" 1519msgstr "" 1520 1521#. type: textblock 1522#: po4a:175 1523msgid "" 1524"Let's assume you maintain a program named B<foo> which has a man page F<man/" 1525"foo.1> which naturally is maintained in English only. Now you as the " 1526"upstream or downstream maintainer want to create and maintain the " 1527"translation. First you need to create the POT file necessary to send to " 1528"translators using L<po4a-gettextize(1)>." 1529msgstr "" 1530 1531#. type: textblock 1532#: po4a:176 1533msgid "So for our case we would call" 1534msgstr "" 1535 1536#. type: verbatim 1537#: po4a:177 1538#, no-wrap 1539msgid "" 1540" cd man && po4a-gettextize -f man -m foo.1 -p foo.pot\n" 1541"\n" 1542msgstr "" 1543 1544#. type: textblock 1545#: po4a:178 1546msgid "" 1547"You would then send this file to the appropriate language lists or offer it " 1548"for download somewhere on your website." 1549msgstr "" 1550 1551#. type: textblock 1552#: po4a:179 1553msgid "" 1554"Now let's assume you received three translations before your next release: " 1555"F<de.po> (including an addendum F<de.add>), F<sv.po> and F<pt.po>. Since " 1556"you don't want to change your F<Makefile>(s) whenever a new translation " 1557"arrives you can use B<po4a> with an appropriate configuration file in your " 1558"F<Makefile>. Let's call it F<po4a.cfg>. In our example it would look like " 1559"the following:" 1560msgstr "" 1561 1562#. type: verbatim 1563#: po4a:180 1564#, no-wrap 1565msgid "" 1566" [po_directory] man/po4a/po/\n" 1567"\n" 1568msgstr "" 1569 1570#. type: verbatim 1571#: po4a:181 1572#, no-wrap 1573msgid "" 1574" [type: man] man/foo.1 $lang:man/translated/$lang/foo.1 \\\n" 1575" add_$lang:?man/po4a/add_$lang/$lang.add opt:\"-k 80\"\n" 1576"\n" 1577msgstr "" 1578 1579#. type: textblock 1580#: po4a:182 1581msgid "" 1582"In this example we assume that your generated man pages (and all PO and " 1583"addenda files) should be stored in F<man/translated/$lang/> (respectively in " 1584"F<man/po4a/po/> and F<man/po4a/add_$lang/>) below the current directory. In " 1585"our example the F<man/po4a/po/> directory would include F<de.po>, F<pt.po> " 1586"and F<sv.po>, and the F<man/po4a/add_de/> directory would include F<de.add>." 1587msgstr "" 1588 1589#. type: textblock 1590#: po4a:183 1591msgid "" 1592"Note the use of the modifier B<?> as only the German translation (F<de.po>) " 1593"is accompanied by an addendum." 1594msgstr "" 1595 1596#. type: textblock 1597#: po4a:184 1598msgid "" 1599"To actually build the translated man pages you would then (once!) add the " 1600"following line in the B<build> target of the appropriate F<Makefile>:" 1601msgstr "" 1602 1603#. type: verbatim 1604#: po4a:185 1605#, no-wrap 1606msgid "" 1607" po4a po4a.cfg\n" 1608"\n" 1609msgstr "" 1610 1611#. type: textblock 1612#: po4a:186 1613msgid "" 1614"Once this is set up you don't need to touch the F<Makefile> when a new " 1615"translation arrives, i.e. if the French team sends you F<fr.po> and F<fr." 1616"add> then you simply drop them respectively in F<man/po4a/po/> and F<man/" 1617"po4a/add_fr/> and the next time the program is built the French translation " 1618"is automatically build as well in F<man/translated/fr/>." 1619msgstr "" 1620 1621#. type: textblock 1622#: po4a:187 1623msgid "" 1624"Note that you still need an appropriate target to install localized manual " 1625"pages with English ones." 1626msgstr "" 1627 1628#. type: verbatim 1629#: po4a:188 1630#, no-wrap 1631msgid "" 1632"Finally if you do not store generated files into your version control system,\n" 1633"you will need a line in your B<clean> target as well:\n" 1634" -rm -rf man/translated\n" 1635"\n" 1636msgstr "" 1637 1638#. type: textblock 1639#: po4a:190 1640msgid "" 1641"L<po4a-gettextize(1)>, L<po4a-normalize(1)>, L<po4a-translate(1)>, L<po4a-" 1642"updatepo(1)>, L<po4a(7)>." 1643msgstr "" 1644 1645#. type: =head1 1646#: po4a:191 po4a-gettextize:73 po4a-normalize:31 po4a-translate:56 1647#: po4a-updatepo:55 msguntypot:32 doc/po4a.7.pod:183 1648#: lib/Locale/Po4a/AsciiDoc.pm:52 lib/Locale/Po4a/BibTeX.pm:11 1649#: lib/Locale/Po4a/Chooser.pm:12 lib/Locale/Po4a/Common.pm:28 1650#: lib/Locale/Po4a/Dia.pm:14 lib/Locale/Po4a/Docbook.pm:17 1651#: lib/Locale/Po4a/Guide.pm:12 lib/Locale/Po4a/Halibut.pm:16 1652#: lib/Locale/Po4a/Ini.pm:10 lib/Locale/Po4a/KernelHelp.pm:9 1653#: lib/Locale/Po4a/LaTeX.pm:10 lib/Locale/Po4a/Man.pm:109 1654#: lib/Locale/Po4a/Po.pm:101 lib/Locale/Po4a/Pod.pm:38 1655#: lib/Locale/Po4a/Sgml.pm:53 lib/Locale/Po4a/TeX.pm:120 1656#: lib/Locale/Po4a/Texinfo.pm:12 lib/Locale/Po4a/Text.pm:40 1657#: lib/Locale/Po4a/TransTractor.pm:156 lib/Locale/Po4a/Wml.pm:11 1658#: lib/Locale/Po4a/Xhtml.pm:17 lib/Locale/Po4a/Xml.pm:186 1659msgid "AUTHORS" 1660msgstr "" 1661 1662#. type: verbatim 1663#: po4a:192 po4a-gettextize:74 po4a-normalize:32 po4a-translate:57 1664#: po4a-updatepo:56 lib/Locale/Po4a/Man.pm:110 1665#, no-wrap 1666msgid "" 1667" Denis Barbier <barbier@linuxfr.org>\n" 1668" Nicolas François <nicolas.francois@centraliens.net>\n" 1669" Martin Quinson (mquinson#debian.org)\n" 1670"\n" 1671msgstr "" 1672 1673#. type: =head1 1674#: po4a:193 po4a-gettextize:75 po4a-normalize:33 po4a-translate:58 1675#: po4a-updatepo:57 msguntypot:34 lib/Locale/Po4a/AsciiDoc.pm:54 1676#: lib/Locale/Po4a/BibTeX.pm:13 lib/Locale/Po4a/Chooser.pm:14 1677#: lib/Locale/Po4a/Common.pm:30 lib/Locale/Po4a/Dia.pm:16 1678#: lib/Locale/Po4a/Docbook.pm:19 lib/Locale/Po4a/Guide.pm:14 1679#: lib/Locale/Po4a/Halibut.pm:18 lib/Locale/Po4a/Ini.pm:12 1680#: lib/Locale/Po4a/KernelHelp.pm:11 lib/Locale/Po4a/LaTeX.pm:12 1681#: lib/Locale/Po4a/Man.pm:111 lib/Locale/Po4a/Pod.pm:40 1682#: lib/Locale/Po4a/Sgml.pm:58 lib/Locale/Po4a/TeX.pm:122 1683#: lib/Locale/Po4a/Texinfo.pm:14 lib/Locale/Po4a/Text.pm:42 1684#: lib/Locale/Po4a/Wml.pm:13 lib/Locale/Po4a/Xhtml.pm:19 1685#: lib/Locale/Po4a/Xml.pm:188 1686msgid "COPYRIGHT AND LICENSE" 1687msgstr "" 1688 1689#. type: textblock 1690#: po4a:194 po4a-gettextize:76 po4a-normalize:34 po4a-translate:59 1691#: po4a-updatepo:58 1692msgid "Copyright 2002-2020 by SPI, inc." 1693msgstr "" 1694 1695#. type: textblock 1696#: po4a:195 po4a-gettextize:77 po4a-normalize:35 po4a-translate:60 1697#: po4a-updatepo:59 msguntypot:36 lib/Locale/Po4a/AsciiDoc.pm:56 1698#: lib/Locale/Po4a/BibTeX.pm:15 lib/Locale/Po4a/Chooser.pm:16 1699#: lib/Locale/Po4a/Common.pm:32 lib/Locale/Po4a/Dia.pm:18 1700#: lib/Locale/Po4a/Docbook.pm:21 lib/Locale/Po4a/Guide.pm:16 1701#: lib/Locale/Po4a/Ini.pm:14 lib/Locale/Po4a/KernelHelp.pm:13 1702#: lib/Locale/Po4a/Man.pm:113 lib/Locale/Po4a/Pod.pm:42 1703#: lib/Locale/Po4a/Sgml.pm:60 lib/Locale/Po4a/TeX.pm:124 1704#: lib/Locale/Po4a/Text.pm:45 lib/Locale/Po4a/Wml.pm:15 1705#: lib/Locale/Po4a/Xhtml.pm:21 lib/Locale/Po4a/Xml.pm:190 1706msgid "" 1707"This program is free software; you may redistribute it and/or modify it " 1708"under the terms of GPL (see the COPYING file)." 1709msgstr "" 1710 1711#. type: textblock 1712#: po4a-gettextize:2 1713msgid "" 1714"po4a-gettextize - convert an original file (and its translation) to a PO file" 1715msgstr "" 1716 1717#. type: textblock 1718#: po4a-gettextize:4 1719msgid "" 1720"B<po4a-gettextize> B<-f> I<fmt> B<-m> I<master.doc> [B<-l> I<XX.doc>] B<-p> " 1721"I<XX.po>" 1722msgstr "" 1723 1724#. type: textblock 1725#: po4a-gettextize:5 1726msgid "(I<XX.po> is the output, all others are inputs)" 1727msgstr "" 1728 1729#. type: textblock 1730#: po4a-gettextize:8 1731msgid "" 1732"The B<po4a-gettextize> script is in charge of converting documentation files " 1733"into PO files. You only need it to setup your translation project with po4a, " 1734"never afterward." 1735msgstr "" 1736 1737#. type: textblock 1738#: po4a-gettextize:9 1739msgid "" 1740"If you start from scratch, B<po4a-gettextize> will extract the translatable " 1741"strings from the documentation and write a POT file. If you provide a " 1742"previously existing translated file with the B<-l> flag, B<po4a-gettextize> " 1743"will try to use the translations that it contains in the produced PO file. " 1744"This process remains tedious and manual, as explained in Section 'Converting " 1745"a manual translation to po4a' below." 1746msgstr "" 1747 1748#. type: textblock 1749#: po4a-gettextize:10 1750msgid "" 1751"If the master document has non-ASCII characters, the new generated PO file " 1752"will be in UTF-8. Else (if the master document is completely in ASCII), the " 1753"generated PO will use the encoding of the translated input document, or " 1754"UTF-8 if no translated document is provided." 1755msgstr "" 1756 1757#. type: =item 1758#: po4a-gettextize:12 po4a-normalize:19 po4a-translate:10 po4a-updatepo:12 1759msgid "B<-f>, B<--format>" 1760msgstr "" 1761 1762#. type: textblock 1763#: po4a-gettextize:13 po4a-normalize:20 po4a-translate:11 po4a-updatepo:13 1764msgid "" 1765"Format of the documentation you want to handle. Use the B<--help-format> " 1766"option to see the list of available formats." 1767msgstr "" 1768 1769#. type: =item 1770#: po4a-gettextize:14 po4a-translate:16 po4a-updatepo:14 1771msgid "B<-m>, B<--master>" 1772msgstr "" 1773 1774#. type: textblock 1775#: po4a-gettextize:15 1776msgid "" 1777"File containing the master document to translate. You can use this option " 1778"multiple times if you want to gettextize multiple documents." 1779msgstr "" 1780 1781#. type: textblock 1782#: po4a-gettextize:17 po4a-normalize:22 po4a-translate:19 1783msgid "Charset of the file containing the document to translate." 1784msgstr "" 1785 1786#. type: =item 1787#: po4a-gettextize:18 po4a-normalize:23 po4a-translate:20 1788msgid "B<-l>, B<--localized>" 1789msgstr "" 1790 1791#. type: textblock 1792#: po4a-gettextize:19 1793msgid "" 1794"File containing the localized (translated) document. If you provided " 1795"multiple master files, you may wish to provide multiple localized file by " 1796"using this option more than once." 1797msgstr "" 1798 1799#. type: textblock 1800#: po4a-gettextize:21 po4a-translate:23 1801msgid "Charset of the file containing the localized document." 1802msgstr "" 1803 1804#. type: =item 1805#: po4a-gettextize:22 po4a-translate:24 po4a-updatepo:18 1806msgid "B<-p>, B<--po>" 1807msgstr "" 1808 1809#. type: textblock 1810#: po4a-gettextize:23 1811msgid "" 1812"File where the message catalog should be written. If not given, the message " 1813"catalog will be written to the standard output." 1814msgstr "" 1815 1816#. type: =item 1817#: po4a-gettextize:28 po4a-normalize:17 po4a-translate:34 po4a-updatepo:30 1818msgid "B<--help-format>" 1819msgstr "" 1820 1821#. type: textblock 1822#: po4a-gettextize:29 po4a-normalize:18 po4a-translate:35 po4a-updatepo:31 1823msgid "List the documentation formats understood by po4a." 1824msgstr "" 1825 1826#. type: =head2 1827#: po4a-gettextize:44 1828msgid "Converting a manual translation to po4a" 1829msgstr "" 1830 1831#. type: textblock 1832#: po4a-gettextize:45 1833msgid "" 1834"B<po4a-gettextize> will try to extract the content of any provided " 1835"translation file, and use this content as msgstr in the produced PO file. Be " 1836"warned that this process is very fragile: the Nth string of the translated " 1837"file is supposed to be the translation of the Nth string in the original. " 1838"This will naturally not work unless both files share exactly the same " 1839"structure." 1840msgstr "" 1841 1842#. type: textblock 1843#: po4a-gettextize:46 1844msgid "" 1845"Internally, each po4a parser reports the syntactical type of each extracted " 1846"strings. This is how desynchronization are detected during the " 1847"gettextization. For example, if the files have the following structure, it " 1848"is very unlikely that the 4th string in translation (of type 'chapter') is " 1849"the translation of the 4th string in original (of type 'paragraph'). It is " 1850"more likely that a new paragraph was added to the original, or that two " 1851"original paragraphs were merged together in the translation." 1852msgstr "" 1853 1854#. type: verbatim 1855#: po4a-gettextize:47 1856#, no-wrap 1857msgid "" 1858" Original Translation\n" 1859"\n" 1860msgstr "" 1861 1862#. type: verbatim 1863#: po4a-gettextize:48 1864#, no-wrap 1865msgid "" 1866" chapter chapter\n" 1867" paragraph paragraph\n" 1868" paragraph paragraph\n" 1869" paragraph chapter\n" 1870" chapter paragraph\n" 1871" paragraph paragraph\n" 1872"\n" 1873msgstr "" 1874 1875#. type: textblock 1876#: po4a-gettextize:49 1877msgid "" 1878"B<po4a-gettextize> will verbosely diagnose any detected structure " 1879"desynchronization. When this happens, you should manually edit the files " 1880"(this probably requires that you have some notions of the target language). " 1881"You must add fake paragraphs or remove some content in one of the documents " 1882"(or both) to fix the reported disparities, until the structure of both " 1883"documents perfectly match. Some tricks are given in the next section." 1884msgstr "" 1885 1886#. type: textblock 1887#: po4a-gettextize:50 1888msgid "" 1889"Even when the document is successfully processed, undetected disparities and " 1890"silent errors are still possible. That is why any translation associated " 1891"automatically by po4a-gettextize is marked as I<fuzzy> to require an manual " 1892"inspection by humans. One has to check that each retrieved msgstr is " 1893"actually the translation of the associated msgid, and not the string before " 1894"or after." 1895msgstr "" 1896 1897#. type: textblock 1898#: po4a-gettextize:51 1899msgid "" 1900"As you can see, the key here is to have the exact same structure in the " 1901"translated document and in the original one. The best is to do the " 1902"gettextization on the exact version of F<master.doc> that was used for the " 1903"translation, and only update the PO file against the latest master file once " 1904"the gettextization was successful." 1905msgstr "" 1906 1907#. type: textblock 1908#: po4a-gettextize:52 1909msgid "" 1910"If you are lucky enough to have a a perfect match in the file structures, " 1911"building a correct PO file is a matter of seconds. Otherwise, you will soon " 1912"understand why this process has such an ugly name :) But remember that this " 1913"grunt work is the price to pay to get the comfort of po4a afterward. Once " 1914"converted, the synchronization between master documents and translations " 1915"will always be fully automatic." 1916msgstr "" 1917 1918#. type: textblock 1919#: po4a-gettextize:53 1920msgid "" 1921"Even when things go wrong, gettextization often remains faster than " 1922"translating everything again. I was able to gettextize the existing French " 1923"translation of the whole Perl documentation in one day, even though the " 1924"structure of many documents were desynchronized. That was more than two " 1925"megabytes of original text (2 millions of characters): restarting the " 1926"translation from scratch would have required several months of work." 1927msgstr "" 1928 1929#. type: =head2 1930#: po4a-gettextize:54 1931msgid "Hints and tricks for the gettextization process" 1932msgstr "" 1933 1934#. type: textblock 1935#: po4a-gettextize:55 1936msgid "" 1937"The gettextization stops as soon as a desynchronization is detected. In " 1938"theory, it should probably be possible resynchronize the gettextization " 1939"later in the documents using e.g. the same algorithm than the L<diff(1)> " 1940"utility. But a manual intervention would still be mandatory to manually " 1941"match the elements that couldn't be automatically matched, explaining why " 1942"automatic resynchronization is not implemented (yet?)." 1943msgstr "" 1944 1945#. type: textblock 1946#: po4a-gettextize:56 1947msgid "" 1948"When this happens, the whole game comes down to the alignment of these damn " 1949"files' structures again through manual edits. B<po4a-gettextize> is rather " 1950"verbose about what went wrong when it happens. It reports the strings that " 1951"don't match, their positions in the text, and the type of each of them. " 1952"Moreover, the PO file generated so far is dumped as F<gettextization.failed." 1953"po> for further inspection." 1954msgstr "" 1955 1956#. type: textblock 1957#: po4a-gettextize:57 1958msgid "Here are some other tricks to help you in this tedious process:" 1959msgstr "" 1960 1961#. type: textblock 1962#: po4a-gettextize:58 1963msgid "" 1964"Remove all extra content of the translations, such as the section giving " 1965"credits to the translators. You can add them back in po4a afterward, using " 1966"an addenda (see L<po4a(7)>)." 1967msgstr "" 1968 1969#. type: textblock 1970#: po4a-gettextize:59 1971msgid "" 1972"If you need to edit the files to align their structures, you should prefer " 1973"editing the translation if possible. Indeed, if the changes to the original " 1974"are too intrusive, the old and new versions will not be matched during the " 1975"PO update, and the corresponding translation will be dumped anyway. But do " 1976"not hesitate to also edit the original document if required: the important " 1977"thing is to get a first PO file to start with." 1978msgstr "" 1979 1980#. type: textblock 1981#: po4a-gettextize:60 1982msgid "" 1983"Do not hesitate to kill any original content that would not exist in the " 1984"translated version. This content will be automatically reintroduced " 1985"afterward, when synchronizing the PO file with the document." 1986msgstr "" 1987 1988#. type: textblock 1989#: po4a-gettextize:61 1990msgid "" 1991"You should probably inform the original author of any structural change in " 1992"the translation that seems justified. Issues in the original document should " 1993"reported to the author. Fixing them in your translation only fixes them for " 1994"a part of the community. Plus, it is impossible to do so when using po4a ;)" 1995msgstr "" 1996 1997#. type: textblock 1998#: po4a-gettextize:62 1999msgid "" 2000"Sometimes, the paragraph content does match, but not their types. Fixing it " 2001"is rather format-dependent. In POD and man, it often comes from the fact " 2002"that one of them contains a line beginning with a white space while the " 2003"other does not. In those formats, such paragraph cannot be wrapped and thus " 2004"become a different type. Just remove the space and you are fine. It may also " 2005"be a typo in the tag name in XML." 2006msgstr "" 2007 2008#. type: textblock 2009#: po4a-gettextize:63 2010msgid "" 2011"Likewise, two paragraphs may get merged together in POD when the separating " 2012"line contains some spaces, or when there is no empty line between the " 2013"B<=item> line and the content of the item." 2014msgstr "" 2015 2016#. type: textblock 2017#: po4a-gettextize:64 2018msgid "" 2019"Sometimes, the desynchronization message seems odd because the translation " 2020"is attached to the wrong original paragraph. It is the sign of an undetected " 2021"issue earlier in the process. Search for the actual desynchronization point " 2022"by inspecting F<gettextization.failed.po>, and fix the problem where it " 2023"really is." 2024msgstr "" 2025 2026#. type: textblock 2027#: po4a-gettextize:65 2028msgid "" 2029"In some unfortunate settings, you will get the feeling that po4a ate some " 2030"parts of the text, either the original or the translation. F<gettextization." 2031"failed.po> indicates that both files matched as expected up to the paragraph " 2032"N. But then, an (unsuccessful) attempt is made to match the N+1 paragraph in " 2033"the original file not with the N+1 paragraph in the translation as it " 2034"should, but with the N+2 paragraph. Just as if the N+1 paragraph that you " 2035"see in the document simply disappeared from the file during the process." 2036msgstr "" 2037 2038#. type: textblock 2039#: po4a-gettextize:66 2040msgid "" 2041"This unfortunate situation happens when the same paragraph is repeated over " 2042"the document. In that case, no new entry is created in the PO file, but a " 2043"new reference is added to the existing one instead." 2044msgstr "" 2045 2046#. type: textblock 2047#: po4a-gettextize:67 2048msgid "" 2049"So, the previous situation occurs when two similar but different paragraphs " 2050"are translated in the exact same way. This will apparently remove a " 2051"paragraph of the translation. To fix the problem, it is sufficient to " 2052"slightly alter one of the translations in the document. You can also prefer " 2053"to kill the second paragraph in the original document." 2054msgstr "" 2055 2056#. type: textblock 2057#: po4a-gettextize:68 2058msgid "" 2059"To the opposite, if the same paragraph appearing twice in the original " 2060"document is not translated in the exact same way at both locations, you will " 2061"get the feeling that one paragraph of the original document just vanished. " 2062"Just copy the best translation over the other one in the translated document " 2063"to fix the problem." 2064msgstr "" 2065 2066#. type: textblock 2067#: po4a-gettextize:69 2068msgid "" 2069"As a final note, do not be too surprised if the first synchronization of " 2070"your PO file takes a long time. This is because most of the msgid of the PO " 2071"file resulting from the gettextization don't match exactly any element of " 2072"the POT file built from the recent master files. This forces gettext to " 2073"search for the closest one using a costly string proximity algorithm." 2074msgstr "" 2075 2076#. type: textblock 2077#: po4a-gettextize:70 2078msgid "" 2079"For example, the first B<po4a-updatepo> of the Perl documentation's French " 2080"translation (5.5 MB PO file) took about 48 hours (yes, two days) while the " 2081"subsequent ones only take a dozen of seconds." 2082msgstr "" 2083 2084#. type: textblock 2085#: po4a-gettextize:72 2086msgid "" 2087"L<po4a(1)>, L<po4a-normalize(1)>, L<po4a-translate(1)>, L<po4a-updatepo(1)>, " 2088"L<po4a(7)>." 2089msgstr "" 2090 2091#. type: textblock 2092#: po4a-normalize:2 2093msgid "" 2094"po4a-normalize - normalize a documentation file by parsing it in po4a, and " 2095"writing it back" 2096msgstr "" 2097 2098#. type: textblock 2099#: po4a-normalize:4 2100msgid "B<po4a-normalize> B<-f> I<fmt> I<master.doc>" 2101msgstr "" 2102 2103#. type: textblock 2104#: po4a-normalize:6 po4a-translate:7 po4a-updatepo:7 2105#: lib/Locale/Po4a/AsciiDoc.pm:4 lib/Locale/Po4a/BibTeX.pm:4 2106#: lib/Locale/Po4a/Dia.pm:4 lib/Locale/Po4a/Docbook.pm:4 2107#: lib/Locale/Po4a/Guide.pm:4 lib/Locale/Po4a/Halibut.pm:4 2108#: lib/Locale/Po4a/LaTeX.pm:4 lib/Locale/Po4a/Man.pm:4 2109#: lib/Locale/Po4a/Sgml.pm:4 lib/Locale/Po4a/TeX.pm:4 2110#: lib/Locale/Po4a/Texinfo.pm:4 lib/Locale/Po4a/Text.pm:4 2111#: lib/Locale/Po4a/TransTractor.pm:4 lib/Locale/Po4a/Wml.pm:4 2112#: lib/Locale/Po4a/Xhtml.pm:4 lib/Locale/Po4a/Xml.pm:4 2113msgid "" 2114"The po4a (PO for anything) project goal is to ease translations (and more " 2115"interestingly, the maintenance of translations) using gettext tools on areas " 2116"where they were not expected like documentation." 2117msgstr "" 2118"La po4a (PO por io ajn) projektocelo estas faciligi tradukojn (kaj pli " 2119"interese, la prizorgadon de tradukoj) uzante gettext-ilojn pri areoj, kie " 2120"ili ne estis atendataj kiel dokumentado." 2121 2122#. type: textblock 2123#: po4a-normalize:7 2124msgid "" 2125"The B<po4a-normalize> script is a debugging tool used to make sure that po4a " 2126"don't change the document when it's not supposed to. Only use it if you're " 2127"developing a new module, or if you doubt the sanity of the tools." 2128msgstr "" 2129 2130#. type: textblock 2131#: po4a-normalize:8 2132msgid "" 2133"The generated document will be written to F<po4a-normalize.output> while the " 2134"generated POT file will be written to F<po4a-normalize.po> by default, but " 2135"you can use the B<--localized> and B<--pot> options to change that." 2136msgstr "" 2137 2138#. type: =item 2139#: po4a-normalize:12 2140msgid "B<-b>, B<--blank>" 2141msgstr "" 2142 2143#. type: textblock 2144#: po4a-normalize:13 2145msgid "" 2146"Create an blank translated document. The generated translated document will " 2147"be generated assuming all messages are translated by a space or new line." 2148msgstr "" 2149 2150#. type: textblock 2151#: po4a-normalize:14 2152msgid "" 2153"This is useful to check what parts of the document cannot be translated." 2154msgstr "" 2155 2156#. type: textblock 2157#: po4a-normalize:24 2158msgid "" 2159"Name of the normalized file to produce (I<po4a-normalize.output> by default)." 2160msgstr "" 2161 2162#. type: =item 2163#: po4a-normalize:25 2164msgid "B<-p>, B<--pot>" 2165msgstr "" 2166 2167#. type: textblock 2168#: po4a-normalize:26 2169msgid "Pot file to produce (I<po4a-normalize.po> by default)." 2170msgstr "" 2171 2172#. type: textblock 2173#: po4a-normalize:30 2174msgid "" 2175"L<po4a-gettextize(1)>, L<po4a-translate(1)>, L<po4a-updatepo(1)>, L<po4a(7)>" 2176msgstr "" 2177 2178#. type: textblock 2179#: po4a-translate:2 2180msgid "po4a-translate - convert a PO file back to documentation format" 2181msgstr "" 2182 2183#. type: textblock 2184#: po4a-translate:4 2185msgid "" 2186"B<po4a-translate> B<-f> I<fmt> B<-m> I<master.doc> B<-p> I<XX.po> B<-l> I<XX." 2187"doc>" 2188msgstr "" 2189 2190#. type: textblock 2191#: po4a-translate:5 2192msgid "(I<XX.doc> is the output, all others are inputs)" 2193msgstr "" 2194 2195#. type: textblock 2196#: po4a-translate:8 2197msgid "" 2198"The B<po4a-translate> script is in charge of converting the translation " 2199"(which was done in a PO file) back into the documentation format. The " 2200"provided PO file should be the translation of the POT file which was " 2201"produced by L<po4a-gettextize(1)>." 2202msgstr "" 2203 2204#. type: =item 2205#: po4a-translate:12 2206msgid "B<-a>, B<--addendum>" 2207msgstr "" 2208 2209#. type: textblock 2210#: po4a-translate:13 2211msgid "" 2212"Add a file to the resulting file (to put translator's name or a section " 2213"\"About this translation\", for example). The first line of the file to " 2214"insert should be a PO4A header indicating where it should be added (see " 2215"section B<HOWTO add extra text to translations> in L<po4a(7)>)." 2216msgstr "" 2217 2218#. type: textblock 2219#: po4a-translate:17 2220msgid "File containing the master document to translate." 2221msgstr "" 2222 2223#. type: textblock 2224#: po4a-translate:21 2225msgid "File where the localized (translated) document should be written." 2226msgstr "" 2227 2228#. type: textblock 2229#: po4a-translate:25 2230msgid "File from which the message catalog should be read." 2231msgstr "" 2232 2233#. type: textblock 2234#: po4a-translate:29 2235msgid "" 2236"Minimal threshold for translation percentage to keep (i.e. write) the " 2237"resulting file (default: 80). I.e. by default, files have to be translated " 2238"at least at 80% to get written." 2239msgstr "" 2240 2241#. type: =item 2242#: po4a-translate:30 2243msgid "B<-w>, B<--width>" 2244msgstr "" 2245 2246#. type: textblock 2247#: po4a-translate:31 2248msgid "Column at which we should wrap the resulting file." 2249msgstr "" 2250 2251#. type: =item 2252#: po4a-translate:42 po4a-updatepo:38 2253msgid "B<--porefs> I<type>[,B<wrap>|B<nowrap>]" 2254msgstr "" 2255 2256#. type: textblock 2257#: po4a-translate:44 po4a-updatepo:40 2258msgid "" 2259"Argument can be followed by a comma and either B<wrap> or B<nowrap> " 2260"keyword. References are written by default on a single line. The B<wrap> " 2261"option wraps references on several lines, to mimic B<gettext> tools " 2262"(B<xgettext> and B<msgmerge>). This option will become the default in a " 2263"future release, because it is more sensible. The B<nowrap> option is " 2264"available so that users who want to keep the old behavior can do so." 2265msgstr "" 2266 2267#. type: textblock 2268#: po4a-translate:47 po4a-updatepo:43 2269msgid "" 2270"Historically, the gettext suite has reformatted the po files at the 77th " 2271"column for cosmetics. This option specifies the behavior of po4a. If set to " 2272"a numerical value, po4a will wrap the po file after this column and after " 2273"newlines in the content. If set to B<newlines>, po4a will only split the " 2274"msgid and msgstr after newlines in the content. If set to B<no>, po4a will " 2275"not wrap the po file at all. The wrapping of the reference comments is " 2276"controlled by the B<--porefs> option." 2277msgstr "" 2278 2279#. type: =head1 2280#: po4a-translate:49 2281msgid "Adding content (beside translations) to generated files" 2282msgstr "" 2283 2284#. type: textblock 2285#: po4a-translate:50 2286msgid "" 2287"To add some extra content to the generated document beside what you " 2288"translated (like the name of the translator, or an \"About this translation" 2289"\" section), you should use the B<--addendum> option." 2290msgstr "" 2291 2292#. type: textblock 2293#: po4a-translate:51 2294msgid "" 2295"The first line of the addendum must be a header indicating where to put it " 2296"in the document (it can be before or after a given part of the document). " 2297"The rest of the file will be added verbatim to the resulting file without " 2298"further processing." 2299msgstr "" 2300 2301#. type: textblock 2302#: po4a-translate:52 2303msgid "" 2304"Note that if po4a-translate fails to add one of the given files, it discards " 2305"the whole translation (because the missing file could be the one indicating " 2306"the author, what would prevent the users to contact him to report bugs in " 2307"the translation)." 2308msgstr "" 2309 2310#. type: textblock 2311#: po4a-translate:53 2312msgid "" 2313"The header has a pretty rigid syntax. For more information on how to use " 2314"this feature and how it works, please refer to the L<po4a(7)> man page." 2315msgstr "" 2316 2317#. type: textblock 2318#: po4a-translate:55 2319msgid "" 2320"L<po4a-gettextize(1)>, L<po4a-normalize(1)>, L<po4a-updatepo(1)>, L<po4a(7)>" 2321msgstr "" 2322 2323#. type: textblock 2324#: po4a-updatepo:2 2325msgid "po4a-updatepo - update the translation (in PO format) of documentation" 2326msgstr "" 2327 2328#. type: textblock 2329#: po4a-updatepo:4 2330msgid "B<po4a-updatepo> B<-f> I<fmt> (B<-m> I<master.doc>)+ (B<-p> I<XX.po>)+" 2331msgstr "" 2332 2333#. type: textblock 2334#: po4a-updatepo:5 2335msgid "(I<XX.po> are the outputs, all others are inputs)" 2336msgstr "" 2337 2338#. type: textblock 2339#: po4a-updatepo:8 2340msgid "" 2341"The B<po4a-updatepo> script is in charge of updating PO files to make them " 2342"reflect the changes made to the original documentation file. For that, it " 2343"converts the documentation file to a POT file, and call L<msgmerge(1)> on " 2344"this new POT and on the provided PO files." 2345msgstr "" 2346 2347#. type: textblock 2348#: po4a-updatepo:9 2349msgid "" 2350"It is possible to give more than one PO file (if you want to update several " 2351"languages at once), and several documentation files (if you want to store " 2352"the translations of several documents in the same PO file)." 2353msgstr "" 2354 2355#. type: textblock 2356#: po4a-updatepo:10 2357msgid "" 2358"If the master document has non-ASCII characters, it will convert the PO " 2359"files to UTF-8 (if they weren't already), in order to allow non-standard " 2360"characters in a culture independent way." 2361msgstr "" 2362 2363#. type: textblock 2364#: po4a-updatepo:15 2365msgid "File(s) containing the master document to translate." 2366msgstr "" 2367 2368#. type: textblock 2369#: po4a-updatepo:17 2370msgid "" 2371"Charset of the files containing the document to translate. Note that all " 2372"files must have the same charset." 2373msgstr "" 2374 2375#. type: textblock 2376#: po4a-updatepo:19 2377msgid "" 2378"PO file(s) to update. If these files do not exist, they are created by " 2379"B<po4a-updatepo>." 2380msgstr "" 2381 2382#. type: textblock 2383#: po4a-updatepo:54 2384msgid "" 2385"L<po4a-gettextize(1)>, L<po4a-normalize(1)>, L<po4a-translate(1)>, L<po4a(7)>" 2386msgstr "" 2387 2388#. type: textblock 2389#: msguntypot:2 2390msgid "msguntypot - update PO files when a typo is fixed in POT file" 2391msgstr "" 2392 2393#. type: textblock 2394#: msguntypot:4 2395msgid "B<msguntypot> B<-o> I<old_pot> B<-n> I<new_pot> I<pofiles> ..." 2396msgstr "" 2397 2398#. type: textblock 2399#: msguntypot:6 2400msgid "" 2401"When you fix a trivial error which surely doesn't affect translations (e.g. " 2402"a typo) in a POT file, you should unfuzzy the corresponding msgstr in the " 2403"translated PO files to avoid so extra work to the translators." 2404msgstr "" 2405 2406#. type: textblock 2407#: msguntypot:7 2408msgid "" 2409"This task is difficult and error prone when done manually, and this tool is " 2410"there to help doing so correctly. You just need to provide the two versions " 2411"of the POT file: before the edition and after as marked in the above " 2412"synopsis, and it all becomes automatic." 2413msgstr "" 2414 2415#. type: =head1 2416#: msguntypot:8 2417msgid "HOW TO USE IT" 2418msgstr "" 2419 2420#. type: textblock 2421#: msguntypot:9 2422msgid "" 2423"In short, when you discover a typo in one of your [english] message, do the " 2424"following:" 2425msgstr "" 2426 2427#. type: =item 2428#: msguntypot:10 msguntypot:19 2429msgid "- Regenerate your POT and PO files." 2430msgstr "" 2431 2432#. type: verbatim 2433#: msguntypot:11 2434#, no-wrap 2435msgid "" 2436" make -C po/ update-po # for message program translations\n" 2437" debconf-updatepo # for debconf translations\n" 2438" po4a po4a.conf # for po4a based documentation translations\n" 2439"\n" 2440msgstr "" 2441 2442#. type: textblock 2443#: msguntypot:12 2444msgid "" 2445"or something else, depending on your project's building settings. You know " 2446"how to make sure your POT and PO files are uptodate, don't you??" 2447msgstr "" 2448 2449#. type: =item 2450#: msguntypot:13 2451msgid "- Make a copy of your POT file." 2452msgstr "" 2453 2454#. type: verbatim 2455#: msguntypot:14 2456#, no-wrap 2457msgid "" 2458" cp myfile.pot myfile.pot.orig\n" 2459"\n" 2460msgstr "" 2461 2462#. type: =item 2463#: msguntypot:15 2464msgid "- Make a copy of all your PO files." 2465msgstr "" 2466 2467#. type: verbatim 2468#: msguntypot:16 2469#, no-wrap 2470msgid "" 2471" mkdir po_fridge; cp *.po po_fridge\n" 2472"\n" 2473msgstr "" 2474 2475#. type: =item 2476#: msguntypot:17 2477msgid "- Fix your typo." 2478msgstr "" 2479 2480#. type: textblock 2481#: msguntypot:18 2482msgid "$EDITOR the_file_in_which_there_is_a_typo" 2483msgstr "" 2484 2485#. type: textblock 2486#: msguntypot:20 2487msgid "See above." 2488msgstr "" 2489 2490#. type: textblock 2491#: msguntypot:21 2492msgid "" 2493"At this point, the typo fix fuzzied all the translations, and this " 2494"unfortunate change is the only one between the PO files of your main " 2495"directory and the one from the fridge. Here is how to solve this." 2496msgstr "" 2497 2498#. type: =item 2499#: msguntypot:22 2500msgid "- Discard fuzzy translation, restore the ones from the fridge." 2501msgstr "" 2502 2503#. type: verbatim 2504#: msguntypot:23 2505#, no-wrap 2506msgid "" 2507" cp po_fridge/*.po .\n" 2508"\n" 2509msgstr "" 2510 2511#. type: =item 2512#: msguntypot:24 2513msgid "" 2514"- Manually merge the PO files with the new POT file, but taking the useless " 2515"fuzzy into account." 2516msgstr "" 2517 2518#. type: verbatim 2519#: msguntypot:25 2520#, no-wrap 2521msgid "" 2522" msguntypot -o myfile.pot.orig -n myfile.pot *.po\n" 2523"\n" 2524msgstr "" 2525 2526#. type: =item 2527#: msguntypot:26 2528msgid "- Cleanups." 2529msgstr "" 2530 2531#. type: verbatim 2532#: msguntypot:27 2533#, no-wrap 2534msgid "" 2535" rm -rf myfile.pot.orig po_fridge\n" 2536"\n" 2537msgstr "" 2538 2539#. type: textblock 2540#: msguntypot:28 2541msgid "" 2542"You're done. The typo was eradicated from msgstr of both your POT and PO " 2543"files, and the PO files were not fuzzyied in the process. Your translators " 2544"love you already." 2545msgstr "" 2546 2547#. type: textblock 2548#: msguntypot:30 2549msgid "" 2550"Despite its name, this tool is not part of the gettext tool suite. It is " 2551"instead part of po4a. More precisely, it's a random Perl script using the " 2552"fine po4a modules. For more information about po4a, please see:" 2553msgstr "" 2554 2555#. type: textblock 2556#: msguntypot:31 2557msgid "L<po4a(7)>" 2558msgstr "" 2559 2560#. type: verbatim 2561#: msguntypot:33 2562#, no-wrap 2563msgid "" 2564" Martin Quinson (mquinson#debian,org)\n" 2565"\n" 2566msgstr "" 2567 2568#. type: textblock 2569#: msguntypot:35 2570msgid "Copyright 2005 by SPI, inc." 2571msgstr "" 2572 2573#. type: textblock 2574#: doc/po4a.7.pod:2 2575msgid "po4a - framework to translate documentation and other materials" 2576msgstr "" 2577 2578#. type: =head1 2579#: doc/po4a.7.pod:3 2580msgid "Introduction" 2581msgstr "" 2582 2583#. type: textblock 2584#: doc/po4a.7.pod:4 2585msgid "" 2586"po4a (PO for anything) eases the maintenance of documentation translation " 2587"using the classical gettext tools. The main feature of po4a is that it " 2588"decouples the translation of content from its document structure." 2589msgstr "" 2590 2591#. type: textblock 2592#: doc/po4a.7.pod:5 2593msgid "" 2594"This document serves as an introduction to the po4a project with a focus on " 2595"potential users considering whether to use this tool and on the curious " 2596"wanting to understand why things are the way they are." 2597msgstr "" 2598 2599#. type: =head1 2600#: doc/po4a.7.pod:6 2601msgid "Why po4a?" 2602msgstr "" 2603 2604#. type: textblock 2605#: doc/po4a.7.pod:7 2606msgid "" 2607"The philosophy of Free Software is to make the technology truly available to " 2608"everyone. But licensing is not the only consideration: untranslated free " 2609"software is useless for non-English speakers. Therefore, we still have some " 2610"work to do to make software available to everybody." 2611msgstr "" 2612 2613#. type: textblock 2614#: doc/po4a.7.pod:8 2615msgid "" 2616"This situation is well understood by most projects and everybody is now " 2617"convinced of the necessity to translate everything. Yet, the actual " 2618"translations represent a huge effort of many individuals, crippled by small " 2619"technical difficulties." 2620msgstr "" 2621 2622#. type: textblock 2623#: doc/po4a.7.pod:9 2624msgid "" 2625"Thankfully, Open Source software is actually very well translated using the " 2626"gettext tool suite. These tools are used to extract the strings to translate " 2627"from a program and present the strings to translate in a standardized format " 2628"(called PO files, or translation catalogs). A whole ecosystem of tools has " 2629"emerged to help the translators actually translate these PO files. The " 2630"result is then used by gettext at run time to display translated messages to " 2631"the end users." 2632msgstr "" 2633 2634#. type: textblock 2635#: doc/po4a.7.pod:10 2636msgid "" 2637"Regarding documentation, however, the situation still somewhat " 2638"disappointing. At first translating documentation may seem to be easier " 2639"than translating a program as it would seem that you just have to copy the " 2640"documentation source file and start translating the content. However, when " 2641"the original documentation is modified, keeping track of the modifications " 2642"quickly turns into a nightmare for the translators. If done manually, this " 2643"task is unpleasant and error prone." 2644msgstr "" 2645 2646#. type: textblock 2647#: doc/po4a.7.pod:11 2648msgid "" 2649"Outdated translations are often worse than no translation at all. End-users " 2650"can be tricked by documentation describing an old behavior of the program. " 2651"Furthermore, they cannot interact directly with the maintainers since they " 2652"don't speak English. Additionally, the maintainer cannot fix the problem as " 2653"they don't know every language in which their documentation is translated. " 2654"These difficulties, often caused by poor tooling, can undermine the " 2655"motivation of volunteer translators, further aggravating the problem." 2656msgstr "" 2657 2658#. type: textblock 2659#: doc/po4a.7.pod:12 2660msgid "" 2661"B<The goal of the po4a project is to ease the work of documentation " 2662"translators>. In particular, it makes documentation translations " 2663"I<maintainable>." 2664msgstr "" 2665 2666#. type: textblock 2667#: doc/po4a.7.pod:13 2668msgid "" 2669"The idea is to reuse and adapt the gettext approach to this field. As with " 2670"gettext, texts are extracted from their original locations and presented to " 2671"translators as PO translation catalogs. The translators can leverage the " 2672"classical gettext tools to monitor the work to do, collaborate and organize " 2673"as teams. po4a then injects the translations directly into the documentation " 2674"structure to produce translated source files that can be processed and " 2675"distributed just like the English files. Any paragraph that is not " 2676"translated is left in English in the resulting document, ensuring that the " 2677"end users never see an outdated translation in the documentation." 2678msgstr "" 2679 2680#. type: textblock 2681#: doc/po4a.7.pod:14 2682msgid "" 2683"This automates most of the grunt work of the translation maintenance. " 2684"Discovering the paragraphs needing an update becomes very easy, and the " 2685"process is completely automated when elements are reordered without further " 2686"modification. Specific verification can also be used to reduce the chance of " 2687"formatting errors that would result in a broken document." 2688msgstr "" 2689 2690#. type: textblock 2691#: doc/po4a.7.pod:15 2692msgid "" 2693"Please also see the B<FAQ> below in this document for a more complete list " 2694"of the advantages and disadvantages of this approach." 2695msgstr "" 2696 2697#. type: =head2 2698#: doc/po4a.7.pod:16 2699msgid "Supported formats" 2700msgstr "Subtenitaj formatoj" 2701 2702#. type: textblock 2703#: doc/po4a.7.pod:17 2704msgid "" 2705"Currently, this approach has been successfully implemented to several kinds " 2706"of text formatting formats:" 2707msgstr "" 2708 2709#. type: =item 2710#: doc/po4a.7.pod:18 2711msgid "man (mature parser)" 2712msgstr "" 2713 2714#. type: textblock 2715#: doc/po4a.7.pod:19 2716msgid "" 2717"The good old manual pages' format, used by so many programs out there. po4a " 2718"support is very welcome here since this format is somewhat difficult to use " 2719"and not really friendly to newbies." 2720msgstr "" 2721 2722#. type: textblock 2723#: doc/po4a.7.pod:20 2724msgid "" 2725"The L<Locale::Po4a::Man(3pm)|Man> module also supports the mdoc format, used " 2726"by the BSD man pages (they are also quite common on Linux)." 2727msgstr "" 2728 2729#. type: =item 2730#: doc/po4a.7.pod:21 2731msgid "AsciiDoc (mature parser)" 2732msgstr "" 2733 2734#. type: textblock 2735#: doc/po4a.7.pod:22 2736msgid "" 2737"This format is a lightweight markup format intended to ease the authoring of " 2738"documentation. It is for example used to document the git system. Those " 2739"manpages are translated using po4a." 2740msgstr "" 2741 2742#. type: textblock 2743#: doc/po4a.7.pod:23 2744msgid "See L<Locale::Po4a::AsciiDoc> for details." 2745msgstr "" 2746 2747#. type: =item 2748#: doc/po4a.7.pod:24 2749msgid "pod (mature parser)" 2750msgstr "" 2751 2752#. type: textblock 2753#: doc/po4a.7.pod:25 2754msgid "" 2755"This is the Perl Online Documentation format. The language and extensions " 2756"themselves are documented using this format in addition to most existing " 2757"Perl scripts. It makes easy to keep the documentation close to the actual " 2758"code by embedding them both in the same file. It makes programmer's life " 2759"easier, but unfortunately, not the translator's, until you use po4a." 2760msgstr "" 2761 2762#. type: textblock 2763#: doc/po4a.7.pod:26 2764msgid "See L<Locale::Po4a::Pod> for details." 2765msgstr "" 2766 2767#. type: =item 2768#: doc/po4a.7.pod:27 2769msgid "sgml (mature parser)" 2770msgstr "" 2771 2772#. type: textblock 2773#: doc/po4a.7.pod:28 2774msgid "" 2775"Even if superseded by XML nowadays, this format is still used for documents " 2776"which are more than a few screens long. It can even be used for complete " 2777"books. Documents of this length can be very challenging to update. B<diff> " 2778"often reveals useless when the original text was re-indented after update. " 2779"Fortunately, po4a can help you after that process." 2780msgstr "" 2781 2782#. type: textblock 2783#: doc/po4a.7.pod:29 2784msgid "" 2785"Currently, only DebianDoc and DocBook DTD are supported, but adding support " 2786"for a new one is really easy. It is even possible to use po4a on an unknown " 2787"SGML DTD without changing the code by providing the needed information on " 2788"the command line. See L<Locale::Po4a::Sgml(3pm)> for details." 2789msgstr "" 2790 2791#. type: =item 2792#: doc/po4a.7.pod:30 2793msgid "TeX / LaTeX (mature parser)" 2794msgstr "" 2795 2796#. type: textblock 2797#: doc/po4a.7.pod:31 2798msgid "" 2799"The LaTeX format is a major documentation format used in the Free Software " 2800"world and for publications." 2801msgstr "" 2802 2803#. type: textblock 2804#: doc/po4a.7.pod:32 2805msgid "" 2806"The L<Locale::Po4a::LaTeX(3pm)|LaTeX> module was tested with the Python " 2807"documentation, a book and some presentations." 2808msgstr "" 2809 2810#. type: =item 2811#: doc/po4a.7.pod:33 2812msgid "text (mature parser)" 2813msgstr "" 2814 2815#. type: textblock 2816#: doc/po4a.7.pod:34 2817msgid "" 2818"The Text format is the base format for many formats that include long blocks " 2819"of text, including Markdown, fortunes, YAML front matter section, debian/" 2820"changelog, and debian/control." 2821msgstr "" 2822 2823#. type: textblock 2824#: doc/po4a.7.pod:35 2825msgid "" 2826"This supports the common format used in Static Site Generators, READMEs, and " 2827"other documentation systems. See L<Locale::Po4a::Text(3pm)|Text> for details." 2828msgstr "" 2829 2830#. type: =item 2831#: doc/po4a.7.pod:36 2832msgid "xml and XHMTL (probably mature parser)" 2833msgstr "" 2834 2835#. type: textblock 2836#: doc/po4a.7.pod:37 2837msgid "The XML format is a base format for many documentation formats." 2838msgstr "" 2839 2840#. type: textblock 2841#: doc/po4a.7.pod:38 2842msgid "" 2843"Currently, the DocBook DTD (see L<Locale::Po4a::Docbook(3pm)> for details) " 2844"and XHTML are supported by po4a." 2845msgstr "" 2846 2847#. type: =item 2848#: doc/po4a.7.pod:39 2849msgid "BibTex (probably mature parser)" 2850msgstr "" 2851 2852#. type: textblock 2853#: doc/po4a.7.pod:40 2854msgid "" 2855"The BibTex format is used alongside LaTex for formatting lists of references " 2856"(bibliographies)." 2857msgstr "" 2858 2859#. type: textblock 2860#: doc/po4a.7.pod:41 2861msgid "See L<Locale::Po4a::BibTex> for details." 2862msgstr "" 2863 2864#. type: =item 2865#: doc/po4a.7.pod:42 2866msgid "Docbook (probably mature parser)" 2867msgstr "" 2868 2869#. type: textblock 2870#: doc/po4a.7.pod:43 2871msgid "" 2872"A XML-based markup language that uses semantic tags to describe documents." 2873msgstr "" 2874 2875#. type: textblock 2876#: doc/po4a.7.pod:44 2877msgid "See L<Locale::Po4a:Docbook> for greater details." 2878msgstr "" 2879 2880#. type: =item 2881#: doc/po4a.7.pod:45 2882msgid "Guide XML (probably mature parser)" 2883msgstr "" 2884 2885#. type: textblock 2886#: doc/po4a.7.pod:46 2887msgid "" 2888"A XML documentation format. This module was developed specifically to help " 2889"with supporting and maintaining translations of Gentoo Linux documentation " 2890"up until at least March 2016 (Based on the Wayback Machine). Gentoo have " 2891"since moved to the DevBook XML format." 2892msgstr "" 2893 2894#. type: textblock 2895#: doc/po4a.7.pod:47 2896msgid "See L<Locale::Po4a:Guide> for greater details." 2897msgstr "" 2898 2899#. type: =item 2900#: doc/po4a.7.pod:48 2901msgid "Wml (probably mature parser)" 2902msgstr "" 2903 2904#. type: textblock 2905#: doc/po4a.7.pod:49 2906msgid "" 2907"The Web Markup Language, do not mixup WML with the WAP stuff used on cell " 2908"phones. This module relies on the Xhtml module, which itself relies on the " 2909"XmL module." 2910msgstr "" 2911 2912#. type: textblock 2913#: doc/po4a.7.pod:50 2914msgid "See L<Locale::Po4a::Wml> for greater details." 2915msgstr "" 2916 2917#. type: =item 2918#: doc/po4a.7.pod:51 2919msgid "Yaml (probably mature parser)" 2920msgstr "" 2921 2922#. type: textblock 2923#: doc/po4a.7.pod:52 2924msgid "" 2925"A strict superset of JSON. YAML is often used as systems or configuration " 2926"projects. YAML is at the core of Red Hat's Ansible." 2927msgstr "" 2928 2929#. type: textblock 2930#: doc/po4a.7.pod:53 2931msgid "See L<Locale::Po4a::Yaml> for greater details." 2932msgstr "" 2933 2934#. type: =item 2935#: doc/po4a.7.pod:54 2936msgid "RubyDoc (probably mature parser)" 2937msgstr "" 2938 2939#. type: textblock 2940#: doc/po4a.7.pod:55 2941msgid "" 2942"The Ruby Document (RD) format, originally the default documentation format " 2943"for Ruby and Ruby projects before converted to RDoc in 2002. Though " 2944"apparently the Japanese version of the Ruby Reference Manual still use RD." 2945msgstr "" 2946 2947#. type: textblock 2948#: doc/po4a.7.pod:56 2949msgid "See L<Locale::Po4a::RubyDoc> for greater details." 2950msgstr "" 2951 2952#. type: =item 2953#: doc/po4a.7.pod:57 2954msgid "Halibut (probably experimental parser)" 2955msgstr "" 2956 2957#. type: textblock 2958#: doc/po4a.7.pod:58 2959msgid "" 2960"A documentation production system, with elements similar to TeX, debiandoc-" 2961"sgml, TeXinfo, and others, developed by Simon Tatham, the developer of PuTTY." 2962msgstr "" 2963 2964#. type: textblock 2965#: doc/po4a.7.pod:59 2966msgid "See L<Locale::Po4a:Halibut> for greater details." 2967msgstr "" 2968 2969#. type: =item 2970#: doc/po4a.7.pod:60 2971msgid "Ini (probably experimental parser)" 2972msgstr "" 2973 2974#. type: textblock 2975#: doc/po4a.7.pod:61 2976msgid "Configuration file format popularized by MS-DOS." 2977msgstr "" 2978 2979#. type: textblock 2980#: doc/po4a.7.pod:62 2981msgid "See L<Locale::Po4a::Ini> for greater details." 2982msgstr "" 2983 2984#. type: =item 2985#: doc/po4a.7.pod:63 2986msgid "texinfo (very highly experimental parser)" 2987msgstr "" 2988 2989#. type: textblock 2990#: doc/po4a.7.pod:64 2991msgid "" 2992"All of the GNU documentation is written in this format (it's even one of the " 2993"requirements to become an official GNU project). The support for L<Locale::" 2994"Po4a::Texinfo(3pm)|Texinfo> in po4a is still at the beginning. Please " 2995"report bugs and feature requests." 2996msgstr "" 2997 2998#. type: =item 2999#: doc/po4a.7.pod:65 3000msgid "Others supported formats" 3001msgstr "" 3002 3003#. type: textblock 3004#: doc/po4a.7.pod:66 3005msgid "" 3006"Po4a can also handle some more rare or specialized formats, such as the " 3007"documentation of compilation options for the 2.4+ Linux kernels (L<Locale::" 3008"Po4a::KernelHelp>) or the diagrams produced by the dia tool (L<Locale::Po4a:" 3009"Dia>). Adding a new format is often very easy and the main task is to come " 3010"up with a parser for your target format. See L<Locale::Po4a::" 3011"TransTractor(3pm)> for more information about this." 3012msgstr "" 3013 3014#. type: =item 3015#: doc/po4a.7.pod:67 3016msgid "Unsupported formats" 3017msgstr "" 3018 3019#. type: textblock 3020#: doc/po4a.7.pod:68 3021msgid "" 3022"Unfortunately, po4a still lacks support for several documentation formats. " 3023"Many of them would be easy to support in po4a. This includes formats not " 3024"just used for documentation, such as, package descriptions (deb and rpm), " 3025"package installation scripts questions, package changelogs, and all the " 3026"specialized file formats used by programs such as game scenarios or wine " 3027"resource files." 3028msgstr "" 3029 3030#. type: =head1 3031#: doc/po4a.7.pod:69 3032msgid "Using po4a" 3033msgstr "" 3034 3035#. type: textblock 3036#: doc/po4a.7.pod:70 3037msgid "" 3038"Historically, po4a was built around four scripts, each fulfilling a specific " 3039"task. L<po4a-gettextize(1)> helps bootstrapping translations and optionally " 3040"converting existing translation projects to po4a. L<po4a-updatepo(1)> " 3041"reflects the changes to the original documentation into the corresponding po " 3042"files. L<po4a-translate(1)> builds translated source file from the original " 3043"file and the corresponding PO file. In addition, L<po4a-normalize(1)> is " 3044"mostly useful to debug the po4a parsers, as it produces an untranslated " 3045"document from the original one. It makes it easier to spot the glitches " 3046"introduced by the parsing process." 3047msgstr "" 3048 3049#. type: textblock 3050#: doc/po4a.7.pod:71 3051msgid "" 3052"Most projects only require the features of L<po4a-updatepo(1)> and L<po4a-" 3053"translate(1)>, but these scripts proved to be cumbersome and error prone to " 3054"use. If the documentation to translate is split over several source files, " 3055"it is difficult to keep the PO files up to date and build the documentation " 3056"files correctly. As an answer, a all-in-one tool was provided: L<po4a(1)>. " 3057"This tool takes a configuration file describing the structure of the " 3058"translation project: the location of the PO files, the list of files to " 3059"translate, and the options to use, and it fully automatizes the process. " 3060"When you invoke L<po4a(1)>, it both updates the PO files and regenerate the " 3061"translation files that need to. If everything is already up to date, " 3062"L<po4a(1)> does not change any file." 3063msgstr "" 3064 3065#. type: textblock 3066#: doc/po4a.7.pod:72 3067msgid "" 3068"The rest of this section gives an overview of how use the scripts' interface " 3069"of po4a. Most users will probably prefer to use the all-in-one tool, that is " 3070"described in the documentation of L<po4a(1)>." 3071msgstr "" 3072 3073#. type: =head2 3074#: doc/po4a.7.pod:73 3075msgid "Graphical overview of the po4a scripts" 3076msgstr "" 3077 3078#. type: textblock 3079#: doc/po4a.7.pod:74 3080msgid "" 3081"The following schema gives an overview of how each po4a script can be used. " 3082"Here, F<master.doc> is an example name for the documentation to be " 3083"translated; F<XX.doc> is the same document translated in the language XX " 3084"while F<doc.XX.po> is the translation catalog for that document in the XX " 3085"language. Documentation authors will mostly be concerned with F<master.doc> " 3086"(which can be a manpage, an XML document, an asciidoc file or similar); the " 3087"translators will be mostly concerned with the PO file, while the end users " 3088"will only see the F<XX.doc> file." 3089msgstr "" 3090 3091#. type: verbatim 3092#: doc/po4a.7.pod:75 3093#, no-wrap 3094msgid "" 3095" master.doc\n" 3096" |\n" 3097" V\n" 3098" +<-----<----+<-----<-----<--------+------->-------->-------+\n" 3099" : | | :\n" 3100"{translation} | { update of master.doc } :\n" 3101" : | | :\n" 3102" XX.doc | V V\n" 3103" (optional) | master.doc ->-------->------>+\n" 3104" : | (new) |\n" 3105" V V | |\n" 3106" [po4a-gettextize] doc.XX.po -->+ | |\n" 3107" | (old) | | |\n" 3108" | ^ V V |\n" 3109" | | [po4a-updatepo] |\n" 3110" V | | V\n" 3111" translation.pot ^ V |\n" 3112" | | doc.XX.po |\n" 3113" | | (fuzzy) |\n" 3114" { translation } | | |\n" 3115" | ^ V V\n" 3116" | | {manual editing} |\n" 3117" | | | |\n" 3118" V | V V\n" 3119" doc.XX.po --->---->+<---<-- doc.XX.po addendum master.doc\n" 3120" (initial) (up-to-date) (optional) (up-to-date)\n" 3121" : | | |\n" 3122" : V | |\n" 3123" +----->----->----->------> + | |\n" 3124" | | |\n" 3125" V V V\n" 3126" +------>-----+------<------+\n" 3127" |\n" 3128" V\n" 3129" [po4a-translate]\n" 3130" |\n" 3131" V\n" 3132" XX.doc\n" 3133" (up-to-date)\n" 3134"\n" 3135msgstr "" 3136 3137#. type: textblock 3138#: doc/po4a.7.pod:76 3139msgid "" 3140"This schema is complicated, but in practice only the right part (involving " 3141"L<po4a-updatepo(1)> and L<po4a-translate(1)>) is used once the project is " 3142"setup and configured." 3143msgstr "" 3144 3145#. type: textblock 3146#: doc/po4a.7.pod:77 3147msgid "" 3148"The left part depicts how L<po4a-gettextize(1)> can be used to convert an " 3149"existing translation project to the po4a infrastructure. This script takes " 3150"an original document and its translated counterpart, and tries to build the " 3151"corresponding PO file. Such manual conversion is rather cumbersome (see the " 3152"L<po4a-gettextize(1)> documentation for more details), but it is only needed " 3153"once to convert your existing translations. If you don't have any " 3154"translation to convert, you can forget about this and focus on the right " 3155"part of the schema." 3156msgstr "" 3157 3158#. type: textblock 3159#: doc/po4a.7.pod:78 3160msgid "" 3161"On the top right part, the action of the original author is depicted, " 3162"updating the documentation. The middle right part depicts the automatic " 3163"actions of L<po4a-updatepo(1)>. The new material is extracted and compared " 3164"against the exiting translation. The previous translation is used for the " 3165"parts that didn't change, while partially modified parts are connected to " 3166"the previous translation with a \"fuzzy\" marker indicating that the " 3167"translation must be updated. New or heavily modified material is left " 3168"untranslated." 3169msgstr "" 3170 3171#. type: textblock 3172#: doc/po4a.7.pod:79 3173msgid "" 3174"Then, the I<manual editing> reported depicts the action of the translators, " 3175"that modify the PO files to provide translations to every original string " 3176"and paragraph. This can be done using either a specific editor such as the " 3177"B<GNOME Translation Editor>, KDE's B<Lokalize> or B<poedit>, or using an " 3178"online localization platform such as B<weblate> or B<pootle>. The " 3179"translation result is a set of PO files, one per language. Please refer to " 3180"the gettext documentation for more details." 3181msgstr "" 3182 3183#. type: textblock 3184#: doc/po4a.7.pod:80 3185msgid "" 3186"The bottom part of the figure shows how L<po4a-translate(1)> creates a " 3187"translated source document from the F<master.doc> original document and the " 3188"F<doc.XX.po> translation catalog that was updated by the translators. The " 3189"structure of the document is reused, while the original content is replaced " 3190"by its translated counterpart. Optionally, an addendum can be used to add " 3191"some extra text to the translation. This is often used to add the name of " 3192"the translator to the final document. See below for details." 3193msgstr "" 3194 3195#. type: textblock 3196#: doc/po4a.7.pod:81 3197msgid "" 3198"As noted before, the L<po4a(1)> program combines the effects of the " 3199"separated scripts, updating the PO files and the translated document in one " 3200"invocation. The underlying logic remains the same." 3201msgstr "" 3202 3203#. type: =head2 3204#: doc/po4a.7.pod:82 3205msgid "Starting a new translation" 3206msgstr "" 3207 3208#. type: textblock 3209#: doc/po4a.7.pod:83 3210msgid "" 3211"If you use L<po4a(1)>, there is no specific step to start a translation. You " 3212"just have to list the languages in the configuration file, and the missing " 3213"PO files are automatically created. Naturally, the translator then have to " 3214"provide translations for every content used in your documents. L<po4a(1)> " 3215"also creates a POT file, that is a PO template file. Potential translators " 3216"can translate your project into a new language by renaming this file and " 3217"providing the translations in their language." 3218msgstr "" 3219 3220#. type: textblock 3221#: doc/po4a.7.pod:84 3222msgid "" 3223"If you prefer to use the individual scripts separately, you should use " 3224"L<po4a-gettextize(1)> as follows to create the POT file. This file can then " 3225"be copied into F<XX.po> to initiate a new translation." 3226msgstr "" 3227 3228#. type: verbatim 3229#: doc/po4a.7.pod:85 3230#, no-wrap 3231msgid "" 3232" $ po4a-gettextize --format <format> --master <master.doc> --po <translation.pot>\n" 3233"\n" 3234msgstr "" 3235 3236#. type: textblock 3237#: doc/po4a.7.pod:86 3238msgid "" 3239"The master document is used in input, while the POT file is the output of " 3240"this process." 3241msgstr "" 3242 3243#. type: =head2 3244#: doc/po4a.7.pod:87 3245msgid "Integrating changes to the original document" 3246msgstr "" 3247 3248#. type: textblock 3249#: doc/po4a.7.pod:88 3250msgid "" 3251"The script to use for that is L<po4a-updatepo(1)> (please refer to its " 3252"documentation for details):" 3253msgstr "" 3254 3255#. type: verbatim 3256#: doc/po4a.7.pod:89 3257#, no-wrap 3258msgid "" 3259" $ po4a-updatepo --format <format> --master <new_master.doc> --po <old_doc.XX.po>\n" 3260"\n" 3261msgstr "" 3262 3263#. type: textblock 3264#: doc/po4a.7.pod:90 3265msgid "" 3266"The master document is used in input, while the PO file is updated: it is " 3267"used both in input and output." 3268msgstr "" 3269 3270#. type: =head2 3271#: doc/po4a.7.pod:91 3272msgid "Generating a translated document" 3273msgstr "" 3274 3275#. type: textblock 3276#: doc/po4a.7.pod:92 3277msgid "" 3278"Once you're done with the translation, you want to get the translated " 3279"documentation and distribute it to users along with the original one. For " 3280"that, use the L<po4a-translate(1)> program as follows:" 3281msgstr "" 3282 3283#. type: verbatim 3284#: doc/po4a.7.pod:93 3285#, no-wrap 3286msgid "" 3287" $ po4a-translate --format <format> --master <master.doc> --po <doc.XX.po> --localized <XX.doc>\n" 3288"\n" 3289msgstr "" 3290 3291#. type: textblock 3292#: doc/po4a.7.pod:94 3293msgid "" 3294"Both the master and PO files are used in input, while the localized file is " 3295"the output of this process." 3296msgstr "" 3297 3298#. type: =head2 3299#: doc/po4a.7.pod:95 3300msgid "Using addenda to add extra text to translations" 3301msgstr "" 3302 3303#. type: textblock 3304#: doc/po4a.7.pod:96 3305msgid "" 3306"Adding new text to the translation is probably the only thing that is easier " 3307"in the long run when you translate files manually :). This happens when you " 3308"want to add an extra section to the translated document, not corresponding " 3309"to any content in the original document. The classical use case is to give " 3310"credits to the translation team, and to indicate how to report translation-" 3311"specific issues." 3312msgstr "" 3313 3314#. type: textblock 3315#: doc/po4a.7.pod:97 3316msgid "" 3317"With po4a, you have to specify B<addendum> files, that can be conceptually " 3318"viewed as patches applied to the localized document after processing. Each " 3319"addendum must be provided as a separate file, which format is however very " 3320"different from the classical patches. The first line is a I<header line>, " 3321"defining the insertion point of the addendum (with an unfortunately cryptic " 3322"syntax -- see below) while the rest of the file is added verbatim at the " 3323"determined position." 3324msgstr "" 3325 3326#. type: textblock 3327#: doc/po4a.7.pod:98 3328msgid "" 3329"The header line must begin with the string B<PO4A-HEADER:>, followed by a " 3330"semi-colon separated list of I<key>B<=>I<value> fields." 3331msgstr "" 3332 3333#. type: textblock 3334#: doc/po4a.7.pod:99 3335msgid "" 3336"For example, the following header declares an addendum that must be placed " 3337"at the very end of the translation." 3338msgstr "" 3339 3340#. type: verbatim 3341#: doc/po4a.7.pod:100 3342#, no-wrap 3343msgid "" 3344" PO4A-HEADER: mode=eof\n" 3345"\n" 3346msgstr "" 3347 3348#. type: textblock 3349#: doc/po4a.7.pod:101 3350msgid "" 3351"Things are more complex when you want to add your extra content in the " 3352"middle of the document. The following header declares an addendum that must " 3353"be placed after the XML section containing the string C<About this document> " 3354"in translation." 3355msgstr "" 3356 3357#. type: verbatim 3358#: doc/po4a.7.pod:102 3359#, no-wrap 3360msgid "" 3361" PO4A-HEADER: position=About this document; mode=after; endboundary=</section>\n" 3362"\n" 3363msgstr "" 3364 3365#. type: textblock 3366#: doc/po4a.7.pod:103 3367msgid "" 3368"In practice, when trying to apply an addendum, po4a searches for the first " 3369"line matching the C<position> argument (this can be a regexp). Do not forget " 3370"that po4a considers the B<translated> document here. This documentation is " 3371"in English, but your line should probably read as follows if you intend your " 3372"addendum to apply to the French translation of the document." 3373msgstr "" 3374 3375#. type: verbatim 3376#: doc/po4a.7.pod:104 3377#, no-wrap 3378msgid "" 3379" PO4A-HEADER: position=À propos de ce document; mode=after; endboundary=</section>\n" 3380"\n" 3381msgstr "" 3382 3383#. type: textblock 3384#: doc/po4a.7.pod:105 3385msgid "" 3386"Once the C<position> is found in the target document, po4a searches for the " 3387"next line after the C<position> that matches the provided C<endboundary>. " 3388"The addendum is added right B<after> that line (because we provided an " 3389"I<endboundary>, i.e. a boundary ending the current section)." 3390msgstr "" 3391 3392#. type: textblock 3393#: doc/po4a.7.pod:106 3394msgid "" 3395"The exact same effect could be obtained with the following header, that is " 3396"equivalent:" 3397msgstr "" 3398 3399#. type: verbatim 3400#: doc/po4a.7.pod:107 3401#, no-wrap 3402msgid "" 3403" PO4A-HEADER: position=About this document; mode=after; beginboundary=<section>\n" 3404"\n" 3405msgstr "" 3406 3407#. type: textblock 3408#: doc/po4a.7.pod:108 3409msgid "" 3410"Here, po4a searches for the first line matching C<<section>> after the line " 3411"matching C<About this document> in the translation, and add the addendum " 3412"B<before> that line since we provided a I<beginboundary>, i.e. a boundary " 3413"marking the beginning of the next section. So this header line requires to " 3414"place the addendum after the section containing C<About this document>, and " 3415"instruct po4a that a section starts with a line containing the C<<section>> " 3416"tag. This is equivalent to the previous example because what you really want " 3417"is to add this addendum either after C</section>> or before C<<section>>." 3418msgstr "" 3419 3420#. type: textblock 3421#: doc/po4a.7.pod:109 3422msgid "" 3423"You can also set the insertion I<mode> to the value C<before>, with a " 3424"similar semantic: combining C<mode=before> with an C<endboundary> will put " 3425"the addendum just B<after> the matched boundary, that the last potential " 3426"boundary line before the C<position>. Combining C<mode=before> with an " 3427"C<beginboundary> will put the addendum just B<before> the matched boundary, " 3428"that the last potential boundary line before the C<position>." 3429msgstr "" 3430 3431#. type: verbatim 3432#: doc/po4a.7.pod:110 3433#, no-wrap 3434msgid "" 3435" Mode | Boundary kind | Used boundary | Insertion point compared to the boundary\n" 3436" ========|===============|========================|=========================================\n" 3437" 'before'| 'endboundary' | last before 'position' | Right after the selected boundary\n" 3438" 'before'|'beginboundary'| last before 'position' | Right before the selected boundary\n" 3439" 'after' | 'endboundary' | first after 'position' | Right after the selected boundary\n" 3440" 'after' |'beginboundary'| first after 'position' | Right before the selected boundary\n" 3441" 'eof' | (none) | n/a | End of file\n" 3442"\n" 3443msgstr "" 3444 3445#. type: =head3 3446#: doc/po4a.7.pod:111 3447msgid "Hint and tricks about addenda" 3448msgstr "" 3449 3450#. type: textblock 3451#: doc/po4a.7.pod:112 3452msgid "" 3453"Remember that these are regexp. For example, if you want to match the end of " 3454"a nroff section ending with the line C<.fi>, do not use C<.fi> as " 3455"B<endboundary>, because it will match with C<the[ fi]le>, which is obviously " 3456"not what you expect. The correct B<endboundary> in that case is: C<^\\.fi$>." 3457msgstr "" 3458 3459#. type: textblock 3460#: doc/po4a.7.pod:113 3461msgid "" 3462"White spaces ARE important in the content of the C<position> and boundaries. " 3463"So the two following lines B<are different>. The second one will only be " 3464"found if there is enough trailing spaces in the translated document." 3465msgstr "" 3466 3467#. type: verbatim 3468#: doc/po4a.7.pod:114 3469#, no-wrap 3470msgid "" 3471" PO4A-HEADER: position=About this document; mode=after; beginboundary=<section>\n" 3472" PO4A-HEADER: position=About this document ; mode=after; beginboundary=<section>\n" 3473"\n" 3474msgstr "" 3475 3476#. type: textblock 3477#: doc/po4a.7.pod:115 3478msgid "" 3479"Although this context search may be considered to operate roughly on each " 3480"line of the B<translated> document, it actually operates on the internal " 3481"data string of the translated document. This internal data string may be a " 3482"text spanning a paragraph containing multiple lines or may be a XML tag " 3483"itself alone. The exact I<insertion point> of the addendum must be before or " 3484"after the internal data string and can not be within the internal data " 3485"string." 3486msgstr "" 3487 3488#. type: textblock 3489#: doc/po4a.7.pod:116 3490msgid "" 3491"Pass the B<-vv> argument to po4a to understand how the addenda are added to " 3492"the translation. It may also help to run po4a in debug mode to see the " 3493"actual internal data string when your addendum does not apply." 3494msgstr "" 3495 3496#. type: =head3 3497#: doc/po4a.7.pod:117 3498msgid "Addenda examples" 3499msgstr "" 3500 3501#. type: textblock 3502#: doc/po4a.7.pod:118 3503msgid "If you want to add something after the following nroff section:" 3504msgstr "" 3505 3506#. type: verbatim 3507#: doc/po4a.7.pod:119 3508#, no-wrap 3509msgid "" 3510" .SH \"AUTHORS\"\n" 3511"\n" 3512msgstr "" 3513 3514#. type: textblock 3515#: doc/po4a.7.pod:120 3516msgid "" 3517"You should select a two step approach by setting B<mode=after>. Then you " 3518"should narrow down search to the line after B<AUTHORS> with the B<position> " 3519"argument regex. Then, you should match the beginning of the next section (i." 3520"e., B<^\\.SH>) with the B<beginboundary> argument regex. That is to say:" 3521msgstr "" 3522 3523#. type: verbatim 3524#: doc/po4a.7.pod:121 3525#, no-wrap 3526msgid "" 3527" PO4A-HEADER:mode=after;position=AUTHORS;beginboundary=\\.SH\n" 3528"\n" 3529msgstr "" 3530 3531#. type: textblock 3532#: doc/po4a.7.pod:122 3533msgid "" 3534"If you want to add something right after a given line (e.g. after the line " 3535"\"Copyright Big Dude\"), use a B<position> matching this line, B<mode=after> " 3536"and give a B<beginboundary> matching any line." 3537msgstr "" 3538 3539#. type: verbatim 3540#: doc/po4a.7.pod:123 3541#, no-wrap 3542msgid "" 3543" PO4A-HEADER:mode=after;position=Copyright Big Dude, 2004;beginboundary=^\n" 3544"\n" 3545msgstr "" 3546 3547#. type: textblock 3548#: doc/po4a.7.pod:124 3549msgid "" 3550"If you want to add something at the end of the document, give a B<position> " 3551"matching any line of your document (but only one line. Po4a won't proceed if " 3552"it's not unique), and give an B<endboundary> matching nothing. Don't use " 3553"simple strings here like B<\"EOF\">, but prefer those which have less chance " 3554"to be in your document." 3555msgstr "" 3556 3557#. type: verbatim 3558#: doc/po4a.7.pod:125 3559#, no-wrap 3560msgid "" 3561" PO4A-HEADER:mode=after;position=About this document;beginboundary=FakePo4aBoundary\n" 3562"\n" 3563msgstr "" 3564 3565#. type: =head3 3566#: doc/po4a.7.pod:126 3567msgid "More detailed example" 3568msgstr "" 3569 3570#. type: textblock 3571#: doc/po4a.7.pod:127 3572msgid "Original document (POD formatted):" 3573msgstr "" 3574 3575#. type: verbatim 3576#: doc/po4a.7.pod:128 3577#, no-wrap 3578msgid "" 3579" |=head1 NAME\n" 3580" |\n" 3581" |dummy - a dummy program\n" 3582" |\n" 3583" |=head1 AUTHOR\n" 3584" |\n" 3585" |me\n" 3586"\n" 3587msgstr "" 3588 3589#. type: textblock 3590#: doc/po4a.7.pod:129 3591msgid "" 3592"Then, the following addendum will ensure that a section (in French) about " 3593"the translator is added at the end of the file (in French, \"TRADUCTEUR\" " 3594"means \"TRANSLATOR\", and \"moi\" means \"me\")." 3595msgstr "" 3596 3597#. type: verbatim 3598#: doc/po4a.7.pod:130 3599#, no-wrap 3600msgid "" 3601" |PO4A-HEADER:mode=after;position=AUTEUR;beginboundary=^=head\n" 3602" |\n" 3603" |=head1 TRADUCTEUR\n" 3604" |\n" 3605" |moi\n" 3606" |\n" 3607"\n" 3608msgstr "" 3609 3610#. type: textblock 3611#: doc/po4a.7.pod:131 3612msgid "To put your addendum before the AUTHOR, use the following header:" 3613msgstr "" 3614 3615#. type: verbatim 3616#: doc/po4a.7.pod:132 3617#, no-wrap 3618msgid "" 3619" PO4A-HEADER:mode=after;position=NOM;beginboundary=^=head1\n" 3620"\n" 3621msgstr "" 3622 3623#. type: textblock 3624#: doc/po4a.7.pod:133 3625msgid "" 3626"This works because the next line matching the B<beginboundary> /^=head1/ " 3627"after the section \"NAME\" (translated to \"NOM\" in French), is the one " 3628"declaring the authors. So, the addendum will be put between both sections. " 3629"Note that if another section is added between NAME and AUTHOR sections " 3630"later, po4a will wrongfully put the addenda before the new section." 3631msgstr "" 3632 3633#. type: textblock 3634#: doc/po4a.7.pod:134 3635msgid "To avoid this you may accomplish the same using B<mode>=I<before>:" 3636msgstr "" 3637 3638#. type: verbatim 3639#: doc/po4a.7.pod:135 3640#, no-wrap 3641msgid "" 3642" PO4A-HEADER:mode=before;position=^=head1 AUTEUR\n" 3643"\n" 3644msgstr "" 3645 3646#. type: =head1 3647#: doc/po4a.7.pod:136 3648msgid "How does it work?" 3649msgstr "" 3650 3651#. type: textblock 3652#: doc/po4a.7.pod:137 3653msgid "" 3654"This chapter gives you a brief overview of the po4a internals, so that you " 3655"may feel more confident to help us maintaining and improving it. It may also " 3656"help you understanding why it does not do what you expected, and how to " 3657"solve your problems." 3658msgstr "" 3659 3660#. type: textblock 3661#: doc/po4a.7.pod:138 3662msgid "" 3663"The po4a architecture is object oriented. The L<Locale::Po4a::" 3664"TransTractor(3pm)|TransTractor> class is the common ancestor to all po4a " 3665"parsers. This strange name comes from the fact that it is at the same time " 3666"in charge of translating document and extracting strings." 3667msgstr "" 3668 3669#. type: textblock 3670#: doc/po4a.7.pod:139 3671msgid "" 3672"More formally, it takes a document to translate plus a PO file containing " 3673"the translations to use as input while producing two separate outputs: " 3674"Another PO file (resulting of the extraction of translatable strings from " 3675"the input document), and a translated document (with the same structure than " 3676"the input one, but with all translatable strings replaced with content of " 3677"the input PO). Here is a graphical representation of this:" 3678msgstr "" 3679 3680#. type: verbatim 3681#: doc/po4a.7.pod:140 3682#, no-wrap 3683msgid "" 3684" Input document --\\ /---> Output document\n" 3685" \\ TransTractor:: / (translated)\n" 3686" +-->-- parse() --------+\n" 3687" / \\\n" 3688" Input PO --------/ \\---> Output PO\n" 3689" (extracted)\n" 3690"\n" 3691msgstr "" 3692 3693#. type: textblock 3694#: doc/po4a.7.pod:141 3695msgid "" 3696"This little bone is the core of all the po4a architecture. If you omit the " 3697"input PO and the output document, you get B<po4a-gettextize>. If you provide " 3698"both input and disregard the output PO, you get B<po4a-translate>. The " 3699"B<po4a> calls TransTractor twice and calls B<msgmerge -U> between these " 3700"TransTractor invocations to provide one-stop solution with a single " 3701"configuration file. Please see L<Locale::Po4a::TransTractor(3pm)> for more " 3702"details." 3703msgstr "" 3704 3705#. type: =head1 3706#: doc/po4a.7.pod:142 3707msgid "Open-source projects using po4a" 3708msgstr "" 3709 3710#. type: textblock 3711#: doc/po4a.7.pod:143 3712msgid "" 3713"Here is a very partial list of projects that use po4a in production for " 3714"their documentation. If you want to add your project to the list, just drop " 3715"us an email (or a Merge Request)." 3716msgstr "" 3717 3718#. type: textblock 3719#: doc/po4a.7.pod:144 3720msgid "adduser (man): users and groups management tool." 3721msgstr "" 3722 3723#. type: textblock 3724#: doc/po4a.7.pod:145 3725msgid "apt (man, docbook): Debian package manager." 3726msgstr "" 3727 3728#. type: textblock 3729#: doc/po4a.7.pod:146 3730msgid "aptitude (docbook, svg): terminal-based package manager for Debian" 3731msgstr "" 3732 3733#. type: textblock 3734#: doc/po4a.7.pod:147 3735msgid "" 3736"L<F-Droid website|https://gitlab.com/fdroid/fdroid-website> (markdown): " 3737"installable catalogue of FOSS (Free and Open Source Software) applications " 3738"for the Android platform." 3739msgstr "" 3740 3741#. type: textblock 3742#: doc/po4a.7.pod:148 3743msgid "" 3744"L<git|https://github.com/jnavila/git-manpages-l10n> (asciidoc): distributed " 3745"version-control system for tracking changes in source code." 3746msgstr "" 3747 3748#. type: textblock 3749#: doc/po4a.7.pod:149 3750msgid "" 3751"L<Linux manpages|https://salsa.debian.org/manpages-l10n-team/manpages-l10n> " 3752"(man)" 3753msgstr "" 3754 3755#. type: textblock 3756#: doc/po4a.7.pod:150 3757msgid "" 3758"This project provides an infrastructure for translating many manpages to " 3759"different languages, ready for integration into several major distributions " 3760"(Arch Linux, Debian and derivatives, Fedora)." 3761msgstr "" 3762 3763#. type: textblock 3764#: doc/po4a.7.pod:151 3765msgid "" 3766"L<Stellarium|https://github.com/Stellarium/stellarium> (HTML): a free open " 3767"source planetarium for your computer. po4a is used to translate the sky " 3768"culture descriptions." 3769msgstr "" 3770 3771#. type: textblock 3772#: doc/po4a.7.pod:152 3773msgid "" 3774"Other item to sort out: L<https://gitlab.com/fdroid/fdroid-website/> " 3775"L<https://github.com/fsfe/reuse-docs/pull/61>" 3776msgstr "" 3777 3778#. type: =head1 3779#: doc/po4a.7.pod:153 3780msgid "FAQ" 3781msgstr "" 3782 3783#. type: =head2 3784#: doc/po4a.7.pod:154 3785msgid "How do you pronounce po4a?" 3786msgstr "" 3787 3788#. type: textblock 3789#: doc/po4a.7.pod:155 3790msgid "" 3791"I personally vocalize it as L<pouah|https://en.wiktionary.org/wiki/pouah>, " 3792"which is a French onomatopoetic that we use in place of yuck :) I may have a " 3793"strange sense of humor :)" 3794msgstr "" 3795 3796#. type: =head2 3797#: doc/po4a.7.pod:156 3798msgid "What about the other translation tools for documentation using gettext?" 3799msgstr "" 3800 3801#. type: textblock 3802#: doc/po4a.7.pod:157 3803msgid "As far as I know, there are only two of them:" 3804msgstr "" 3805 3806#. type: =item 3807#: doc/po4a.7.pod:158 3808msgid "B<poxml>" 3809msgstr "" 3810 3811#. type: textblock 3812#: doc/po4a.7.pod:159 3813msgid "" 3814"This is the tool developed by KDE people to handle DocBook XML. AFAIK, it " 3815"was the first program to extract strings to translate from documentation to " 3816"PO files, and inject them back after translation." 3817msgstr "" 3818 3819#. type: textblock 3820#: doc/po4a.7.pod:160 3821msgid "" 3822"It can only handle XML, and only a particular DTD. I'm quite unhappy with " 3823"the handling of lists, which end in one big msgid. When the list become big, " 3824"the chunk becomes harder to swallow." 3825msgstr "" 3826 3827#. type: =item 3828#: doc/po4a.7.pod:161 3829msgid "B<po-debiandoc>" 3830msgstr "" 3831 3832#. type: textblock 3833#: doc/po4a.7.pod:162 3834msgid "" 3835"This program done by Denis Barbier is a sort of precursor of the po4a SGML " 3836"module, which more or less deprecates it. As the name says, it handles only " 3837"the DebianDoc DTD, which is more or less a deprecated DTD." 3838msgstr "" 3839 3840#. type: textblock 3841#: doc/po4a.7.pod:163 3842msgid "" 3843"The main advantages of po4a over them are the ease of extra content addition " 3844"(which is even worse there) and the ability to achieve gettextization." 3845msgstr "" 3846 3847#. type: =head2 3848#: doc/po4a.7.pod:164 3849msgid "SUMMARY of the advantages of the gettext based approach" 3850msgstr "" 3851 3852#. type: textblock 3853#: doc/po4a.7.pod:165 3854msgid "" 3855"The translations are not stored along with the original, which makes it " 3856"possible to detect if translations become out of date." 3857msgstr "" 3858 3859#. type: textblock 3860#: doc/po4a.7.pod:166 3861msgid "" 3862"The translations are stored in separate files from each other, which " 3863"prevents translators of different languages from interfering, both when " 3864"submitting their patch and at the file encoding level." 3865msgstr "" 3866 3867#. type: textblock 3868#: doc/po4a.7.pod:167 3869msgid "" 3870"It is based internally on B<gettext> (but B<po4a> offers a very simple " 3871"interface so that you don't need to understand the internals to use it). " 3872"That way, we don't have to re-implement the wheel, and because of their wide " 3873"use, we can think that these tools are more or less bug free." 3874msgstr "" 3875 3876#. type: textblock 3877#: doc/po4a.7.pod:168 3878msgid "" 3879"Nothing changed for the end-user (beside the fact translations will " 3880"hopefully be better maintained). The resulting documentation file " 3881"distributed is exactly the same." 3882msgstr "" 3883 3884#. type: textblock 3885#: doc/po4a.7.pod:169 3886msgid "" 3887"No need for translators to learn a new file syntax and their favorite PO " 3888"file editor (like Emacs' PO mode, Lokalize or Gtranslator) will work just " 3889"fine." 3890msgstr "" 3891 3892#. type: textblock 3893#: doc/po4a.7.pod:170 3894msgid "" 3895"gettext offers a simple way to get statistics about what is done, what " 3896"should be reviewed and updated, and what is still to do. Some example can be " 3897"found at those addresses:" 3898msgstr "" 3899 3900#. type: verbatim 3901#: doc/po4a.7.pod:171 3902#, no-wrap 3903msgid "" 3904" - https://docs.kde.org/stable5/en/kdesdk/lokalize/project-view.html\n" 3905" - http://www.debian.org/intl/l10n/\n" 3906"\n" 3907msgstr "" 3908 3909#. type: textblock 3910#: doc/po4a.7.pod:172 3911msgid "" 3912"But everything isn't green, and this approach also has some disadvantages we " 3913"have to deal with." 3914msgstr "" 3915 3916#. type: textblock 3917#: doc/po4a.7.pod:173 3918msgid "Addenda are… strange at the first glance." 3919msgstr "" 3920 3921#. type: textblock 3922#: doc/po4a.7.pod:174 3923msgid "" 3924"You can't adapt the translated text to your preferences, like splitting a " 3925"paragraph here, and joining two other ones there. But in some sense, if " 3926"there is an issue with the original, it should be reported as a bug anyway." 3927msgstr "" 3928 3929#. type: textblock 3930#: doc/po4a.7.pod:175 3931msgid "" 3932"Even with an easy interface, it remains a new tool people have to learn." 3933msgstr "" 3934 3935#. type: textblock 3936#: doc/po4a.7.pod:176 3937msgid "" 3938"One of my dreams would be to integrate somehow po4a to Gtranslator or " 3939"Lokalize. When a documentation file is opened, the strings are automatically " 3940"extracted, and a translated file + po file can be written to disk. If we " 3941"manage to do an MS Word (TM) module (or at least RTF) professional " 3942"translators may even use it." 3943msgstr "" 3944 3945#. type: textblock 3946#: doc/po4a.7.pod:178 3947msgid "" 3948"The documentation of the all-in-one tool that you should use: L<po4a(1)>." 3949msgstr "" 3950 3951#. type: textblock 3952#: doc/po4a.7.pod:179 3953msgid "" 3954"The documentation of the individual po4a scripts: L<po4a-gettextize(1)>, " 3955"L<po4a-updatepo(1)>, L<po4a-translate(1)>, L<po4a-normalize(1)>." 3956msgstr "" 3957 3958#. type: textblock 3959#: doc/po4a.7.pod:180 3960msgid "" 3961"The additional helping scripts: L<msguntypot(1)>, L<po4a-display-man(1)>, " 3962"L<po4a-display-pod(1)>." 3963msgstr "" 3964 3965#. type: textblock 3966#: doc/po4a.7.pod:181 3967msgid "" 3968"The parsers of each formats, in particular to see the options accepted by " 3969"each of them: L<Locale::Po4a::AsciiDoc(3pm)> L<Locale::Po4a::Dia(3pm)>, " 3970"L<Locale::Po4a::Guide(3pm)>, L<Locale::Po4a::Ini(3pm)>, L<Locale::Po4a::" 3971"KernelHelp(3pm)>, L<Locale::Po4a::Man(3pm)>, L<Locale::Po4a::RubyDoc(3pm)>, " 3972"L<Locale::Po4a::Texinfo(3pm)>, L<Locale::Po4a::Text(3pm)>, L<Locale::Po4a::" 3973"Xhtml(3pm)>, L<Locale::Po4a::Yaml(3pm)>, L<Locale::Po4a::BibTeX(3pm)>, " 3974"L<Locale::Po4a::Docbook(3pm)>, L<Locale::Po4a::Halibut(3pm)>, L<Locale::" 3975"Po4a::LaTeX(3pm)>, L<Locale::Po4a::Pod(3pm)>, L<Locale::Po4a::Sgml(3pm)>, " 3976"L<Locale::Po4a::TeX(3pm)>, L<Locale::Po4a::Wml(3pm)>, L<Locale::Po4a::" 3977"Xml(3pm)>." 3978msgstr "" 3979 3980#. type: textblock 3981#: doc/po4a.7.pod:182 3982msgid "" 3983"The implementation of the core infrastructure: L<Locale::Po4a::" 3984"TransTractor(3pm)> (particularly important to understand the code " 3985"organization), L<Locale::Po4a::Chooser(3pm)>, L<Locale::Po4a::Po(3pm)>, " 3986"L<Locale::Po4a::Common(3pm)>. Please also check the F<CONTRIBUTING.md> file " 3987"in the source tree." 3988msgstr "" 3989 3990#. type: verbatim 3991#: doc/po4a.7.pod:184 3992#, no-wrap 3993msgid "" 3994" Denis Barbier <barbier,linuxfr.org>\n" 3995" Martin Quinson (mquinson#debian.org)\n" 3996"\n" 3997msgstr "" 3998 3999#. type: textblock 4000#: lib/Locale/Po4a/AsciiDoc.pm:2 4001msgid "Locale::Po4a::AsciiDoc - convert AsciiDoc documents from/to PO files" 4002msgstr "" 4003 4004#. type: textblock 4005#: lib/Locale/Po4a/AsciiDoc.pm:5 4006msgid "" 4007"Locale::Po4a::AsciiDoc is a module to help the translation of documentation " 4008"in the AsciiDoc format." 4009msgstr "" 4010 4011#. type: =head1 4012#: lib/Locale/Po4a/AsciiDoc.pm:6 lib/Locale/Po4a/BibTeX.pm:7 4013#: lib/Locale/Po4a/Man.pm:34 lib/Locale/Po4a/Po.pm:13 lib/Locale/Po4a/Sgml.pm:7 4014#: lib/Locale/Po4a/TeX.pm:11 lib/Locale/Po4a/Text.pm:8 lib/Locale/Po4a/Wml.pm:7 4015#: lib/Locale/Po4a/Xhtml.pm:6 lib/Locale/Po4a/Xml.pm:9 4016msgid "OPTIONS ACCEPTED BY THIS MODULE" 4017msgstr "" 4018 4019#. type: textblock 4020#: lib/Locale/Po4a/AsciiDoc.pm:7 lib/Locale/Po4a/Man.pm:35 4021#: lib/Locale/Po4a/TeX.pm:12 lib/Locale/Po4a/Text.pm:9 4022#: lib/Locale/Po4a/Xhtml.pm:7 lib/Locale/Po4a/Xml.pm:11 4023msgid "These are this module's particular options:" 4024msgstr "" 4025 4026#. type: =item 4027#: lib/Locale/Po4a/AsciiDoc.pm:8 lib/Locale/Po4a/TeX.pm:21 4028msgid "B<definitions>" 4029msgstr "" 4030 4031#. type: textblock 4032#: lib/Locale/Po4a/AsciiDoc.pm:9 lib/Locale/Po4a/TeX.pm:22 4033msgid "" 4034"The name of a file containing definitions for po4a, as defined in the " 4035"B<INLINE CUSTOMIZATION> section. You can use this option if it is not " 4036"possible to put the definitions in the document being translated." 4037msgstr "" 4038 4039#. type: textblock 4040#: lib/Locale/Po4a/AsciiDoc.pm:10 4041msgid "" 4042"In a definitions file, lines must not start by two slashes, but directly by " 4043"B<po4a:>." 4044msgstr "" 4045 4046#. type: =item 4047#: lib/Locale/Po4a/AsciiDoc.pm:11 4048msgid "B<entry>" 4049msgstr "" 4050 4051#. type: textblock 4052#: lib/Locale/Po4a/AsciiDoc.pm:12 4053msgid "" 4054"Space-separated list of attribute entries you want to translate. By " 4055"default, no attribute entries are translatable." 4056msgstr "" 4057 4058#. type: =item 4059#: lib/Locale/Po4a/AsciiDoc.pm:13 4060msgid "B<macro>" 4061msgstr "" 4062 4063#. type: textblock 4064#: lib/Locale/Po4a/AsciiDoc.pm:14 4065msgid "Space-separated list of macro definitions." 4066msgstr "" 4067 4068#. type: =item 4069#: lib/Locale/Po4a/AsciiDoc.pm:15 4070msgid "B<style>" 4071msgstr "" 4072 4073#. type: textblock 4074#: lib/Locale/Po4a/AsciiDoc.pm:16 4075msgid "Space-separated list of style definitions." 4076msgstr "" 4077 4078#. type: =item 4079#: lib/Locale/Po4a/AsciiDoc.pm:17 4080msgid "B<forcewrap>" 4081msgstr "" 4082 4083#. type: textblock 4084#: lib/Locale/Po4a/AsciiDoc.pm:18 4085msgid "" 4086"Enable automatic line wrapping in non-verbatim blocks, even if the result " 4087"could be misinterpreted by AsciiDoc formatters." 4088msgstr "" 4089 4090#. type: textblock 4091#: lib/Locale/Po4a/AsciiDoc.pm:19 4092msgid "" 4093"By default, po4a will not wrap the produced AsciiDoc files because a manual " 4094"inspection is mandated to ensure that the wrapping does not change the " 4095"formatting. Consider for instance the following list item:" 4096msgstr "" 4097 4098#. type: verbatim 4099#: lib/Locale/Po4a/AsciiDoc.pm:20 4100#, no-wrap 4101msgid "" 4102" * a long sentence that is ending with a number 1. A second sentence.\n" 4103"\n" 4104msgstr "" 4105 4106#. type: textblock 4107#: lib/Locale/Po4a/AsciiDoc.pm:21 4108msgid "" 4109"If the wrapping leads to the following presentation, the item is split into " 4110"a numbered sub-list. To make things worse, only the speakers of the language " 4111"used in the translation can inspect the situation." 4112msgstr "" 4113 4114#. type: verbatim 4115#: lib/Locale/Po4a/AsciiDoc.pm:22 4116#, no-wrap 4117msgid "" 4118" * a long sentence that is ending with a number\n" 4119" 1. A second sentence.\n" 4120"\n" 4121msgstr "" 4122 4123#. type: textblock 4124#: lib/Locale/Po4a/AsciiDoc.pm:23 4125msgid "" 4126"Note that not wrapping the files produced by po4a should not be a problem " 4127"since those files are meant to be processed automatically. They should not " 4128"be regarded as source files anyway." 4129msgstr "" 4130 4131#. type: textblock 4132#: lib/Locale/Po4a/AsciiDoc.pm:24 4133msgid "" 4134"With this option, po4a will produce better-looking source files, that may " 4135"lead to possibly erroneous formatted outputs." 4136msgstr "" 4137 4138#. type: =item 4139#: lib/Locale/Po4a/AsciiDoc.pm:25 4140msgid "B<noimagetargets>" 4141msgstr "" 4142 4143#. type: textblock 4144#: lib/Locale/Po4a/AsciiDoc.pm:26 4145msgid "" 4146"By default, the targets of block images are translatable to give opportunity " 4147"to make the content point to translated images. This can be stopped by " 4148"setting this option." 4149msgstr "" 4150 4151#. type: =item 4152#: lib/Locale/Po4a/AsciiDoc.pm:27 4153msgid "B<tablecells>" 4154msgstr "" 4155 4156#. type: textblock 4157#: lib/Locale/Po4a/AsciiDoc.pm:28 4158msgid "" 4159"This option is a flag that enables sub-table segmentation into cell " 4160"content. The segmentation is limited to cell content, without any parsing " 4161"inside of it." 4162msgstr "" 4163 4164#. type: =item 4165#: lib/Locale/Po4a/AsciiDoc.pm:29 4166msgid "B<compat>" 4167msgstr "" 4168 4169#. type: textblock 4170#: lib/Locale/Po4a/AsciiDoc.pm:30 4171msgid "" 4172"Switch parsing rules to compatibility with different tools. Available " 4173"options are \"asciidoc\" or \"asciidoctor\". Asciidoctor has stricter " 4174"parsing rules, such as equality of length of opening and closing block " 4175"fences." 4176msgstr "" 4177 4178#. type: =item 4179#: lib/Locale/Po4a/AsciiDoc.pm:31 4180msgid "B<yfm_keys>" 4181msgstr "" 4182 4183#. type: textblock 4184#: lib/Locale/Po4a/AsciiDoc.pm:32 lib/Locale/Po4a/Text.pm:31 4185msgid "" 4186"Comma-separated list of keys to process for translation in the YAML Front " 4187"Matter section. All other keys are skipped. Keys are matched with a case-" 4188"insensitive match. Array values are always translated, unless the " 4189"B<yfm_skip_array> option is provided." 4190msgstr "" 4191 4192#. type: =item 4193#: lib/Locale/Po4a/AsciiDoc.pm:33 4194msgid "B<nolinting>" 4195msgstr "" 4196 4197#. type: textblock 4198#: lib/Locale/Po4a/AsciiDoc.pm:34 4199msgid "" 4200"Disable linting messages. When the source code cannot be fixed for clearer " 4201"document structure, these messages are useless." 4202msgstr "" 4203 4204#. type: =item 4205#: lib/Locale/Po4a/AsciiDoc.pm:35 4206msgid "B<yfm_skip_array>" 4207msgstr "" 4208 4209#. type: textblock 4210#: lib/Locale/Po4a/AsciiDoc.pm:36 lib/Locale/Po4a/Text.pm:33 4211msgid "Do not translate array values in the YAML Front Matter section." 4212msgstr "" 4213 4214#. type: =head1 4215#: lib/Locale/Po4a/AsciiDoc.pm:37 lib/Locale/Po4a/TeX.pm:27 4216msgid "INLINE CUSTOMIZATION" 4217msgstr "" 4218 4219#. type: textblock 4220#: lib/Locale/Po4a/AsciiDoc.pm:38 4221msgid "" 4222"The AsciiDoc module can be customized with lines starting by B<//po4a:>. " 4223"These lines are interpreted as commands to the parser. The following " 4224"commands are recognized:" 4225msgstr "" 4226 4227#. type: =item 4228#: lib/Locale/Po4a/AsciiDoc.pm:39 4229msgid "B<//po4a: macro >I<name>B<[>I<attribute list>B<]>" 4230msgstr "" 4231 4232#. type: textblock 4233#: lib/Locale/Po4a/AsciiDoc.pm:40 4234msgid "" 4235"This permits to describe in detail the parameters of a B<macro>; I<name> " 4236"must be a valid macro name, and it ends with an underscore if the target " 4237"must be translated." 4238msgstr "" 4239 4240#. type: textblock 4241#: lib/Locale/Po4a/AsciiDoc.pm:41 4242msgid "" 4243"The I<attribute list> argument is a comma separated list which contains " 4244"informations about translatable arguments. This list contains either " 4245"numbers, to define positional parameters, or named attributes." 4246msgstr "" 4247 4248#. type: textblock 4249#: lib/Locale/Po4a/AsciiDoc.pm:42 4250msgid "" 4251"If a plus sign (B<+>) is prepended to I<name>, then the macro and its " 4252"arguments are translated as a whole. There is no need to define attribute " 4253"list in this case, but brackets must be present." 4254msgstr "" 4255 4256#. type: =item 4257#: lib/Locale/Po4a/AsciiDoc.pm:43 4258msgid "B<//po4a: style >B<[>I<attribute list>B<]>" 4259msgstr "" 4260 4261#. type: textblock 4262#: lib/Locale/Po4a/AsciiDoc.pm:44 4263msgid "" 4264"This permits to describe in detail which attributes of a style must be " 4265"translated." 4266msgstr "" 4267 4268#. type: textblock 4269#: lib/Locale/Po4a/AsciiDoc.pm:45 4270msgid "" 4271"The I<attribute list> argument is a comma separated list which contains " 4272"informations about translatable arguments. This list contains either " 4273"numbers, to define positional parameters, or named attributes. The first " 4274"attribute is the style name, it will not be translated." 4275msgstr "" 4276 4277#. type: textblock 4278#: lib/Locale/Po4a/AsciiDoc.pm:46 4279msgid "" 4280"If a plus sign (B<+>) is prepended to the style name, then the attribute " 4281"list is translated as a whole. There is no need to define translatable " 4282"attributes." 4283msgstr "" 4284 4285#. type: textblock 4286#: lib/Locale/Po4a/AsciiDoc.pm:47 4287msgid "" 4288"If a minus sign (B<->) is prepended to the style name, then this attribute " 4289"is not translated." 4290msgstr "" 4291 4292#. type: =item 4293#: lib/Locale/Po4a/AsciiDoc.pm:48 4294msgid "B<//po4a: entry >I<name>" 4295msgstr "" 4296 4297#. type: textblock 4298#: lib/Locale/Po4a/AsciiDoc.pm:49 4299msgid "" 4300"This declares an attribute entry as being translatable. By default, they " 4301"are not translated." 4302msgstr "" 4303 4304#. type: =head1 4305#: lib/Locale/Po4a/AsciiDoc.pm:50 lib/Locale/Po4a/BibTeX.pm:9 4306#: lib/Locale/Po4a/Dia.pm:10 lib/Locale/Po4a/Docbook.pm:6 4307#: lib/Locale/Po4a/Guide.pm:7 lib/Locale/Po4a/Halibut.pm:7 4308#: lib/Locale/Po4a/KernelHelp.pm:5 lib/Locale/Po4a/Man.pm:96 4309#: lib/Locale/Po4a/Pod.pm:9 lib/Locale/Po4a/Sgml.pm:34 4310#: lib/Locale/Po4a/TeX.pm:104 lib/Locale/Po4a/Texinfo.pm:8 4311#: lib/Locale/Po4a/Text.pm:38 lib/Locale/Po4a/Wml.pm:9 4312#: lib/Locale/Po4a/Xhtml.pm:12 lib/Locale/Po4a/Xml.pm:178 4313msgid "STATUS OF THIS MODULE" 4314msgstr "" 4315 4316#. type: textblock 4317#: lib/Locale/Po4a/AsciiDoc.pm:51 4318msgid "Tested successfully on simple AsciiDoc files." 4319msgstr "" 4320 4321#. type: verbatim 4322#: lib/Locale/Po4a/AsciiDoc.pm:53 4323#, no-wrap 4324msgid "" 4325" Nicolas François <nicolas.francois@centraliens.net>\n" 4326" Denis Barbier <barbier@linuxfr.org>\n" 4327"\n" 4328msgstr "" 4329 4330#. type: verbatim 4331#: lib/Locale/Po4a/AsciiDoc.pm:55 4332#, no-wrap 4333msgid "" 4334" Copyright © 2005-2008 Nicolas FRANÇOIS <nicolas.francois@centraliens.net>.\n" 4335" Copyright © 2012 Denis BARBIER <barbier@linuxfr.org>.\n" 4336" Copyright © 2017 Martin Quinson <mquinson#debian.org>.\n" 4337"\n" 4338msgstr "" 4339 4340#. type: textblock 4341#: lib/Locale/Po4a/BibTeX.pm:2 4342msgid "Locale::Po4a::BibTeX - convert BibTeX documents from/to PO files" 4343msgstr "" 4344 4345#. type: textblock 4346#: lib/Locale/Po4a/BibTeX.pm:5 4347msgid "" 4348"Locale::Po4a::BibTeX is a module to help the translation of bibliographies " 4349"in the BibTeX format into other [human] languages." 4350msgstr "" 4351 4352#. type: textblock 4353#: lib/Locale/Po4a/BibTeX.pm:6 4354msgid "Fields values are extracted and proposed for translation." 4355msgstr "" 4356 4357#. type: textblock 4358#: lib/Locale/Po4a/BibTeX.pm:8 lib/Locale/Po4a/Wml.pm:8 4359msgid "NONE." 4360msgstr "" 4361 4362#. type: textblock 4363#: lib/Locale/Po4a/BibTeX.pm:10 4364msgid "It is a very simple module, but still young." 4365msgstr "" 4366 4367#. type: verbatim 4368#: lib/Locale/Po4a/BibTeX.pm:12 lib/Locale/Po4a/Halibut.pm:17 4369#: lib/Locale/Po4a/LaTeX.pm:11 lib/Locale/Po4a/TeX.pm:121 4370#: lib/Locale/Po4a/Texinfo.pm:13 lib/Locale/Po4a/Text.pm:41 4371#, no-wrap 4372msgid "" 4373" Nicolas François <nicolas.francois@centraliens.net>\n" 4374"\n" 4375msgstr "" 4376 4377#. type: verbatim 4378#: lib/Locale/Po4a/BibTeX.pm:14 4379#, no-wrap 4380msgid "" 4381" Copyright © 2006 Nicolas FRANÇOIS <nicolas.francois@centraliens.net>.\n" 4382"\n" 4383msgstr "" 4384 4385#. type: textblock 4386#: lib/Locale/Po4a/Chooser.pm:2 4387msgid "Locale::Po4a::Chooser - manage po4a modules" 4388msgstr "" 4389 4390#. type: textblock 4391#: lib/Locale/Po4a/Chooser.pm:4 4392msgid "" 4393"Locale::Po4a::Chooser is a module to manage po4a modules. Previously, all " 4394"po4a binaries used to know all po4a modules (pod, man, sgml, etc). This made " 4395"the addition of a new module boring, because you had to make sure that the " 4396"documentation is synchronized in all modules, and that each of them can " 4397"access the new module." 4398msgstr "" 4399 4400#. type: textblock 4401#: lib/Locale/Po4a/Chooser.pm:5 4402msgid "" 4403"Now, you just have to call the Locale::Po4a::Chooser::new() function, " 4404"passing the name of module as argument." 4405msgstr "" 4406 4407#. type: textblock 4408#: lib/Locale/Po4a/Chooser.pm:6 4409msgid "" 4410"The function Locale::Po4a::Chooser::list() lists the available formats, and " 4411"exits with the value passed as argument. So, we call Locale::Po4a::Chooser::" 4412"list(0) when requested for the list of formats, and Locale::Po4a::Chooser::" 4413"list(1) when passed an invalid format name." 4414msgstr "" 4415 4416#. type: =item 4417#: lib/Locale/Po4a/Chooser.pm:8 4418msgid "About po4a:" 4419msgstr "" 4420 4421#. type: textblock 4422#: lib/Locale/Po4a/Chooser.pm:9 4423msgid "" 4424"L<Locale::Po4a::Po(3pm)>, L<Locale::Po4a::TransTractor(3pm)>, L<po4a(7)|" 4425"po4a.7>" 4426msgstr "" 4427 4428#. type: =item 4429#: lib/Locale/Po4a/Chooser.pm:10 4430msgid "About modules:" 4431msgstr "" 4432 4433#. type: textblock 4434#: lib/Locale/Po4a/Chooser.pm:11 4435msgid "" 4436"L<Locale::Po4a::Dia(3pm)>, L<Locale::Po4a::Docbook(3pm)>, L<Locale::Po4a::" 4437"Guide(3pm)>, L<Locale::Po4a::Halibut(3pm)>, L<Locale::Po4a::Ini(3pm)>, " 4438"L<Locale::Po4a::KernelHelp(3pm)>, L<Locale::Po4a::LaTeX(3pm)>, L<Locale::" 4439"Po4a::Man(3pm)>, L<Locale::Po4a::Pod(3pm)>, L<Locale::Po4a::RubyDoc(3pm)>, " 4440"L<Locale::Po4a::Sgml(3pm)>, L<Locale::Po4a::TeX(3pm)>, L<Locale::Po4a::" 4441"Texinfo(3pm)>, L<Locale::Po4a::Text(3pm)>, L<Locale::Po4a::Wml(3pm)>. " 4442"L<Locale::Po4a::Xhtml(3pm)>, L<Locale::Po4a::Xml(3pm)>, L<Locale::Po4a::" 4443"Wml(3pm)>, L<Locale::Po4a::Yaml(3pm)>." 4444msgstr "" 4445 4446#. type: verbatim 4447#: lib/Locale/Po4a/Chooser.pm:13 lib/Locale/Po4a/KernelHelp.pm:10 4448#: lib/Locale/Po4a/Po.pm:102 lib/Locale/Po4a/Pod.pm:39 4449#: lib/Locale/Po4a/Sgml.pm:57 4450#, no-wrap 4451msgid "" 4452" Denis Barbier <barbier@linuxfr.org>\n" 4453" Martin Quinson (mquinson#debian.org)\n" 4454"\n" 4455msgstr "" 4456 4457#. type: textblock 4458#: lib/Locale/Po4a/Chooser.pm:15 4459msgid "Copyright © 2002-2005, 2014, 2017 SPI, Inc." 4460msgstr "" 4461 4462#. type: textblock 4463#: lib/Locale/Po4a/Common.pm:2 4464msgid "Locale::Po4a::Common - common parts of the po4a scripts and utils" 4465msgstr "" 4466 4467#. type: textblock 4468#: lib/Locale/Po4a/Common.pm:4 4469msgid "" 4470"Locale::Po4a::Common contains common parts of the po4a scripts and some " 4471"useful functions used along the other modules." 4472msgstr "" 4473 4474#. type: textblock 4475#: lib/Locale/Po4a/Common.pm:5 4476msgid "If needed, you can disable the use of Text::WrapI18N as such:" 4477msgstr "" 4478 4479#. type: verbatim 4480#: lib/Locale/Po4a/Common.pm:6 4481#, no-wrap 4482msgid "" 4483" use Locale::Po4a::Common qw(nowrapi18n);\n" 4484" use Locale::Po4a::Text;\n" 4485"\n" 4486msgstr "" 4487 4488#. type: textblock 4489#: lib/Locale/Po4a/Common.pm:7 4490msgid "instead of:" 4491msgstr "" 4492 4493#. type: verbatim 4494#: lib/Locale/Po4a/Common.pm:8 4495#, no-wrap 4496msgid "" 4497" use Locale::Po4a::Text;\n" 4498"\n" 4499msgstr "" 4500 4501#. type: textblock 4502#: lib/Locale/Po4a/Common.pm:9 4503msgid "" 4504"The ordering is important here: as most Locale::Po4a modules load themselves " 4505"Locale::Po4a::Common, the first time this module is loaded determines " 4506"whether Text::WrapI18N is used." 4507msgstr "" 4508 4509#. type: =head1 4510#: lib/Locale/Po4a/Common.pm:10 4511msgid "FUNCTIONS" 4512msgstr "" 4513 4514#. type: =head2 4515#: lib/Locale/Po4a/Common.pm:11 4516msgid "Showing output messages" 4517msgstr "" 4518 4519#. type: textblock 4520#: lib/Locale/Po4a/Common.pm:12 4521msgid "show_version($)" 4522msgstr "" 4523 4524#. type: textblock 4525#: lib/Locale/Po4a/Common.pm:13 4526msgid "" 4527"Shows the current version of the script, and a short copyright message. It " 4528"takes the name of the script as an argument." 4529msgstr "" 4530 4531#. type: textblock 4532#: lib/Locale/Po4a/Common.pm:14 4533msgid "wrap_msg($@)" 4534msgstr "" 4535 4536#. type: textblock 4537#: lib/Locale/Po4a/Common.pm:15 4538msgid "" 4539"This function displays a message the same way as sprintf() does, but wraps " 4540"the result so that they look nice on the terminal." 4541msgstr "" 4542 4543#. type: textblock 4544#: lib/Locale/Po4a/Common.pm:16 4545msgid "wrap_mod($$@)" 4546msgstr "" 4547 4548#. type: textblock 4549#: lib/Locale/Po4a/Common.pm:17 4550msgid "" 4551"This function works like wrap_msg(), but it takes a module name as the first " 4552"argument, and leaves a space at the left of the message." 4553msgstr "" 4554 4555#. type: textblock 4556#: lib/Locale/Po4a/Common.pm:18 4557msgid "wrap_ref_mod($$$@)" 4558msgstr "" 4559 4560#. type: textblock 4561#: lib/Locale/Po4a/Common.pm:19 4562msgid "" 4563"This function works like wrap_msg(), but it takes a file:line reference as " 4564"the first argument, a module name as the second one, and leaves a space at " 4565"the left of the message." 4566msgstr "" 4567 4568#. type: =head2 4569#: lib/Locale/Po4a/Common.pm:20 4570msgid "Wrappers for other modules" 4571msgstr "" 4572 4573#. type: textblock 4574#: lib/Locale/Po4a/Common.pm:21 4575msgid "Locale::Gettext" 4576msgstr "" 4577 4578#. type: textblock 4579#: lib/Locale/Po4a/Common.pm:22 4580msgid "" 4581"When the Locale::Gettext module cannot be loaded, this module provide dummy " 4582"(empty) implementation of the following functions. In that case, po4a " 4583"messages won't get translated but the program will continue to work." 4584msgstr "" 4585 4586#. type: textblock 4587#: lib/Locale/Po4a/Common.pm:23 4588msgid "" 4589"If Locale::gettext is present, this wrapper also calls " 4590"setlocale(LC_MESSAGES, \"\") so callers don't depend on the POSIX module " 4591"either." 4592msgstr "" 4593 4594#. type: textblock 4595#: lib/Locale/Po4a/Common.pm:24 4596msgid "bindtextdomain($$)" 4597msgstr "" 4598 4599#. type: textblock 4600#: lib/Locale/Po4a/Common.pm:25 4601msgid "textdomain($)" 4602msgstr "" 4603 4604#. type: textblock 4605#: lib/Locale/Po4a/Common.pm:26 4606msgid "gettext($)" 4607msgstr "" 4608 4609#. type: textblock 4610#: lib/Locale/Po4a/Common.pm:27 4611msgid "dgettext($$)" 4612msgstr "" 4613 4614#. type: verbatim 4615#: lib/Locale/Po4a/Common.pm:29 lib/Locale/Po4a/Dia.pm:15 4616#: lib/Locale/Po4a/Docbook.pm:18 lib/Locale/Po4a/Guide.pm:13 4617#, no-wrap 4618msgid "" 4619" Jordi Vilalta <jvprat@gmail.com>\n" 4620"\n" 4621msgstr "" 4622 4623#. type: textblock 4624#: lib/Locale/Po4a/Common.pm:31 4625msgid "Copyright © 2005 SPI, Inc." 4626msgstr "" 4627 4628#. type: textblock 4629#: lib/Locale/Po4a/Dia.pm:2 4630msgid "Locale::Po4a::Dia - convert uncompressed Dia diagrams from/to PO files" 4631msgstr "" 4632 4633#. type: textblock 4634#: lib/Locale/Po4a/Dia.pm:5 4635msgid "" 4636"Locale::Po4a::Dia is a module to help the translation of diagrams in the " 4637"uncompressed Dia format into other [human] languages." 4638msgstr "" 4639 4640#. type: verbatim 4641#: lib/Locale/Po4a/Dia.pm:6 4642#, no-wrap 4643msgid "" 4644"You can get Dia (the graphical editor for these diagrams) from:\n" 4645" http://www.gnome.org/projects/dia/\n" 4646"\n" 4647msgstr "" 4648 4649#. type: =head1 4650#: lib/Locale/Po4a/Dia.pm:7 4651msgid "TRANSLATING WITH PO4A::DIA" 4652msgstr "" 4653 4654#. type: textblock 4655#: lib/Locale/Po4a/Dia.pm:8 4656msgid "" 4657"This module only translates uncompressed Dia diagrams. You can save your " 4658"uncompressed diagrams with Dia itself, unchecking the \"Compress diagram " 4659"files\" at the \"Save Diagram\" dialog." 4660msgstr "" 4661 4662#. type: verbatim 4663#: lib/Locale/Po4a/Dia.pm:9 4664#, no-wrap 4665msgid "" 4666"Another way is to uncompress the dia files from command line with:\n" 4667" gunzip < original.dia > uncompressed.dia\n" 4668"\n" 4669msgstr "" 4670 4671#. type: textblock 4672#: lib/Locale/Po4a/Dia.pm:11 4673msgid "" 4674"This module is fully functional, as it relies in the L<Locale::Po4a::Xml> " 4675"module. This only defines the translatable tags (E<lt>dia:stringE<gt>), and " 4676"filters the internal strings (the content of the E<lt>dia:diagramdataE<gt> " 4677"tag), not interesting for translation." 4678msgstr "" 4679 4680#. type: textblock 4681#: lib/Locale/Po4a/Dia.pm:13 lib/Locale/Po4a/Docbook.pm:16 4682#: lib/Locale/Po4a/Guide.pm:11 lib/Locale/Po4a/Xhtml.pm:16 4683msgid "" 4684"L<Locale::Po4a::TransTractor(3pm)>, L<Locale::Po4a::Xml(3pm)>, L<po4a(7)|" 4685"po4a.7>" 4686msgstr "" 4687 4688#. type: textblock 4689#: lib/Locale/Po4a/Dia.pm:17 lib/Locale/Po4a/Guide.pm:15 4690msgid "Copyright © 2004 Jordi Vilalta <jvprat@gmail.com>" 4691msgstr "" 4692 4693#. type: textblock 4694#: lib/Locale/Po4a/Docbook.pm:2 4695msgid "Locale::Po4a::Docbook - convert DocBook XML documents from/to PO files" 4696msgstr "" 4697 4698#. type: textblock 4699#: lib/Locale/Po4a/Docbook.pm:5 4700msgid "" 4701"Locale::Po4a::Docbook is a module to help the translation of DocBook XML " 4702"documents into other [human] languages." 4703msgstr "" 4704 4705#. type: textblock 4706#: lib/Locale/Po4a/Docbook.pm:7 lib/Locale/Po4a/Guide.pm:8 4707#: lib/Locale/Po4a/Xhtml.pm:13 4708msgid "" 4709"This module is fully functional, as it relies in the L<Locale::Po4a::Xml> " 4710"module. This only defines the translatable tags and attributes." 4711msgstr "" 4712 4713#. type: textblock 4714#: lib/Locale/Po4a/Docbook.pm:8 4715msgid "" 4716"The only known issue is that it doesn't handle entities yet, and this " 4717"includes the file inclusion entities, but you can translate most of those " 4718"files alone (except the typical entities files), and it's usually better to " 4719"maintain them separated." 4720msgstr "" 4721 4722#. type: =head2 4723#: lib/Locale/Po4a/Docbook.pm:9 lib/Locale/Po4a/Xml.pm:103 4724msgid "OVERRIDE THE DEFAULT BEHAVIOR WITH COMMAND LINE OPTIONS" 4725msgstr "" 4726 4727#. type: textblock 4728#: lib/Locale/Po4a/Docbook.pm:10 4729msgid "" 4730"The default behavior of system provided modules is set to be on the safe " 4731"side." 4732msgstr "" 4733 4734#. type: textblock 4735#: lib/Locale/Po4a/Docbook.pm:11 4736msgid "" 4737"For example, the default of B<< <author> >> tag is aiming it to appear under " 4738"B<< <para> >>. But you may be using it only under B<< <bookinfo> >>. For " 4739"this case, you may want to translate it independently for each author." 4740msgstr "" 4741 4742#. type: textblock 4743#: lib/Locale/Po4a/Docbook.pm:12 4744msgid "" 4745"If you don't like the default behavior of the xml module and its derivative " 4746"modules, you can provide command line options to change their behavior. For " 4747"example, you can add the following to the po4a configuration file:" 4748msgstr "" 4749 4750#. type: verbatim 4751#: lib/Locale/Po4a/Docbook.pm:13 4752#, no-wrap 4753msgid "" 4754" opt:\"-k 0 -o nodefault=\\\"<bookinfo> <author>\\\" \\\n" 4755" -o break=\\\"<bookinfo> <author>\\\" \\\n" 4756" -o untranslated=\\\"<bookinfo>\\\" \\\n" 4757" -o translated=\\\"<author>\\\"\"\n" 4758"\n" 4759msgstr "" 4760 4761#. type: textblock 4762#: lib/Locale/Po4a/Docbook.pm:14 4763msgid "" 4764"This overrides the default behavior for B<< <bookinfo> >> and B<< <author> " 4765">>, set B<< <bookinfo> >> and B<< <author> >> to break input data stream on " 4766"these tags, set B<< <bookinfo> >> not to translate its tagged content, and " 4767"set B<< <author> >> to translate its tagged content." 4768msgstr "" 4769 4770#. type: verbatim 4771#: lib/Locale/Po4a/Docbook.pm:20 4772#, no-wrap 4773msgid "" 4774" Copyright © 2004 Jordi Vilalta <jvprat@gmail.com>\n" 4775" Copyright © 2007-2009 Nicolas François <nicolas.francois@centraliens.net>\n" 4776"\n" 4777msgstr "" 4778 4779#. type: textblock 4780#: lib/Locale/Po4a/Guide.pm:2 4781msgid "Locale::Po4a::Guide - convert Guide XML documents from/to PO files" 4782msgstr "" 4783 4784#. type: textblock 4785#: lib/Locale/Po4a/Guide.pm:5 4786msgid "" 4787"Locale::Po4a::Guide is a module to help in the translation of the Gentoo " 4788"Linux documentation in the Guide XML format into other [human] languages." 4789msgstr "" 4790 4791#. type: textblock 4792#: lib/Locale/Po4a/Guide.pm:6 4793msgid "" 4794"This format is documented here: http://www.gentoo.org/doc/en/xml-guide.xml" 4795msgstr "" 4796 4797#. type: textblock 4798#: lib/Locale/Po4a/Guide.pm:9 4799msgid "" 4800"The only known issue is that it doesn't include files with the <include href=" 4801"\"...\"> tag, but you can translate all those files alone, and it's usually " 4802"better to have them separated." 4803msgstr "" 4804 4805#. type: textblock 4806#: lib/Locale/Po4a/Halibut.pm:2 4807msgid "" 4808"Locale::Po4a::Halibut - convert Halibut documents and derivates from/to PO " 4809"files" 4810msgstr "" 4811 4812#. type: textblock 4813#: lib/Locale/Po4a/Halibut.pm:5 4814msgid "" 4815"Locale::Po4a::Halibut is a module to help the translation of Halibut " 4816"documents into other [human] languages." 4817msgstr "" 4818 4819#. type: textblock 4820#: lib/Locale/Po4a/Halibut.pm:6 4821msgid "" 4822"This module contains the definitions of common Halibut commands and " 4823"environments." 4824msgstr "" 4825 4826#. type: textblock 4827#: lib/Locale/Po4a/Halibut.pm:8 lib/Locale/Po4a/Texinfo.pm:9 4828msgid "This module is still beta. Please send feedback and feature requests." 4829msgstr "" 4830 4831#. type: =head1 4832#: lib/Locale/Po4a/Halibut.pm:9 4833msgid "CAVEAT" 4834msgstr "" 4835 4836#. type: textblock 4837#: lib/Locale/Po4a/Halibut.pm:10 4838msgid "" 4839"Some constructs are badly supported. The known ones are documented below." 4840msgstr "" 4841 4842#. type: =head2 4843#: lib/Locale/Po4a/Halibut.pm:11 4844msgid "Verbatim blocks" 4845msgstr "" 4846 4847#. type: verbatim 4848#: lib/Locale/Po4a/Halibut.pm:12 4849#, no-wrap 4850msgid "" 4851" \\c foo\n" 4852" \\c bar\n" 4853"\n" 4854msgstr "" 4855 4856#. type: textblock 4857#: lib/Locale/Po4a/Halibut.pm:13 4858msgid "" 4859"The verbatim block is not considered as a whole. Each line will be " 4860"translated separately." 4861msgstr "" 4862 4863#. type: textblock 4864#: lib/Locale/Po4a/Halibut.pm:15 lib/Locale/Po4a/LaTeX.pm:9 4865#: lib/Locale/Po4a/Texinfo.pm:11 4866msgid "" 4867"L<Locale::Po4a::TeX(3pm)|Locale::Po4a::TeX>, L<Locale::Po4a::" 4868"TransTractor(3pm)|Locale::Po4a::TransTractor>, L<po4a(7)|po4a.7>" 4869msgstr "" 4870 4871#. type: textblock 4872#: lib/Locale/Po4a/Halibut.pm:19 4873msgid "" 4874"Copyright © 2004-2008 Nicolas FRANÇOIS <nicolas.francois@centraliens.net>." 4875msgstr "" 4876 4877#. type: textblock 4878#: lib/Locale/Po4a/Halibut.pm:20 lib/Locale/Po4a/LaTeX.pm:14 4879#: lib/Locale/Po4a/Texinfo.pm:16 4880msgid "" 4881"This program is free software; you may redistribute it and/or modify it " 4882"under the terms of GPL (see COPYING file)." 4883msgstr "" 4884 4885#. type: textblock 4886#: lib/Locale/Po4a/Ini.pm:2 4887msgid "Locale::Po4a::Ini - convert INI files from/to PO files" 4888msgstr "" 4889 4890#. type: textblock 4891#: lib/Locale/Po4a/Ini.pm:4 4892msgid "" 4893"Locale::Po4a::Ini is a module to help the translation of INI files into " 4894"other [human] languages." 4895msgstr "" 4896 4897#. type: textblock 4898#: lib/Locale/Po4a/Ini.pm:5 4899msgid "" 4900"The module searches for lines of the following format and extracts the " 4901"quoted text:" 4902msgstr "" 4903 4904#. type: textblock 4905#: lib/Locale/Po4a/Ini.pm:6 4906msgid "identificator=\"text than can be translated\"" 4907msgstr "" 4908 4909#. type: textblock 4910#: lib/Locale/Po4a/Ini.pm:7 4911msgid "NOTE: If the text is not quoted, it will be ignored." 4912msgstr "" 4913 4914#. type: textblock 4915#: lib/Locale/Po4a/Ini.pm:9 4916msgid "L<Locale::Po4a::TransTractor(3pm)>, L<po4a(7)|po4a.7>" 4917msgstr "" 4918 4919#. type: verbatim 4920#: lib/Locale/Po4a/Ini.pm:11 4921#, no-wrap 4922msgid "" 4923" Razvan Rusu <rrusu@bitdefender.com>\n" 4924" Costin Stroie <cstroie@bitdefender.com>\n" 4925"\n" 4926msgstr "" 4927 4928#. type: textblock 4929#: lib/Locale/Po4a/Ini.pm:13 4930msgid "Copyright © 2006 BitDefender" 4931msgstr "" 4932 4933#. type: textblock 4934#: lib/Locale/Po4a/KernelHelp.pm:2 4935msgid "" 4936"Locale::Po4a::KernelHelp - convert kernel configuration help from/to PO files" 4937msgstr "" 4938 4939#. type: textblock 4940#: lib/Locale/Po4a/KernelHelp.pm:4 4941msgid "" 4942"Locale::Po4a::KernelHelp is a module to help the translation of " 4943"documentation for the Linux kernel configuration options into other [human] " 4944"languages." 4945msgstr "" 4946 4947#. type: textblock 4948#: lib/Locale/Po4a/KernelHelp.pm:6 4949msgid "" 4950"This module is just written, and needs more tests. Most of the needed work " 4951"will concern the tools used to parse this file (and configure the kernel), " 4952"so that they accept to read the documentation from another (translated) " 4953"file." 4954msgstr "" 4955 4956#. type: textblock 4957#: lib/Locale/Po4a/KernelHelp.pm:8 4958msgid "" 4959"L<Pod::Parser>, L<Locale::Po4a::Man(3pm)>, L<Locale::Po4a::Pod(3pm)>, " 4960"L<Locale::Po4a::TransTractor(3pm)>, L<po4a(7)|po4a.7>" 4961msgstr "" 4962 4963#. type: textblock 4964#: lib/Locale/Po4a/KernelHelp.pm:12 lib/Locale/Po4a/Pod.pm:41 4965msgid "Copyright © 2002 SPI, Inc." 4966msgstr "" 4967 4968#. type: textblock 4969#: lib/Locale/Po4a/LaTeX.pm:2 4970msgid "" 4971"Locale::Po4a::LaTeX - convert LaTeX documents and derivates from/to PO files" 4972msgstr "" 4973 4974#. type: textblock 4975#: lib/Locale/Po4a/LaTeX.pm:5 4976msgid "" 4977"Locale::Po4a::LaTeX is a module to help the translation of LaTeX documents " 4978"into other [human] languages. It can also be used as a base to build modules " 4979"for LaTeX-based documents." 4980msgstr "" 4981 4982#. type: textblock 4983#: lib/Locale/Po4a/LaTeX.pm:6 4984msgid "" 4985"This module contains the definitions of common LaTeX commands and " 4986"environments." 4987msgstr "" 4988 4989#. type: textblock 4990#: lib/Locale/Po4a/LaTeX.pm:7 4991msgid "" 4992"See the L<Locale::Po4a::TeX(3pm)|Locale::Po4a::TeX> manpage for the list of " 4993"recognized options." 4994msgstr "" 4995 4996#. type: textblock 4997#: lib/Locale/Po4a/LaTeX.pm:13 lib/Locale/Po4a/TeX.pm:123 4998msgid "" 4999"Copyright © 2004, 2005 Nicolas FRANÇOIS <nicolas.francois@centraliens.net>." 5000msgstr "" 5001 5002#. type: textblock 5003#: lib/Locale/Po4a/Man.pm:2 5004msgid "Locale::Po4a::Man - convert manual pages from/to PO files" 5005msgstr "" 5006 5007#. type: textblock 5008#: lib/Locale/Po4a/Man.pm:5 5009msgid "" 5010"Locale::Po4a::Man is a module to help the translation of documentation in " 5011"the nroff format (the language of manual pages) into other [human] languages." 5012msgstr "" 5013 5014#. type: =head1 5015#: lib/Locale/Po4a/Man.pm:6 5016msgid "TRANSLATING WITH PO4A::MAN" 5017msgstr "" 5018 5019#. type: textblock 5020#: lib/Locale/Po4a/Man.pm:7 5021msgid "" 5022"This module tries pretty hard to make translator's life easier. For that, " 5023"the text presented to translators isn't a verbatim copy of the text found in " 5024"the man page. Indeed, the cruder parts of the nroff format are hidden, so " 5025"that translators can't mess up with them." 5026msgstr "" 5027 5028#. type: =head2 5029#: lib/Locale/Po4a/Man.pm:8 5030msgid "Text wrapping" 5031msgstr "" 5032 5033#. type: textblock 5034#: lib/Locale/Po4a/Man.pm:9 5035msgid "" 5036"Unindented paragraphs are automatically rewrapped for the translator. This " 5037"can lead to some minor difference in the generated output, since the " 5038"rewrapping rules used by groff aren't very clear. For example, two spaces " 5039"after a parenthesis are sometimes preserved." 5040msgstr "" 5041 5042#. type: textblock 5043#: lib/Locale/Po4a/Man.pm:10 5044msgid "" 5045"Anyway, the difference will only be about the position of the extra spaces " 5046"in wrapped paragraph, and I think it's worth." 5047msgstr "" 5048 5049#. type: =head2 5050#: lib/Locale/Po4a/Man.pm:11 5051msgid "Font specification" 5052msgstr "" 5053 5054#. type: textblock 5055#: lib/Locale/Po4a/Man.pm:12 5056msgid "" 5057"The first change is about font change specifications. In nroff, there are " 5058"several ways to specify if a given word should be written in small, bold or " 5059"italics. In the text to translate, there is only one way, borrowed from the " 5060"POD (Perl online documentation) format:" 5061msgstr "" 5062 5063#. type: =item 5064#: lib/Locale/Po4a/Man.pm:13 5065msgid "IE<lt>textE<gt> -- italic text" 5066msgstr "" 5067 5068#. type: textblock 5069#: lib/Locale/Po4a/Man.pm:14 5070msgid "equivalent to \\fItext\\fP or \".I text\"" 5071msgstr "" 5072 5073#. type: =item 5074#: lib/Locale/Po4a/Man.pm:15 5075msgid "BE<lt>textE<gt> -- bold text" 5076msgstr "" 5077 5078#. type: textblock 5079#: lib/Locale/Po4a/Man.pm:16 5080msgid "equivalent to \\fBtext\\fP or \".B text\"" 5081msgstr "" 5082 5083#. type: =item 5084#: lib/Locale/Po4a/Man.pm:17 5085msgid "RE<lt>textE<gt> -- roman text" 5086msgstr "" 5087 5088#. type: textblock 5089#: lib/Locale/Po4a/Man.pm:18 5090msgid "equivalent to \\fRtext\\fP" 5091msgstr "" 5092 5093#. type: =item 5094#: lib/Locale/Po4a/Man.pm:19 5095msgid "CWE<lt>textE<gt> -- constant width text" 5096msgstr "" 5097 5098#. type: textblock 5099#: lib/Locale/Po4a/Man.pm:20 5100msgid "equivalent to \\f(CWtext\\fP or \".CW text\"" 5101msgstr "" 5102 5103#. type: textblock 5104#: lib/Locale/Po4a/Man.pm:21 5105msgid "" 5106"Remark: The CW face is not available for all groff devices. It is not " 5107"recommended to use it. It is provided for your convenience." 5108msgstr "" 5109 5110#. type: =head2 5111#: lib/Locale/Po4a/Man.pm:22 5112msgid "Automatic characters transliteration" 5113msgstr "" 5114 5115#. type: textblock 5116#: lib/Locale/Po4a/Man.pm:23 5117msgid "" 5118"Po4a automatically transliterate some characters to ease the translation or " 5119"the review of the translation. Here is the list of the transliterations:" 5120msgstr "" 5121 5122#. type: =item 5123#: lib/Locale/Po4a/Man.pm:24 5124msgid "hyphens" 5125msgstr "" 5126 5127#. type: textblock 5128#: lib/Locale/Po4a/Man.pm:25 5129msgid "" 5130"Hyphens (-) and minus signs (\\-) in man pages are all transliterated as " 5131"simple dashes (-) in the PO file. Then all dash are transliterated into " 5132"roff minus signs (\\-) when the translation is inserted into the output " 5133"document." 5134msgstr "" 5135 5136#. type: textblock 5137#: lib/Locale/Po4a/Man.pm:26 5138msgid "" 5139"Translators can force an hyphen by using the roff glyph '\\[hy]' in their " 5140"translations." 5141msgstr "" 5142 5143#. type: =item 5144#: lib/Locale/Po4a/Man.pm:27 5145msgid "non-breaking spaces" 5146msgstr "" 5147 5148#. type: textblock 5149#: lib/Locale/Po4a/Man.pm:28 5150msgid "" 5151"Translators can use non-breaking spaces in their translations. These non-" 5152"breaking spaces (0xA0 in latin1) will be transliterated into a roff non-" 5153"breaking space ('\\ ')." 5154msgstr "" 5155 5156#. type: =item 5157#: lib/Locale/Po4a/Man.pm:29 5158msgid "quotes transliterations" 5159msgstr "" 5160 5161#. type: textblock 5162#: lib/Locale/Po4a/Man.pm:30 5163msgid "`` and '' are respectively tranliterated into \\*(lq and \\*(rq." 5164msgstr "" 5165 5166#. type: textblock 5167#: lib/Locale/Po4a/Man.pm:31 5168msgid "" 5169"To avoid these transliterations, translators can insert a zero width roff " 5170"character (i.e., using `\\&` or '\\&' respectively)." 5171msgstr "" 5172 5173#. type: =head2 5174#: lib/Locale/Po4a/Man.pm:32 5175msgid "Putting 'E<lt>' and 'E<gt>' in translations" 5176msgstr "" 5177 5178#. type: textblock 5179#: lib/Locale/Po4a/Man.pm:33 5180msgid "" 5181"Since these chars are used to delimit parts under font modification, you " 5182"can't use them verbatim. Use EE<lt>ltE<gt> and EE<lt>gtE<gt> instead (as in " 5183"POD, one more time)." 5184msgstr "" 5185 5186#. type: =item 5187#: lib/Locale/Po4a/Man.pm:36 lib/Locale/Po4a/Sgml.pm:8 5188#: lib/Locale/Po4a/TeX.pm:13 5189msgid "B<debug>" 5190msgstr "" 5191 5192#. type: textblock 5193#: lib/Locale/Po4a/Man.pm:37 lib/Locale/Po4a/TeX.pm:14 5194msgid "" 5195"Activate debugging for some internal mechanisms of this module. Use the " 5196"source to see which parts can be debugged." 5197msgstr "" 5198 5199#. type: =item 5200#: lib/Locale/Po4a/Man.pm:38 lib/Locale/Po4a/Sgml.pm:10 5201msgid "B<verbose>" 5202msgstr "" 5203 5204#. type: textblock 5205#: lib/Locale/Po4a/Man.pm:39 5206msgid "Increase verbosity." 5207msgstr "" 5208 5209#. type: =item 5210#: lib/Locale/Po4a/Man.pm:40 5211msgid "B<groff_code>" 5212msgstr "" 5213 5214#. type: textblock 5215#: lib/Locale/Po4a/Man.pm:41 5216msgid "" 5217"This option permits to change the behavior of the module when it encounter " 5218"a .de, .ie or .if section. It can take the following values:" 5219msgstr "" 5220 5221#. type: =item 5222#: lib/Locale/Po4a/Man.pm:42 lib/Locale/Po4a/Xml.pm:27 5223msgid "I<fail>" 5224msgstr "" 5225 5226#. type: textblock 5227#: lib/Locale/Po4a/Man.pm:43 5228msgid "" 5229"This is the default value. The module will fail when a .de, .ie or .if " 5230"section is encountered." 5231msgstr "" 5232 5233#. type: =item 5234#: lib/Locale/Po4a/Man.pm:44 5235msgid "I<verbatim>" 5236msgstr "" 5237 5238#. type: textblock 5239#: lib/Locale/Po4a/Man.pm:45 5240msgid "" 5241"Indicates that the .de, .ie or .if sections must be copied as is from the " 5242"original to the translated document." 5243msgstr "" 5244 5245#. type: =item 5246#: lib/Locale/Po4a/Man.pm:46 5247msgid "I<translate>" 5248msgstr "" 5249 5250#. type: textblock 5251#: lib/Locale/Po4a/Man.pm:47 5252msgid "" 5253"Indicates that the .de, .ie or .if sections will be proposed for the " 5254"translation. You should only use this option if a translatable string is " 5255"contained in one of these section. Otherwise, I<verbatim> should be " 5256"preferred." 5257msgstr "" 5258 5259#. type: =item 5260#: lib/Locale/Po4a/Man.pm:48 5261msgid "B<generated>" 5262msgstr "" 5263 5264#. type: textblock 5265#: lib/Locale/Po4a/Man.pm:49 5266msgid "" 5267"This option specifies that the file was generated, and that po4a should not " 5268"try to detect if the man pages was generated from another format. This " 5269"permits to use po4a on generated man pages. This option does not take any " 5270"argument." 5271msgstr "" 5272 5273#. type: =item 5274#: lib/Locale/Po4a/Man.pm:50 5275msgid "B<mdoc>" 5276msgstr "" 5277 5278#. type: textblock 5279#: lib/Locale/Po4a/Man.pm:51 5280msgid "This option is only useful for mdoc pages." 5281msgstr "" 5282 5283#. type: textblock 5284#: lib/Locale/Po4a/Man.pm:52 5285msgid "" 5286"It selects a stricter support of the mdoc format by telling po4a not to " 5287"translate the 'NAME' section. mdoc pages whose 'NAME' section is translated " 5288"won't generate any header or footer." 5289msgstr "" 5290 5291#. type: verbatim 5292#: lib/Locale/Po4a/Man.pm:53 5293#, no-wrap 5294msgid "" 5295"According to the groff_mdoc page, the NAME, SYNOPSIS and DESCRIPTION\n" 5296"sections are mandatory.\n" 5297"There are no known issues with translated SYNOPSIS or DESCRIPTION section,\n" 5298"but you can also specify these sections this way:\n" 5299" -o mdoc=NAME,SYNOPSIS,DESCRIPTION\n" 5300"\n" 5301msgstr "" 5302 5303#. type: verbatim 5304#: lib/Locale/Po4a/Man.pm:54 5305#, no-wrap 5306msgid "" 5307"This mdoc issue can also be solved with an addendum like this one:\n" 5308" PO4A-HEADER:mode=before;position=^.Dd\n" 5309" .TH DOCUMENT_TITLE 1 \"Month day, year\" OS \"Section Name\"\n" 5310"\n" 5311msgstr "" 5312 5313#. type: textblock 5314#: lib/Locale/Po4a/Man.pm:55 5315msgid "" 5316"The following options permit to specify the behavior of a new macro (defined " 5317"with a .de request), or of a macro not supported by po4a. They take as " 5318"argument a comma-separated list of macros. For example:" 5319msgstr "" 5320 5321#. type: verbatim 5322#: lib/Locale/Po4a/Man.pm:56 5323#, no-wrap 5324msgid "" 5325" -o noarg=FO,OB,AR -o translate_joined=BA,ZQ,UX\n" 5326"\n" 5327msgstr "" 5328 5329#. type: textblock 5330#: lib/Locale/Po4a/Man.pm:57 5331msgid "" 5332"Note: if a macro is not supported by po4a and if you consider that it is a " 5333"standard roff macro, you should submit it to the po4a development team." 5334msgstr "" 5335 5336#. type: =item 5337#: lib/Locale/Po4a/Man.pm:58 lib/Locale/Po4a/Xml.pm:91 5338msgid "B<untranslated>" 5339msgstr "" 5340 5341#. type: textblock 5342#: lib/Locale/Po4a/Man.pm:59 5343msgid "" 5344"B<untranslated> indicates that this macro (at its arguments) don't have to " 5345"be translated." 5346msgstr "" 5347 5348#. type: =item 5349#: lib/Locale/Po4a/Man.pm:60 5350msgid "B<noarg>" 5351msgstr "" 5352 5353#. type: textblock 5354#: lib/Locale/Po4a/Man.pm:61 5355msgid "" 5356"B<noarg> is like B<untranslated>, except that po4a will verify that no " 5357"argument is added to this macro." 5358msgstr "" 5359 5360#. type: =item 5361#: lib/Locale/Po4a/Man.pm:62 5362msgid "B<translate_joined>" 5363msgstr "" 5364 5365#. type: textblock 5366#: lib/Locale/Po4a/Man.pm:63 5367msgid "" 5368"B<translate_joined> indicates that po4a must propose to translate the " 5369"arguments of the macro." 5370msgstr "" 5371 5372#. type: =item 5373#: lib/Locale/Po4a/Man.pm:64 5374msgid "B<translate_each>" 5375msgstr "" 5376 5377#. type: textblock 5378#: lib/Locale/Po4a/Man.pm:65 5379msgid "" 5380"With B<translate_each>, the arguments will also be proposed for the " 5381"translation, except that each one will be translated separately." 5382msgstr "" 5383 5384#. type: =item 5385#: lib/Locale/Po4a/Man.pm:66 lib/Locale/Po4a/TeX.pm:15 5386msgid "B<no_wrap>" 5387msgstr "" 5388 5389#. type: textblock 5390#: lib/Locale/Po4a/Man.pm:67 5391msgid "" 5392"This option takes as argument a list of comma-separated couples I<begin>:" 5393"I<end>, where I<begin> and I<end> are commands that delimit the begin and " 5394"end of a section that should not be rewrapped." 5395msgstr "" 5396 5397#. type: textblock 5398#: lib/Locale/Po4a/Man.pm:68 5399msgid "" 5400"Note: no test is done to ensure that an I<end> command matches its I<begin> " 5401"command; any ending command stop the no_wrap mode. If you have a I<begin> " 5402"(respectively I<end>) macro that has no I<end> (respectively I<begin>), you " 5403"can specify an existing I<end> (like fi) or I<begin> (like nf) as a " 5404"counterpart. These macros (and their arguments) wont be translated." 5405msgstr "" 5406 5407#. type: =item 5408#: lib/Locale/Po4a/Man.pm:69 lib/Locale/Po4a/Xml.pm:59 5409msgid "B<inline>" 5410msgstr "" 5411 5412#. type: textblock 5413#: lib/Locale/Po4a/Man.pm:70 5414msgid "" 5415"This option specifies a list of comma-separated macros that must not split " 5416"the current paragraph. The string to translate will then contain I<foo E<lt>." 5417"bar baz quxE<gt> quux>, where I<bar> is the command that should be inlined, " 5418"and I<baz qux> its arguments." 5419msgstr "" 5420 5421#. type: =item 5422#: lib/Locale/Po4a/Man.pm:71 5423msgid "B<unknown_macros>" 5424msgstr "" 5425 5426#. type: textblock 5427#: lib/Locale/Po4a/Man.pm:72 5428msgid "" 5429"This option indicates how po4a should behave when an unknown macro is " 5430"found. By default, po4a fails with a warning. It can take the following " 5431"values: B<failed> (the default value), B<untranslated>, B<noarg>, " 5432"B<translate_joined>, or B<translate_each> (see above for an explanation of " 5433"these values)." 5434msgstr "" 5435 5436#. type: =head1 5437#: lib/Locale/Po4a/Man.pm:73 5438msgid "AUTHORING MAN PAGES COMPLIANT WITH PO4A::MAN" 5439msgstr "" 5440 5441#. type: textblock 5442#: lib/Locale/Po4a/Man.pm:74 5443msgid "" 5444"This module is still very limited, and will always be, because it's not a " 5445"real nroff interpreter. It would be possible to do a real nroff interpreter, " 5446"to allow authors to use all the existing macros, or even to define new ones " 5447"in their pages, but we didn't want to. It would be too difficult, and we " 5448"thought it wasn't necessary. We do think that if manpages' authors want to " 5449"see their productions translated, they may have to adapt to ease the work of " 5450"translators." 5451msgstr "" 5452 5453#. type: textblock 5454#: lib/Locale/Po4a/Man.pm:75 5455msgid "" 5456"So, the man parser implemented in po4a have some known limitations we are " 5457"not really inclined to correct, and which will constitute some pitfalls " 5458"you'll have to avoid if you want to see translators taking care of your " 5459"documentation." 5460msgstr "" 5461 5462#. type: =head2 5463#: lib/Locale/Po4a/Man.pm:76 5464msgid "Don't program in nroff" 5465msgstr "" 5466 5467#. type: textblock 5468#: lib/Locale/Po4a/Man.pm:77 5469msgid "" 5470"nroff is a complete programming language, with macro definition, " 5471"conditionals and so on. Since this parser isn't a fully featured nroff " 5472"interpreter, it will fail on pages using these facilities (There are about " 5473"200 such pages on my box)." 5474msgstr "" 5475 5476#. type: =head2 5477#: lib/Locale/Po4a/Man.pm:78 5478msgid "Use the plain macro set" 5479msgstr "" 5480 5481#. type: textblock 5482#: lib/Locale/Po4a/Man.pm:79 5483msgid "" 5484"There are still some macros which are not supported by po4a::man. This is " 5485"only because I failed to find any documentation about them. Here is the list " 5486"of unsupported macros used on my box. Note that this list isn't exhaustive " 5487"since the program fails on the first encountered unsupported macro. If you " 5488"have any information about some of these macros, I'll happily add support " 5489"for them. Because of these macros, about 250 pages on my box are " 5490"inaccessible to po4a::man." 5491msgstr "" 5492 5493#. type: verbatim 5494#: lib/Locale/Po4a/Man.pm:80 5495#, no-wrap 5496msgid "" 5497" .. .\" .AT .b .bank\n" 5498" .BE ..br .Bu .BUGS .BY\n" 5499" .ce .dbmmanage .do .En\n" 5500" .EP .EX .Fi .hw .i\n" 5501" .Id .l .LO .mf\n" 5502" .N .na .NF .nh .nl\n" 5503" .Nm .ns .NXR .OPTIONS .PB\n" 5504" .pp .PR .PRE .PU .REq\n" 5505" .RH .rn .S< .sh .SI\n" 5506" .splitfont .Sx .T .TF .The\n" 5507" .TT .UC .ul .Vb .zZ\n" 5508"\n" 5509msgstr "" 5510 5511#. type: =head2 5512#: lib/Locale/Po4a/Man.pm:81 5513msgid "Hiding text from po4a" 5514msgstr "" 5515 5516#. type: textblock 5517#: lib/Locale/Po4a/Man.pm:82 5518msgid "" 5519"Sometimes, the author knows that some parts are not translatable, and should " 5520"not be extracted by po4a. For example, an option may accept an I<other> " 5521"argument, and I<other> may also appear as the last item of a list. In the " 5522"first case, I<other> should be not be translatable. And in the second case, " 5523"I<other> should be translated." 5524msgstr "" 5525 5526#. type: textblock 5527#: lib/Locale/Po4a/Man.pm:83 5528msgid "" 5529"In such case, the author can avoid po4a to extract some strings, using some " 5530"special groff constructs:" 5531msgstr "" 5532 5533#. type: verbatim 5534#: lib/Locale/Po4a/Man.pm:84 5535#, no-wrap 5536msgid "" 5537" .if !'po4a'hide' .B other\n" 5538"\n" 5539msgstr "" 5540 5541#. type: textblock 5542#: lib/Locale/Po4a/Man.pm:85 5543msgid "(this will require the B<-o groff_code=verbatim> option)" 5544msgstr "" 5545 5546#. type: verbatim 5547#: lib/Locale/Po4a/Man.pm:86 5548#, no-wrap 5549msgid "" 5550"A new macro can also be defined to automate this:\n" 5551" .de IR_untranslated\n" 5552" . IR \\\\$@\n" 5553" ..\n" 5554"\n" 5555msgstr "" 5556 5557#. type: verbatim 5558#: lib/Locale/Po4a/Man.pm:87 lib/Locale/Po4a/Man.pm:90 5559#, no-wrap 5560msgid "" 5561" .IR_untranslated \\-q \", \" \\-\\-quiet\n" 5562"\n" 5563msgstr "" 5564 5565#. type: textblock 5566#: lib/Locale/Po4a/Man.pm:88 5567msgid "" 5568"(this will require the options B<-o groff_code=verbatim> and B<-o " 5569"untranslated=IR_untranslated>; with this construct, the B<.if !'po4a'hide'> " 5570"conditional is not strictly needed since po4a will not parse the internal of " 5571"the macro definition)" 5572msgstr "" 5573 5574#. type: verbatim 5575#: lib/Locale/Po4a/Man.pm:89 5576#, no-wrap 5577msgid "" 5578"or using an alias:\n" 5579" .als IR_untranslated IR\n" 5580"\n" 5581msgstr "" 5582 5583#. type: textblock 5584#: lib/Locale/Po4a/Man.pm:91 5585msgid "This will require the B<-o untranslated=als,IR_untranslated> option." 5586msgstr "" 5587 5588#. type: =head2 5589#: lib/Locale/Po4a/Man.pm:92 5590msgid "Conclusion" 5591msgstr "" 5592 5593#. type: textblock 5594#: lib/Locale/Po4a/Man.pm:93 5595msgid "" 5596"To summarise this section, keep simple, and don't try to be clever while " 5597"authoring your man pages. A lot of things are possible in nroff, and not " 5598"supported by this parser. For example, don't try to mess with \\c to " 5599"interrupt the text processing (like 40 pages on my box do). Or, be sure to " 5600"put the macro arguments on the same line that the macro itself. I know that " 5601"it's valid in nroff, but would complicate too much the parser to be handled." 5602msgstr "" 5603 5604#. type: textblock 5605#: lib/Locale/Po4a/Man.pm:94 5606msgid "" 5607"Of course, another possibility is to use another format, more translator " 5608"friendly (like POD using po4a::pod, or one of the XML family like SGML), but " 5609"thanks to po4a::man it isn't needed anymore. That being said, if the source " 5610"format of your documentation is POD, or XML, it may be clever to translate " 5611"the source format and not this generated one. In most cases, po4a::man will " 5612"detect generated pages and issue a warning. It will even refuse to process " 5613"POD generated pages, because those pages are perfectly handled by po4a::pod, " 5614"and because their nroff counterpart defines a lot of new macros I didn't " 5615"want to write support for. On my box, 1432 of the 4323 pages are generated " 5616"from POD and will be ignored by po4a::man." 5617msgstr "" 5618 5619#. type: textblock 5620#: lib/Locale/Po4a/Man.pm:95 5621msgid "" 5622"In most cases, po4a::man will detect the problem and refuse to process the " 5623"page, issuing an adapted message. In some rare cases, the program will " 5624"complete without warning, but the output will be wrong. Such cases are " 5625"called \"bugs\" ;) If you encounter such case, be sure to report this, along " 5626"with a fix when possible…" 5627msgstr "" 5628 5629#. type: textblock 5630#: lib/Locale/Po4a/Man.pm:97 5631msgid "This module can be used for most of the existing man pages." 5632msgstr "" 5633 5634#. type: textblock 5635#: lib/Locale/Po4a/Man.pm:98 5636msgid "Some tests are regularly run on Linux boxes:" 5637msgstr "" 5638 5639#. type: =item 5640#: lib/Locale/Po4a/Man.pm:99 lib/Locale/Po4a/Man.pm:101 5641#: lib/Locale/Po4a/Man.pm:103 lib/Locale/Po4a/Man.pm:105 5642#: lib/Locale/Po4a/Sgml.pm:36 lib/Locale/Po4a/Sgml.pm:42 5643#: lib/Locale/Po4a/Sgml.pm:45 lib/Locale/Po4a/Sgml.pm:49 5644msgid "*" 5645msgstr "" 5646 5647#. type: textblock 5648#: lib/Locale/Po4a/Man.pm:100 5649msgid "" 5650"one third of the pages are refused because they were generated from another " 5651"format supported by po4a (e.g. POD or SGML)." 5652msgstr "" 5653 5654#. type: textblock 5655#: lib/Locale/Po4a/Man.pm:102 5656msgid "" 5657"10% of the remaining pages are rejected with an error (e.g. a groff macro is " 5658"not supported)." 5659msgstr "" 5660 5661#. type: textblock 5662#: lib/Locale/Po4a/Man.pm:104 5663msgid "" 5664"Then, less than 1% of the pages are accepted silently by po4a, but with " 5665"significant issues (i.e. missing words, or new words inserted)" 5666msgstr "" 5667 5668#. type: textblock 5669#: lib/Locale/Po4a/Man.pm:106 5670msgid "" 5671"The other pages are usually handled without differences more important than " 5672"spacing differences or line rewrapped (font issues in less than 10% of the " 5673"processed pages)." 5674msgstr "" 5675 5676#. type: textblock 5677#: lib/Locale/Po4a/Man.pm:108 5678msgid "" 5679"L<Locale::Po4a::Pod(3pm)>, L<Locale::Po4a::TransTractor(3pm)>, L<po4a(7)|" 5680"po4a.7>" 5681msgstr "" 5682 5683#. type: textblock 5684#: lib/Locale/Po4a/Man.pm:112 5685msgid "Copyright © 2002-2008 SPI, Inc." 5686msgstr "" 5687 5688#. type: textblock 5689#: lib/Locale/Po4a/Po.pm:2 5690msgid "Locale::Po4a::Po - PO file manipulation module" 5691msgstr "" 5692 5693#. type: verbatim 5694#: lib/Locale/Po4a/Po.pm:4 5695#, no-wrap 5696msgid "" 5697" use Locale::Po4a::Po;\n" 5698" my $pofile=Locale::Po4a::Po->new();\n" 5699"\n" 5700msgstr "" 5701 5702#. type: verbatim 5703#: lib/Locale/Po4a/Po.pm:5 5704#, no-wrap 5705msgid "" 5706" # Read PO file\n" 5707" $pofile->read('file.po');\n" 5708"\n" 5709msgstr "" 5710 5711#. type: verbatim 5712#: lib/Locale/Po4a/Po.pm:6 5713#, no-wrap 5714msgid "" 5715" # Add an entry\n" 5716" $pofile->push('msgid' => 'Hello', 'msgstr' => 'bonjour',\n" 5717" 'flags' => \"wrap\", 'reference'=>'file.c:46');\n" 5718"\n" 5719msgstr "" 5720 5721#. type: verbatim 5722#: lib/Locale/Po4a/Po.pm:7 5723#, no-wrap 5724msgid "" 5725" # Extract a translation\n" 5726" $pofile->gettext(\"Hello\"); # returns 'bonjour'\n" 5727"\n" 5728msgstr "" 5729 5730#. type: verbatim 5731#: lib/Locale/Po4a/Po.pm:8 5732#, no-wrap 5733msgid "" 5734" # Write back to a file\n" 5735" $pofile->write('otherfile.po');\n" 5736"\n" 5737msgstr "" 5738 5739#. type: textblock 5740#: lib/Locale/Po4a/Po.pm:10 5741msgid "" 5742"Locale::Po4a::Po is a module that allows you to manipulate message catalogs. " 5743"You can load and write from/to a file (which extension is often I<po>), you " 5744"can build new entries on the fly or request for the translation of a string." 5745msgstr "" 5746 5747#. type: textblock 5748#: lib/Locale/Po4a/Po.pm:11 5749msgid "" 5750"For a more complete description of message catalogs in the PO format and " 5751"their use, please refer to the info documentation of the gettext program " 5752"(node \"`PO Files\"')." 5753msgstr "" 5754 5755#. type: textblock 5756#: lib/Locale/Po4a/Po.pm:12 5757msgid "" 5758"This module is part of the po4a project, which objective is to use PO files " 5759"(designed at origin to ease the translation of program messages) to " 5760"translate everything, including documentation (man page, info manual), " 5761"package description, debconf templates, and everything which may benefit " 5762"from this." 5763msgstr "" 5764 5765#. type: =head1 5766#: lib/Locale/Po4a/Po.pm:28 5767msgid "Functions concerning entire message catalogs" 5768msgstr "" 5769 5770#. type: =item 5771#: lib/Locale/Po4a/Po.pm:29 5772msgid "new()" 5773msgstr "" 5774 5775#. type: textblock 5776#: lib/Locale/Po4a/Po.pm:30 5777msgid "" 5778"Creates a new message catalog. If an argument is provided, it's the name of " 5779"a PO file we should load." 5780msgstr "" 5781 5782#. type: =item 5783#: lib/Locale/Po4a/Po.pm:31 5784msgid "read($)" 5785msgstr "" 5786 5787#. type: textblock 5788#: lib/Locale/Po4a/Po.pm:32 5789msgid "" 5790"Reads a PO file (which name is given as argument). Previously existing " 5791"entries in self are not removed, the new ones are added to the end of the " 5792"catalog." 5793msgstr "" 5794 5795#. type: =item 5796#: lib/Locale/Po4a/Po.pm:33 lib/Locale/Po4a/TransTractor.pm:77 5797msgid "write($)" 5798msgstr "" 5799 5800#. type: textblock 5801#: lib/Locale/Po4a/Po.pm:34 5802msgid "Writes the current catalog to the given file." 5803msgstr "" 5804 5805#. type: =item 5806#: lib/Locale/Po4a/Po.pm:35 5807msgid "write_if_needed($$)" 5808msgstr "" 5809 5810#. type: textblock 5811#: lib/Locale/Po4a/Po.pm:36 5812msgid "" 5813"Like write, but if the PO or POT file already exists, the object will be " 5814"written in a temporary file which will be compared with the existing file to " 5815"check if the update is needed (this avoids to change a POT just to update a " 5816"line reference or the POT-Creation-Date field)." 5817msgstr "" 5818 5819#. type: =item 5820#: lib/Locale/Po4a/Po.pm:37 5821msgid "gettextize($$)" 5822msgstr "" 5823 5824#. type: textblock 5825#: lib/Locale/Po4a/Po.pm:38 5826msgid "" 5827"This function produces one translated message catalog from two catalogs, an " 5828"original and a translation. This process is described in L<po4a(7)|po4a.7>, " 5829"section I<Gettextization: how does it work?>." 5830msgstr "" 5831 5832#. type: =item 5833#: lib/Locale/Po4a/Po.pm:39 5834msgid "filter($)" 5835msgstr "" 5836 5837#. type: textblock 5838#: lib/Locale/Po4a/Po.pm:40 5839msgid "" 5840"This function extracts a catalog from an existing one. Only the entries " 5841"having a reference in the given file will be placed in the resulting catalog." 5842msgstr "" 5843 5844#. type: textblock 5845#: lib/Locale/Po4a/Po.pm:41 5846msgid "" 5847"This function parses its argument, converts it to a Perl function " 5848"definition, evals this definition and filters the fields for which this " 5849"function returns true." 5850msgstr "" 5851 5852#. type: textblock 5853#: lib/Locale/Po4a/Po.pm:42 5854msgid "I love Perl sometimes ;)" 5855msgstr "" 5856 5857#. type: =item 5858#: lib/Locale/Po4a/Po.pm:43 5859msgid "to_utf8()" 5860msgstr "" 5861 5862#. type: textblock 5863#: lib/Locale/Po4a/Po.pm:44 5864msgid "" 5865"Recodes to UTF-8 the PO's msgstrs. Does nothing if the charset is not " 5866"specified in the PO file (\"CHARSET\" value), or if it's already UTF-8 or " 5867"ASCII." 5868msgstr "" 5869 5870#. type: =head1 5871#: lib/Locale/Po4a/Po.pm:45 5872msgid "Functions to use a message catalog for translations" 5873msgstr "" 5874 5875#. type: =item 5876#: lib/Locale/Po4a/Po.pm:46 5877msgid "gettext($%)" 5878msgstr "" 5879 5880#. type: textblock 5881#: lib/Locale/Po4a/Po.pm:47 5882msgid "" 5883"Request the translation of the string given as argument in the current " 5884"catalog. The function returns the original (untranslated) string if the " 5885"string was not found." 5886msgstr "" 5887 5888#. type: textblock 5889#: lib/Locale/Po4a/Po.pm:48 5890msgid "" 5891"After the string to translate, you can pass a hash of extra arguments. Here " 5892"are the valid entries:" 5893msgstr "" 5894 5895#. type: =item 5896#: lib/Locale/Po4a/Po.pm:49 lib/Locale/Po4a/Po.pm:79 5897#: lib/Locale/Po4a/TransTractor.pm:120 lib/Locale/Po4a/Xml.pm:14 5898msgid "B<wrap>" 5899msgstr "" 5900 5901#. type: textblock 5902#: lib/Locale/Po4a/Po.pm:50 5903msgid "" 5904"boolean indicating whether we can consider that whitespaces in string are " 5905"not important. If yes, the function canonizes the string before looking for " 5906"a translation, and wraps the result." 5907msgstr "" 5908 5909#. type: =item 5910#: lib/Locale/Po4a/Po.pm:51 lib/Locale/Po4a/Po.pm:82 5911#: lib/Locale/Po4a/TransTractor.pm:122 5912msgid "B<wrapcol>" 5913msgstr "" 5914 5915#. type: textblock 5916#: lib/Locale/Po4a/Po.pm:52 lib/Locale/Po4a/Po.pm:83 5917#: lib/Locale/Po4a/TransTractor.pm:123 5918msgid "the column at which we should wrap (default: 76)." 5919msgstr "" 5920 5921#. type: =item 5922#: lib/Locale/Po4a/Po.pm:53 5923msgid "stats_get()" 5924msgstr "" 5925 5926#. type: textblock 5927#: lib/Locale/Po4a/Po.pm:54 5928msgid "" 5929"Returns statistics about the hit ratio of gettext since the last time that " 5930"stats_clear() was called. Please note that it's not the same statistics than " 5931"the one printed by msgfmt --statistic. Here, it's statistics about recent " 5932"usage of the PO file, while msgfmt reports the status of the file. Example " 5933"of use:" 5934msgstr "" 5935 5936#. type: verbatim 5937#: lib/Locale/Po4a/Po.pm:55 5938#, no-wrap 5939msgid "" 5940" [some use of the PO file to translate stuff]\n" 5941"\n" 5942msgstr "" 5943 5944#. type: verbatim 5945#: lib/Locale/Po4a/Po.pm:56 5946#, no-wrap 5947msgid "" 5948" ($percent,$hit,$queries) = $pofile->stats_get();\n" 5949" print \"So far, we found translations for $percent\\% ($hit of $queries) of strings.\\n\";\n" 5950"\n" 5951msgstr "" 5952 5953#. type: =item 5954#: lib/Locale/Po4a/Po.pm:57 5955msgid "stats_clear()" 5956msgstr "" 5957 5958#. type: textblock 5959#: lib/Locale/Po4a/Po.pm:58 5960msgid "Clears the statistics about gettext hits." 5961msgstr "" 5962 5963#. type: =head1 5964#: lib/Locale/Po4a/Po.pm:59 5965msgid "Functions to build a message catalog" 5966msgstr "" 5967 5968#. type: =item 5969#: lib/Locale/Po4a/Po.pm:60 5970msgid "push(%)" 5971msgstr "" 5972 5973#. type: textblock 5974#: lib/Locale/Po4a/Po.pm:61 5975msgid "" 5976"Push a new entry at the end of the current catalog. The arguments should " 5977"form a hash table. The valid keys are:" 5978msgstr "" 5979 5980#. type: =item 5981#: lib/Locale/Po4a/Po.pm:62 5982msgid "B<msgid>" 5983msgstr "" 5984 5985#. type: textblock 5986#: lib/Locale/Po4a/Po.pm:63 5987msgid "the string in original language." 5988msgstr "" 5989 5990#. type: =item 5991#: lib/Locale/Po4a/Po.pm:64 5992msgid "B<msgstr>" 5993msgstr "" 5994 5995#. type: textblock 5996#: lib/Locale/Po4a/Po.pm:65 5997msgid "the translation." 5998msgstr "" 5999 6000#. type: =item 6001#: lib/Locale/Po4a/Po.pm:66 6002msgid "B<reference>" 6003msgstr "" 6004 6005#. type: textblock 6006#: lib/Locale/Po4a/Po.pm:67 6007msgid "" 6008"an indication of where this string was found. Example: file.c:46 (meaning in " 6009"'file.c' at line 46). It can be a space-separated list in case of multiple " 6010"occurrences." 6011msgstr "" 6012 6013#. type: =item 6014#: lib/Locale/Po4a/Po.pm:68 lib/Locale/Po4a/TransTractor.pm:124 6015msgid "B<comment>" 6016msgstr "" 6017 6018#. type: textblock 6019#: lib/Locale/Po4a/Po.pm:69 6020msgid "" 6021"a comment added here manually (by the translators). The format here is free." 6022msgstr "" 6023 6024#. type: =item 6025#: lib/Locale/Po4a/Po.pm:70 6026msgid "B<automatic>" 6027msgstr "" 6028 6029#. type: textblock 6030#: lib/Locale/Po4a/Po.pm:71 6031msgid "" 6032"a comment which was automatically added by the string extraction program. " 6033"See the B<--add-comments> option of the B<xgettext> program for more " 6034"information." 6035msgstr "" 6036 6037#. type: =item 6038#: lib/Locale/Po4a/Po.pm:72 6039msgid "B<flags>" 6040msgstr "" 6041 6042#. type: textblock 6043#: lib/Locale/Po4a/Po.pm:73 6044msgid "space-separated list of all defined flags for this entry." 6045msgstr "" 6046 6047#. type: textblock 6048#: lib/Locale/Po4a/Po.pm:74 6049msgid "" 6050"Valid flags are: B<c-text>, B<python-text>, B<lisp-text>, B<elisp-text>, " 6051"B<librep-text>, B<smalltalk-text>, B<java-text>, B<awk-text>, B<object-" 6052"pascal-text>, B<ycp-text>, B<tcl-text>, B<wrap>, B<no-wrap> and B<fuzzy>." 6053msgstr "" 6054 6055#. type: textblock 6056#: lib/Locale/Po4a/Po.pm:75 6057msgid "See the gettext documentation for their meaning." 6058msgstr "" 6059 6060#. type: =item 6061#: lib/Locale/Po4a/Po.pm:76 6062msgid "B<type>" 6063msgstr "" 6064 6065#. type: textblock 6066#: lib/Locale/Po4a/Po.pm:77 6067msgid "" 6068"this is mostly an internal argument: it is used while gettextizing " 6069"documents. The idea here is to parse both the original and the translation " 6070"into a PO object, and merge them, using one's msgid as msgid and the other's " 6071"msgid as msgstr. To make sure that things get ok, each msgid in PO objects " 6072"are given a type, based on their structure (like \"chapt\", \"sect1\", \"p\" " 6073"and so on in DocBook). If the types of strings are not the same, that means " 6074"that both files do not share the same structure, and the process reports an " 6075"error." 6076msgstr "" 6077 6078#. type: textblock 6079#: lib/Locale/Po4a/Po.pm:78 6080msgid "" 6081"This information is written as automatic comment in the PO file since this " 6082"gives to translators some context about the strings to translate." 6083msgstr "" 6084 6085#. type: textblock 6086#: lib/Locale/Po4a/Po.pm:80 6087msgid "" 6088"boolean indicating whether whitespaces can be mangled in cosmetic " 6089"reformattings. If true, the string is canonized before use." 6090msgstr "" 6091 6092#. type: textblock 6093#: lib/Locale/Po4a/Po.pm:81 6094msgid "" 6095"This information is written to the PO file using the B<wrap> or B<no-wrap> " 6096"flag." 6097msgstr "" 6098 6099#. type: textblock 6100#: lib/Locale/Po4a/Po.pm:84 6101msgid "This information is not written to the PO file." 6102msgstr "" 6103 6104#. type: =head1 6105#: lib/Locale/Po4a/Po.pm:85 6106msgid "Miscellaneous functions" 6107msgstr "" 6108 6109#. type: =item 6110#: lib/Locale/Po4a/Po.pm:86 6111msgid "count_entries()" 6112msgstr "" 6113 6114#. type: textblock 6115#: lib/Locale/Po4a/Po.pm:87 6116msgid "Returns the number of entries in the catalog (without the header)." 6117msgstr "" 6118 6119#. type: =item 6120#: lib/Locale/Po4a/Po.pm:88 6121msgid "count_entries_doc()" 6122msgstr "" 6123 6124#. type: textblock 6125#: lib/Locale/Po4a/Po.pm:89 6126msgid "" 6127"Returns the number of entries in document. If a string appears multiple " 6128"times in the document, it will be counted multiple times." 6129msgstr "" 6130 6131#. type: =item 6132#: lib/Locale/Po4a/Po.pm:90 6133msgid "equals_msgid(po)" 6134msgstr "" 6135 6136#. type: textblock 6137#: lib/Locale/Po4a/Po.pm:91 6138msgid "" 6139"Returns ($uptodate, $diagnostic) with $uptodate indicating whether all msgid " 6140"of the current po file are also present in the one passed as parameter (all " 6141"other fields are ignored in the file comparison). Informally, if $uptodate " 6142"returns false, then the po files would be changed when going through B<po4a-" 6143"updatepo>." 6144msgstr "" 6145 6146#. type: textblock 6147#: lib/Locale/Po4a/Po.pm:92 6148msgid "" 6149"If $uptodate is false, then $diagnostic contains a diagnostic of why this is " 6150"so." 6151msgstr "" 6152 6153#. type: =item 6154#: lib/Locale/Po4a/Po.pm:93 6155msgid "msgid($)" 6156msgstr "" 6157 6158#. type: textblock 6159#: lib/Locale/Po4a/Po.pm:94 6160msgid "Returns the msgid of the given number." 6161msgstr "" 6162 6163#. type: =item 6164#: lib/Locale/Po4a/Po.pm:95 6165msgid "msgid_doc($)" 6166msgstr "" 6167 6168#. type: textblock 6169#: lib/Locale/Po4a/Po.pm:96 6170msgid "Returns the msgid with the given position in the document." 6171msgstr "" 6172 6173#. type: =item 6174#: lib/Locale/Po4a/Po.pm:97 6175msgid "get_charset()" 6176msgstr "" 6177 6178#. type: textblock 6179#: lib/Locale/Po4a/Po.pm:98 6180msgid "" 6181"Returns the character set specified in the PO header. If it hasn't been set, " 6182"it will return \"UTF-8\"." 6183msgstr "" 6184 6185#. type: =item 6186#: lib/Locale/Po4a/Po.pm:99 6187msgid "set_charset($)" 6188msgstr "" 6189 6190#. type: textblock 6191#: lib/Locale/Po4a/Po.pm:100 6192msgid "" 6193"This sets the character set of the PO header to the value specified in its " 6194"first argument. If you never call this function (and no file with a " 6195"specified character set is read), the default value is left to \"UTF-8\". " 6196"This value doesn't change the behavior of this module, it's just used to " 6197"fill that field in the header, and to return it in get_charset()." 6198msgstr "" 6199 6200#. type: textblock 6201#: lib/Locale/Po4a/Pod.pm:2 6202msgid "Locale::Po4a::Pod - convert POD data from/to PO files" 6203msgstr "" 6204 6205#. type: verbatim 6206#: lib/Locale/Po4a/Pod.pm:4 6207#, no-wrap 6208msgid "" 6209" use Locale::Po4a::Pod;\n" 6210" my $parser = Locale::Po4a::Pod->new (sentence => 0, width => 78);\n" 6211"\n" 6212msgstr "" 6213 6214#. type: verbatim 6215#: lib/Locale/Po4a/Pod.pm:5 6216#, no-wrap 6217msgid "" 6218" # Read POD from STDIN and write to STDOUT.\n" 6219" $parser->parse_from_filehandle;\n" 6220"\n" 6221msgstr "" 6222 6223#. type: verbatim 6224#: lib/Locale/Po4a/Pod.pm:6 6225#, no-wrap 6226msgid "" 6227" # Read POD from file.pod and write to file.txt.\n" 6228" $parser->parse_from_file ('file.pod', 'file.txt');\n" 6229"\n" 6230msgstr "" 6231 6232#. type: textblock 6233#: lib/Locale/Po4a/Pod.pm:8 6234msgid "" 6235"Locale::Po4a::Pod is a module to help the translation of documentation in " 6236"the POD format (the preferred language for documenting Perl) into other " 6237"[human] languages." 6238msgstr "" 6239 6240#. type: textblock 6241#: lib/Locale/Po4a/Pod.pm:10 6242msgid "" 6243"I think that this module is rock stable, and there is only one known bug " 6244"with F</usr/lib/perl5/Tk/MainWindow.pod> (and some other pages, see below) " 6245"which contains:" 6246msgstr "" 6247 6248#. type: verbatim 6249#: lib/Locale/Po4a/Pod.pm:11 6250#, no-wrap 6251msgid "" 6252" C<\" #n\">\n" 6253"\n" 6254msgstr "" 6255 6256#. type: textblock 6257#: lib/Locale/Po4a/Pod.pm:12 6258msgid "" 6259"Lack of luck, in the po4a version, this was split on the space by the " 6260"wrapping. As result, in the original version, the man page contains" 6261msgstr "" 6262 6263#. type: verbatim 6264#: lib/Locale/Po4a/Pod.pm:13 6265#, no-wrap 6266msgid "" 6267" \" #n\"\n" 6268"\n" 6269msgstr "" 6270 6271#. type: textblock 6272#: lib/Locale/Po4a/Pod.pm:14 6273msgid "and mine contains" 6274msgstr "" 6275 6276#. type: verbatim 6277#: lib/Locale/Po4a/Pod.pm:15 6278#, no-wrap 6279msgid "" 6280" \"\" #n\"\"\n" 6281"\n" 6282msgstr "" 6283 6284#. type: textblock 6285#: lib/Locale/Po4a/Pod.pm:16 6286msgid "which is logic since CE<lt>foobarE<gt> is rewritten \"foobar\"." 6287msgstr "" 6288 6289#. type: textblock 6290#: lib/Locale/Po4a/Pod.pm:17 6291msgid "" 6292"Complete list of pages having this problem on my box (from 564 pages; note " 6293"that it depends on the chosen wrapping column): /usr/lib/perl5/Tk/MainWindow." 6294"pod /usr/share/perl/5.8.0/overload.pod /usr/share/perl/5.8.0/pod/perlapi." 6295"pod /usr/share/perl/5.8.0/pod/perldelta.pod /usr/share/perl/5.8.0/pod/" 6296"perlfaq5.pod /usr/share/perl/5.8.0/pod/perlpod.pod /usr/share/perl/5.8.0/pod/" 6297"perlre.pod /usr/share/perl/5.8.0/pod/perlretut.pod" 6298msgstr "" 6299 6300#. type: =head1 6301#: lib/Locale/Po4a/Pod.pm:18 6302msgid "INTERNALS" 6303msgstr "" 6304 6305#. type: textblock 6306#: lib/Locale/Po4a/Pod.pm:19 6307msgid "" 6308"As a derived class from Pod::Parser, Locale::Po4a::Pod supports the same " 6309"methods and interfaces. See L<Pod::Parser> for all the details; briefly, " 6310"one creates a new parser with C<< Locale::Po4a::Pod->new() >> and then calls " 6311"either parse_from_filehandle() or parse_from_file()." 6312msgstr "" 6313 6314#. type: textblock 6315#: lib/Locale/Po4a/Pod.pm:20 6316msgid "" 6317"new() can take options, in the form of key/value pairs, that control the " 6318"behavior of the parser. The recognized options common to all Pod::Parser " 6319"children are:" 6320msgstr "" 6321 6322#. type: =item 6323#: lib/Locale/Po4a/Pod.pm:21 6324msgid "B<alt>" 6325msgstr "" 6326 6327#. type: textblock 6328#: lib/Locale/Po4a/Pod.pm:22 6329msgid "" 6330"If set to a true value, selects an alternate output format that, among other " 6331"things, uses a different heading style and marks B<=item> entries with a " 6332"colon in the left margin. Defaults to false." 6333msgstr "" 6334 6335#. type: =item 6336#: lib/Locale/Po4a/Pod.pm:23 6337msgid "B<code>" 6338msgstr "" 6339 6340#. type: textblock 6341#: lib/Locale/Po4a/Pod.pm:24 6342msgid "" 6343"If set to a true value, the non-POD parts of the input file will be included " 6344"in the output. Useful for viewing code documented with POD blocks with the " 6345"POD rendered and the code left intact." 6346msgstr "" 6347 6348#. type: =item 6349#: lib/Locale/Po4a/Pod.pm:25 lib/Locale/Po4a/Sgml.pm:16 6350msgid "B<indent>" 6351msgstr "" 6352 6353#. type: textblock 6354#: lib/Locale/Po4a/Pod.pm:26 6355msgid "" 6356"The number of spaces to indent regular text, and the default indentation for " 6357"B<=over> blocks. Defaults to 4." 6358msgstr "" 6359 6360#. type: =item 6361#: lib/Locale/Po4a/Pod.pm:27 6362msgid "B<loose>" 6363msgstr "" 6364 6365#. type: textblock 6366#: lib/Locale/Po4a/Pod.pm:28 6367msgid "" 6368"If set to a true value, a blank line is printed after a B<=head1> heading. " 6369"If set to false (the default), no blank line is printed after B<=head1>, " 6370"although one is still printed after B<=head2>. This is the default because " 6371"it's the expected formatting for manual pages; if you're formatting " 6372"arbitrary text documents, setting this to true may result in more pleasing " 6373"output." 6374msgstr "" 6375 6376#. type: =item 6377#: lib/Locale/Po4a/Pod.pm:29 6378msgid "B<quotes>" 6379msgstr "" 6380 6381#. type: textblock 6382#: lib/Locale/Po4a/Pod.pm:30 6383msgid "" 6384"Sets the quote marks used to surround CE<lt>> text. If the value is a " 6385"single character, it is used as both the left and right quote; if it is two " 6386"characters, the first character is used as the left quote and the second as " 6387"the right quote; and if it is four characters, the first two are used as the " 6388"left quote and the second two as the right quote." 6389msgstr "" 6390 6391#. type: textblock 6392#: lib/Locale/Po4a/Pod.pm:31 6393msgid "" 6394"This may also be set to the special value B<none>, in which case no quote " 6395"marks are added around CE<lt>> text." 6396msgstr "" 6397 6398#. type: =item 6399#: lib/Locale/Po4a/Pod.pm:32 6400msgid "B<sentence>" 6401msgstr "" 6402 6403#. type: textblock 6404#: lib/Locale/Po4a/Pod.pm:33 6405msgid "" 6406"If set to a true value, Locale::Po4a::Pod will assume that each sentence " 6407"ends in two spaces, and will try to preserve that spacing. If set to false, " 6408"all consecutive whitespace in non-verbatim paragraphs is compressed into a " 6409"single space. Defaults to true." 6410msgstr "" 6411 6412#. type: =item 6413#: lib/Locale/Po4a/Pod.pm:34 6414msgid "B<width>" 6415msgstr "" 6416 6417#. type: textblock 6418#: lib/Locale/Po4a/Pod.pm:35 6419msgid "" 6420"The column at which to wrap text on the right-hand side. Defaults to 76." 6421msgstr "" 6422 6423#. type: textblock 6424#: lib/Locale/Po4a/Pod.pm:37 6425msgid "" 6426"L<Pod::Parser>, L<Locale::Po4a::Man(3pm)>, L<Locale::Po4a::" 6427"TransTractor(3pm)>, L<po4a(7)|po4a.7>" 6428msgstr "" 6429 6430#. type: textblock 6431#: lib/Locale/Po4a/Sgml.pm:2 6432msgid "Locale::Po4a::Sgml - convert SGML documents from/to PO files" 6433msgstr "" 6434 6435#. type: textblock 6436#: lib/Locale/Po4a/Sgml.pm:5 6437msgid "" 6438"Locale::Po4a::Sgml is a module to help the translation of documentation in " 6439"the SGML format into other [human] languages." 6440msgstr "" 6441 6442#. type: textblock 6443#: lib/Locale/Po4a/Sgml.pm:6 6444msgid "" 6445"This module uses B<onsgmls>(1) to parse the SGML files. Make sure it is " 6446"installed. Also make sure that the DTD of the SGML files are installed in " 6447"the system." 6448msgstr "" 6449 6450#. type: textblock 6451#: lib/Locale/Po4a/Sgml.pm:9 6452msgid "" 6453"Space separated list of keywords indicating which part you want to debug. " 6454"Possible values are: tag, generic, entities and refs." 6455msgstr "" 6456 6457#. type: textblock 6458#: lib/Locale/Po4a/Sgml.pm:11 6459msgid "Give more information about what's going on." 6460msgstr "" 6461 6462#. type: =item 6463#: lib/Locale/Po4a/Sgml.pm:12 lib/Locale/Po4a/TeX.pm:60 6464msgid "B<translate>" 6465msgstr "" 6466 6467#. type: textblock 6468#: lib/Locale/Po4a/Sgml.pm:13 6469msgid "" 6470"Space separated list of extra tags (beside the DTD provided ones) whose " 6471"content should form an extra msgid." 6472msgstr "" 6473 6474#. type: =item 6475#: lib/Locale/Po4a/Sgml.pm:14 6476msgid "B<section>" 6477msgstr "" 6478 6479#. type: textblock 6480#: lib/Locale/Po4a/Sgml.pm:15 6481msgid "" 6482"Space separated list of extra tags (beside the DTD provided ones) " 6483"containing other tags, some of them being of category B<translate>." 6484msgstr "" 6485 6486#. type: textblock 6487#: lib/Locale/Po4a/Sgml.pm:17 6488msgid "Space separated list of tags which increase the indentation level." 6489msgstr "" 6490 6491#. type: =item 6492#: lib/Locale/Po4a/Sgml.pm:18 lib/Locale/Po4a/TeX.pm:23 6493#: lib/Locale/Po4a/Text.pm:19 6494msgid "B<verbatim>" 6495msgstr "" 6496 6497#. type: textblock 6498#: lib/Locale/Po4a/Sgml.pm:19 6499msgid "" 6500"The layout within those tags should not be changed. The paragraph won't get " 6501"wrapped, and no extra indentation space or new line will be added for " 6502"cosmetic purpose." 6503msgstr "" 6504 6505#. type: =item 6506#: lib/Locale/Po4a/Sgml.pm:20 6507msgid "B<empty>" 6508msgstr "" 6509 6510#. type: textblock 6511#: lib/Locale/Po4a/Sgml.pm:21 6512msgid "Tags not needing to be closed." 6513msgstr "" 6514 6515#. type: =item 6516#: lib/Locale/Po4a/Sgml.pm:22 6517msgid "B<ignore>" 6518msgstr "" 6519 6520#. type: textblock 6521#: lib/Locale/Po4a/Sgml.pm:23 6522msgid "" 6523"Tags ignored and considered as plain char data by po4a. That is to say that " 6524"they can be part of an msgid. For example, E<lt>bE<gt> is a good candidate " 6525"for this category since putting it in the translate section would create " 6526"msgids not being whole sentences, which is bad." 6527msgstr "" 6528 6529#. type: =item 6530#: lib/Locale/Po4a/Sgml.pm:24 lib/Locale/Po4a/Xml.pm:48 6531msgid "B<attributes>" 6532msgstr "" 6533 6534#. type: textblock 6535#: lib/Locale/Po4a/Sgml.pm:25 6536msgid "" 6537"A space separated list of attributes that need to be translated. You can " 6538"specify the attributes by their name (for example, \"lang\"), but you can " 6539"also prefix it with a tag hierarchy, to specify that this attribute will " 6540"only be translated when it is into the specified tag. For example: " 6541"E<lt>bbbE<gt>E<lt>aaaE<gt>lang specifies that the lang attribute will only " 6542"be translated if it is in an E<lt>aaaE<gt> tag, which is in a E<lt>bbbE<gt> " 6543"tag. The tag names are actually regular expressions so you can also write " 6544"things like E<lt>aaa|bbbbE<gt>lang to only translate lang attributes that " 6545"are in an E<lt>aaaE<gt> or a E<lt>bbbE<gt> tag." 6546msgstr "" 6547 6548#. type: =item 6549#: lib/Locale/Po4a/Sgml.pm:26 6550msgid "B<qualify>" 6551msgstr "" 6552 6553#. type: textblock 6554#: lib/Locale/Po4a/Sgml.pm:27 6555msgid "" 6556"A space separated list of attributes for which the translation must be " 6557"qualified by the attribute name. Note that this setting automatically adds " 6558"the given attribute into the 'attributes' list too." 6559msgstr "" 6560 6561#. type: =item 6562#: lib/Locale/Po4a/Sgml.pm:28 6563msgid "B<force>" 6564msgstr "" 6565 6566#. type: textblock 6567#: lib/Locale/Po4a/Sgml.pm:29 6568msgid "" 6569"Proceed even if the DTD is unknown or if onsgmls finds errors in the input " 6570"file." 6571msgstr "" 6572 6573#. type: =item 6574#: lib/Locale/Po4a/Sgml.pm:30 6575msgid "B<include-all>" 6576msgstr "" 6577 6578#. type: textblock 6579#: lib/Locale/Po4a/Sgml.pm:31 6580msgid "" 6581"By default, msgids containing only one entity (like '&version;') are skipped " 6582"for the translator comfort. Activating this option prevents this " 6583"optimisation. It can be useful if the document contains a construction like " 6584"\"<title>Á</title>\", even if I doubt such things to ever happen..." 6585msgstr "" 6586 6587#. type: =item 6588#: lib/Locale/Po4a/Sgml.pm:32 6589msgid "B<ignore-inclusion>" 6590msgstr "" 6591 6592#. type: textblock 6593#: lib/Locale/Po4a/Sgml.pm:33 6594msgid "" 6595"Space separated list of entities that won't be inlined. Use this option " 6596"with caution: it may cause onsgmls (used internally) to add tags and render " 6597"the output document invalid." 6598msgstr "" 6599 6600#. type: textblock 6601#: lib/Locale/Po4a/Sgml.pm:35 6602msgid "" 6603"The result is perfect. I.e., the generated documents are exactly the same. " 6604"But there are still some problems:" 6605msgstr "" 6606 6607#. type: textblock 6608#: lib/Locale/Po4a/Sgml.pm:37 6609msgid "" 6610"The error output of onsgmls is redirected to /dev/null by default, which is " 6611"clearly bad. I don't know how to avoid that." 6612msgstr "" 6613 6614#. type: textblock 6615#: lib/Locale/Po4a/Sgml.pm:38 6616msgid "" 6617"The problem is that I have to \"protect\" the conditional inclusions (i.e. " 6618"the C<E<lt>! [ %foo [> and C<]]E<gt>> stuff) from onsgmls. Otherwise onsgmls " 6619"eats them, and I don't know how to restore them in the final document. To " 6620"prevent that, I rewrite them to C<{PO4A-beg-foo}> and C<{PO4A-end}>." 6621msgstr "" 6622 6623#. type: textblock 6624#: lib/Locale/Po4a/Sgml.pm:39 6625msgid "" 6626"The problem with this is that the C<{PO4A-end}> and such I add are invalid " 6627"in the document (not in a E<lt>pE<gt> tag or so)." 6628msgstr "" 6629 6630#. type: textblock 6631#: lib/Locale/Po4a/Sgml.pm:40 6632msgid "" 6633"If you want to view the onsgmls output, just add the following to your " 6634"command line (or po4a configuration line):" 6635msgstr "" 6636 6637#. type: verbatim 6638#: lib/Locale/Po4a/Sgml.pm:41 6639#, no-wrap 6640msgid "" 6641" -o debug=onsgmls\n" 6642"\n" 6643msgstr "" 6644 6645#. type: textblock 6646#: lib/Locale/Po4a/Sgml.pm:43 6647msgid "" 6648"It does work only with the DebianDoc and DocBook DTD. Adding support for a " 6649"new DTD should be very easy. The mechanism is the same for every DTD, you " 6650"just have to give a list of the existing tags and some of their " 6651"characteristics." 6652msgstr "" 6653 6654#. type: textblock 6655#: lib/Locale/Po4a/Sgml.pm:44 6656msgid "" 6657"I agree, this needs some more documentation, but it is still considered as " 6658"beta, and I hate to document stuff which may/will change." 6659msgstr "" 6660 6661#. type: textblock 6662#: lib/Locale/Po4a/Sgml.pm:46 6663msgid "" 6664"Warning, support for DTDs is quite experimental. I did not read any " 6665"reference manual to find the definition of every tag. I did add tag " 6666"definition to the module 'till it works for some documents I found on the " 6667"net. If your document use more tags than mine, it won't work. But as I said " 6668"above, fixing that should be quite easy." 6669msgstr "" 6670 6671#. type: textblock 6672#: lib/Locale/Po4a/Sgml.pm:47 6673msgid "" 6674"I did test DocBook against the SAG (System Administrator Guide) only, but " 6675"this document is quite big, and should use most of the DocBook specificities." 6676msgstr "" 6677 6678#. type: textblock 6679#: lib/Locale/Po4a/Sgml.pm:48 6680msgid "" 6681"For DebianDoc, I tested some of the manuals from the DDP, but not all yet." 6682msgstr "" 6683 6684#. type: textblock 6685#: lib/Locale/Po4a/Sgml.pm:50 6686msgid "" 6687"In case of file inclusion, string reference of messages in PO files (i.e. " 6688"lines like C<#: en/titletoc.sgml:9460>) will be wrong." 6689msgstr "" 6690 6691#. type: textblock 6692#: lib/Locale/Po4a/Sgml.pm:51 6693msgid "" 6694"This is because I preprocess the file to protect the conditional inclusion " 6695"(i.e. the C<E<lt>! [ %foo [> and C<]]E<gt>> stuff) and some entities (like " 6696"&version;) from onsgmls because I want them verbatim to the generated " 6697"document. For that, I make a temp copy of the input file and do all the " 6698"changes I want to this before passing it to onsgmls for parsing." 6699msgstr "" 6700 6701#. type: textblock 6702#: lib/Locale/Po4a/Sgml.pm:52 6703msgid "" 6704"So that it works, I replace the entities asking for a file inclusion by the " 6705"content of the given file (so that I can protect what needs to be in a " 6706"subfile also). But nothing is done so far to correct the references (i.e., " 6707"filename and line number) afterward. I'm not sure what the best thing to do " 6708"is." 6709msgstr "" 6710 6711#. type: textblock 6712#: lib/Locale/Po4a/Sgml.pm:54 6713msgid "" 6714"This module is an adapted version of sgmlspl (SGML postprocessor for the " 6715"ONSGMLS parser) which was:" 6716msgstr "" 6717 6718#. type: verbatim 6719#: lib/Locale/Po4a/Sgml.pm:55 6720#, no-wrap 6721msgid "" 6722" Copyright © 1995 David Megginson <dmeggins@aix1.uottawa.ca>\n" 6723"\n" 6724msgstr "" 6725 6726#. type: textblock 6727#: lib/Locale/Po4a/Sgml.pm:56 6728msgid "The adaptation for po4a was done by:" 6729msgstr "" 6730 6731#. type: verbatim 6732#: lib/Locale/Po4a/Sgml.pm:59 6733#, no-wrap 6734msgid "" 6735" Copyright © 1995 David Megginson <dmeggins@aix1.uottawa.ca>.\n" 6736" Copyright © 2002-2005 SPI, Inc.\n" 6737"\n" 6738msgstr "" 6739 6740#. type: textblock 6741#: lib/Locale/Po4a/TeX.pm:2 6742msgid "" 6743"Locale::Po4a::TeX - convert TeX documents and derivates from/to PO files" 6744msgstr "" 6745 6746#. type: textblock 6747#: lib/Locale/Po4a/TeX.pm:5 6748msgid "" 6749"Locale::Po4a::TeX is a module to help the translation of TeX documents into " 6750"other [human] languages. It can also be used as a base to build modules for " 6751"TeX-based documents." 6752msgstr "" 6753 6754#. type: textblock 6755#: lib/Locale/Po4a/TeX.pm:6 6756msgid "" 6757"Users should probably use the LaTeX module, which inherits from the TeX " 6758"module and contains the definitions of common LaTeX commands." 6759msgstr "" 6760 6761#. type: =head1 6762#: lib/Locale/Po4a/TeX.pm:7 6763msgid "TRANSLATING WITH PO4A::TEX" 6764msgstr "" 6765 6766#. type: textblock 6767#: lib/Locale/Po4a/TeX.pm:8 6768msgid "" 6769"This module can be used directly to handle generic TeX documents. This will " 6770"split your document in smaller blocks (paragraphs, verbatim blocks, or even " 6771"smaller like titles or indexes)." 6772msgstr "" 6773 6774#. type: textblock 6775#: lib/Locale/Po4a/TeX.pm:9 lib/Locale/Po4a/Xml.pm:8 6776msgid "" 6777"There are some options (described in the next section) that can customize " 6778"this behavior. If this doesn't fit to your document format you're " 6779"encouraged to write your own module derived from this, to describe your " 6780"format's details. See the section B<WRITING DERIVATE MODULES> below, for " 6781"the process description." 6782msgstr "" 6783 6784#. type: textblock 6785#: lib/Locale/Po4a/TeX.pm:10 6786msgid "" 6787"This module can also be customized by lines starting with \"% po4a:\" in the " 6788"TeX file. These customizations are described in the B<INLINE CUSTOMIZATION> " 6789"section." 6790msgstr "" 6791 6792#. type: textblock 6793#: lib/Locale/Po4a/TeX.pm:16 6794msgid "Comma-separated list of environments which should not be re-wrapped." 6795msgstr "" 6796 6797#. type: textblock 6798#: lib/Locale/Po4a/TeX.pm:17 6799msgid "" 6800"Note that there is a difference between verbatim and no_wrap environments. " 6801"There is no command and comments analysis in verbatim blocks." 6802msgstr "" 6803 6804#. type: textblock 6805#: lib/Locale/Po4a/TeX.pm:18 lib/Locale/Po4a/TeX.pm:25 6806#: lib/Locale/Po4a/TeX.pm:54 6807msgid "" 6808"If this environment was not already registered, po4a will consider that this " 6809"environment does not take any parameters." 6810msgstr "" 6811 6812#. type: =item 6813#: lib/Locale/Po4a/TeX.pm:19 6814msgid "B<exclude_include>" 6815msgstr "" 6816 6817#. type: textblock 6818#: lib/Locale/Po4a/TeX.pm:20 6819msgid "" 6820"Colon-separated list of files that should not be included by \\input and " 6821"\\include." 6822msgstr "" 6823 6824#. type: textblock 6825#: lib/Locale/Po4a/TeX.pm:24 6826msgid "Comma-separated list of environments which should be taken as verbatim." 6827msgstr "" 6828 6829#. type: textblock 6830#: lib/Locale/Po4a/TeX.pm:26 6831msgid "" 6832"Using these options permits to override the behaviour of the commands " 6833"defined in the default lists." 6834msgstr "" 6835 6836#. type: textblock 6837#: lib/Locale/Po4a/TeX.pm:28 6838msgid "" 6839"The TeX module can be customized with lines starting by B<% po4a:>. These " 6840"lines are interpreted as commands to the parser. The following commands are " 6841"recognized:" 6842msgstr "" 6843 6844#. type: =item 6845#: lib/Locale/Po4a/TeX.pm:29 6846msgid "B<% po4a: command> I<command1> B<alias> I<command2>" 6847msgstr "" 6848 6849#. type: textblock 6850#: lib/Locale/Po4a/TeX.pm:30 6851msgid "" 6852"Indicates that the arguments of the I<command1> command should be treated as " 6853"the arguments of the I<command2> command." 6854msgstr "" 6855 6856#. type: =item 6857#: lib/Locale/Po4a/TeX.pm:31 6858msgid "B<% po4a: command> I<command1> I<parameters>" 6859msgstr "" 6860 6861#. type: textblock 6862#: lib/Locale/Po4a/TeX.pm:32 6863msgid "" 6864"This permit to describe in detail the parameters of the I<command1> " 6865"command. This information will be used to check the number of arguments and " 6866"their types." 6867msgstr "" 6868 6869#. type: textblock 6870#: lib/Locale/Po4a/TeX.pm:33 6871msgid "You can precede the I<command1> command by" 6872msgstr "" 6873 6874#. type: =item 6875#: lib/Locale/Po4a/TeX.pm:34 6876msgid "an asterisk (B<*>)" 6877msgstr "" 6878 6879#. type: textblock 6880#: lib/Locale/Po4a/TeX.pm:35 6881msgid "" 6882"po4a will extract this command from paragraphs (if it is located at the " 6883"beginning or the end of a paragraph). The translators will then have to " 6884"translate the parameters that are marked as translatable." 6885msgstr "" 6886 6887#. type: =item 6888#: lib/Locale/Po4a/TeX.pm:36 6889msgid "a plus (B<+>)" 6890msgstr "" 6891 6892#. type: textblock 6893#: lib/Locale/Po4a/TeX.pm:37 6894msgid "" 6895"As for an asterisk, the command will be extracted if it appear at an " 6896"extremity of a block, but the parameters won't be translated separately. " 6897"The translator will have to translate the command concatenated to all its " 6898"parameters. This permits to keep more context, and is useful for commands " 6899"with small words in parameter, which can have multiple meanings (and " 6900"translations)." 6901msgstr "" 6902 6903#. type: textblock 6904#: lib/Locale/Po4a/TeX.pm:38 6905msgid "" 6906"Note: In this case you don't have to specify which parameters are " 6907"translatable, but po4a must know the type and number of parameters." 6908msgstr "" 6909 6910#. type: =item 6911#: lib/Locale/Po4a/TeX.pm:39 6912msgid "a minus (B<->)" 6913msgstr "" 6914 6915#. type: textblock 6916#: lib/Locale/Po4a/TeX.pm:40 6917msgid "" 6918"In this case, the command won't be extracted from any block. But if it " 6919"appears alone on a block, then only the parameters marked as translatable " 6920"will be presented to the translator. This is useful for font commands. " 6921"These commands should generally not be separated from their paragraph (to " 6922"keep the context), but there is no reason to annoy the translator with them " 6923"if a whole string is enclosed in such a command." 6924msgstr "" 6925 6926#. type: verbatim 6927#: lib/Locale/Po4a/TeX.pm:41 6928#, no-wrap 6929msgid "" 6930"The I<parameters> argument is a set of [] (to indicate an optional\n" 6931"argument) or {} (to indicate a mandatory argument).\n" 6932"You can place an underscore (_) between these brackets to indicate that\n" 6933"the parameter must be translated. For example:\n" 6934" % po4a: command *chapter [_]{_}\n" 6935"\n" 6936msgstr "" 6937 6938#. type: verbatim 6939#: lib/Locale/Po4a/TeX.pm:42 6940#, no-wrap 6941msgid "" 6942"This indicates that the chapter command has two parameters: an optional\n" 6943"(short title) and a mandatory one, which must both be translated.\n" 6944"If you want to specify that the href command has two mandatory parameters,\n" 6945"that you don't want to translate the URL (first parameter), and that you\n" 6946"don't want this command to be separated from its paragraph (which allow\n" 6947"the translator to move the link in the sentence), you can use:\n" 6948" % po4a: command -href {}{_}\n" 6949"\n" 6950msgstr "" 6951 6952#. type: textblock 6953#: lib/Locale/Po4a/TeX.pm:43 6954msgid "" 6955"In this case, the information indicating which arguments must be translated " 6956"is only used if a paragraph is only composed of this href command." 6957msgstr "" 6958 6959#. type: =item 6960#: lib/Locale/Po4a/TeX.pm:44 6961msgid "B<% po4a: environment> I<env> I<parameters>" 6962msgstr "" 6963 6964#. type: verbatim 6965#: lib/Locale/Po4a/TeX.pm:45 6966#, no-wrap 6967msgid "" 6968"This permits to define the parameters accepted by the I<env> environment.\n" 6969"This information is later used to check the number of arguments of the\n" 6970"\\begin command, and permit to specify which one must be translated.\n" 6971"The syntax of the I<parameters> argument is the same as described for the\n" 6972"others commands.\n" 6973"The first parameter of the \\begin command is the name of the environment.\n" 6974"This parameter must not be specified in the list of parameters. Here are\n" 6975"some examples:\n" 6976" % po4a: environment multicols {}\n" 6977" % po4a: environment equation\n" 6978"\n" 6979msgstr "" 6980 6981#. type: textblock 6982#: lib/Locale/Po4a/TeX.pm:46 6983msgid "" 6984"As for the commands, I<env> can be preceded by a plus (+) to indicate that " 6985"the \\begin command must be translated with all its arguments." 6986msgstr "" 6987 6988#. type: =item 6989#: lib/Locale/Po4a/TeX.pm:47 6990msgid "B<% po4a: separator> I<env> B<\">I<regex>B<\">" 6991msgstr "" 6992 6993#. type: textblock 6994#: lib/Locale/Po4a/TeX.pm:48 6995msgid "" 6996"Indicates that an environment should be split according to the given regular " 6997"expression." 6998msgstr "" 6999 7000#. type: textblock 7001#: lib/Locale/Po4a/TeX.pm:49 7002msgid "" 7003"The regular expression is delimited by quotes. It should not create any " 7004"backreference. You should use (?:) if you need a group. It may also need " 7005"some escapes." 7006msgstr "" 7007 7008#. type: textblock 7009#: lib/Locale/Po4a/TeX.pm:50 7010msgid "" 7011"For example, the LaTeX module uses the \"(?:&|\\\\\\\\)\" regular expression " 7012"to translate separately each cell of a table (lines are separated by '\\\\' " 7013"and cells by '&')." 7014msgstr "" 7015 7016#. type: textblock 7017#: lib/Locale/Po4a/TeX.pm:51 7018msgid "" 7019"The notion of environment is expended to the type displayed in the PO file. " 7020"This can be used to split on \"\\\\\\\\\" in the first mandatory argument of " 7021"the title command. In this case, the environment is title{#1}." 7022msgstr "" 7023 7024#. type: =item 7025#: lib/Locale/Po4a/TeX.pm:52 7026msgid "B<% po4a: verbatim environment> I<env>" 7027msgstr "" 7028 7029#. type: textblock 7030#: lib/Locale/Po4a/TeX.pm:53 7031msgid "" 7032"Indicate that I<env> is a verbatim environment. Comments and commands will " 7033"be ignored in this environment." 7034msgstr "" 7035 7036#. type: =head1 7037#: lib/Locale/Po4a/TeX.pm:55 7038msgid "WRITING DERIVATE MODULES" 7039msgstr "" 7040 7041#. type: =item 7042#: lib/Locale/Po4a/TeX.pm:56 7043msgid "B<pre_trans>" 7044msgstr "" 7045 7046#. type: =item 7047#: lib/Locale/Po4a/TeX.pm:57 7048msgid "B<post_trans>" 7049msgstr "" 7050 7051#. type: =item 7052#: lib/Locale/Po4a/TeX.pm:58 7053msgid "B<add_comment>" 7054msgstr "" 7055 7056#. type: textblock 7057#: lib/Locale/Po4a/TeX.pm:59 7058msgid "" 7059"Add a string as a comment to be added around the next translated element. " 7060"This is mostly useful to the texinfo module, as comments are automatically " 7061"handled in TeX." 7062msgstr "" 7063 7064#. type: textblock 7065#: lib/Locale/Po4a/TeX.pm:61 7066msgid "" 7067"Wrapper around Transtractor's translate, with pre- and post-processing " 7068"filters." 7069msgstr "" 7070 7071#. type: textblock 7072#: lib/Locale/Po4a/TeX.pm:62 7073msgid "" 7074"Comments of a paragraph are inserted as a PO comment for the first " 7075"translated string of this paragraph." 7076msgstr "" 7077 7078#. type: =item 7079#: lib/Locale/Po4a/TeX.pm:63 7080msgid "B<get_leading_command>($buffer)" 7081msgstr "" 7082 7083#. type: textblock 7084#: lib/Locale/Po4a/TeX.pm:64 7085msgid "This function returns:" 7086msgstr "" 7087 7088#. type: =item 7089#: lib/Locale/Po4a/TeX.pm:65 lib/Locale/Po4a/TeX.pm:93 7090msgid "A command name" 7091msgstr "" 7092 7093#. type: textblock 7094#: lib/Locale/Po4a/TeX.pm:66 7095msgid "" 7096"If no command is found at the beginning of the given buffer, this string " 7097"will be empty. Only commands that can be separated are considered. The " 7098"%separated_command hash contains the list of these commands." 7099msgstr "" 7100 7101#. type: =item 7102#: lib/Locale/Po4a/TeX.pm:67 lib/Locale/Po4a/TeX.pm:94 7103msgid "A variant" 7104msgstr "" 7105 7106#. type: textblock 7107#: lib/Locale/Po4a/TeX.pm:68 7108msgid "" 7109"This indicates if a variant is used. For example, an asterisk (*) can be " 7110"added at the end of sections command to specify that they should not be " 7111"numbered. In this case, this field will contain \"*\". If there is no " 7112"variant, the field is an empty string." 7113msgstr "" 7114 7115#. type: =item 7116#: lib/Locale/Po4a/TeX.pm:69 7117msgid "An array of tuples (type of argument, argument)" 7118msgstr "" 7119 7120#. type: textblock 7121#: lib/Locale/Po4a/TeX.pm:70 7122msgid "" 7123"The type of argument can be either '{' (for mandatory arguments) or '[' (for " 7124"optional arguments)." 7125msgstr "" 7126 7127#. type: =item 7128#: lib/Locale/Po4a/TeX.pm:71 7129msgid "The remaining buffer" 7130msgstr "" 7131 7132#. type: textblock 7133#: lib/Locale/Po4a/TeX.pm:72 7134msgid "" 7135"The rest of the buffer after the removal of this leading command and its " 7136"arguments. If no command is found, the original buffer is not touched and " 7137"returned in this field." 7138msgstr "" 7139 7140#. type: =item 7141#: lib/Locale/Po4a/TeX.pm:73 7142msgid "B<get_trailing_command>($buffer)" 7143msgstr "" 7144 7145#. type: textblock 7146#: lib/Locale/Po4a/TeX.pm:74 7147msgid "" 7148"The same as B<get_leading_command>, but for commands at the end of a buffer." 7149msgstr "" 7150 7151#. type: =item 7152#: lib/Locale/Po4a/TeX.pm:75 7153msgid "B<translate_buffer>" 7154msgstr "" 7155 7156#. type: textblock 7157#: lib/Locale/Po4a/TeX.pm:76 7158msgid "" 7159"Recursively translate a buffer by separating leading and trailing commands " 7160"(those which should be translated separately) from the buffer." 7161msgstr "" 7162 7163#. type: textblock 7164#: lib/Locale/Po4a/TeX.pm:77 7165msgid "" 7166"If a function is defined in %translate_buffer_env for the current " 7167"environment, this function will be used to translate the buffer instead of " 7168"translate_buffer()." 7169msgstr "" 7170 7171#. type: =item 7172#: lib/Locale/Po4a/TeX.pm:78 7173msgid "B<read>" 7174msgstr "" 7175 7176#. type: textblock 7177#: lib/Locale/Po4a/TeX.pm:79 7178msgid "Overloads Transtractor's read()." 7179msgstr "" 7180 7181#. type: =item 7182#: lib/Locale/Po4a/TeX.pm:80 7183msgid "B<read_file>" 7184msgstr "" 7185 7186#. type: textblock 7187#: lib/Locale/Po4a/TeX.pm:81 7188msgid "" 7189"Recursively read a file, appending included files which are not listed in " 7190"the @exclude_include array. Included files are searched using the " 7191"B<kpsewhich> command from the Kpathsea library." 7192msgstr "" 7193 7194#. type: textblock 7195#: lib/Locale/Po4a/TeX.pm:82 7196msgid "" 7197"Except from the file inclusion part, it is a cut and paste from " 7198"Transtractor's read." 7199msgstr "" 7200 7201#. type: =item 7202#: lib/Locale/Po4a/TeX.pm:83 7203msgid "B<parse_definition_file>" 7204msgstr "" 7205 7206#. type: textblock 7207#: lib/Locale/Po4a/TeX.pm:84 7208msgid "" 7209"Subroutine for parsing a file with po4a directives (definitions for new " 7210"commands)." 7211msgstr "" 7212 7213#. type: =item 7214#: lib/Locale/Po4a/TeX.pm:85 7215msgid "B<parse_definition_line>" 7216msgstr "" 7217 7218#. type: textblock 7219#: lib/Locale/Po4a/TeX.pm:86 7220msgid "Parse a definition line of the form \"% po4a: \"." 7221msgstr "" 7222 7223#. type: textblock 7224#: lib/Locale/Po4a/TeX.pm:87 7225msgid "See the B<INLINE CUSTOMIZATION> section for more details." 7226msgstr "" 7227 7228#. type: =item 7229#: lib/Locale/Po4a/TeX.pm:88 7230msgid "B<is_closed>" 7231msgstr "" 7232 7233#. type: =item 7234#: lib/Locale/Po4a/TeX.pm:89 7235msgid "B<parse>" 7236msgstr "" 7237 7238#. type: =item 7239#: lib/Locale/Po4a/TeX.pm:90 7240msgid "B<docheader>" 7241msgstr "" 7242 7243#. type: =head1 7244#: lib/Locale/Po4a/TeX.pm:91 7245msgid "INTERNAL FUNCTIONS used to write derivated parsers" 7246msgstr "" 7247 7248#. type: textblock 7249#: lib/Locale/Po4a/TeX.pm:92 7250msgid "" 7251"Command and environment functions take the following arguments (in addition " 7252"to the $self object):" 7253msgstr "" 7254 7255#. type: =item 7256#: lib/Locale/Po4a/TeX.pm:95 7257msgid "An array of (type, argument) tuples" 7258msgstr "" 7259 7260#. type: =item 7261#: lib/Locale/Po4a/TeX.pm:96 7262msgid "The current environment" 7263msgstr "" 7264 7265#. type: textblock 7266#: lib/Locale/Po4a/TeX.pm:97 7267msgid "" 7268"The first 3 arguments are extracted by get_leading_command or " 7269"get_trailing_command." 7270msgstr "" 7271 7272#. type: textblock 7273#: lib/Locale/Po4a/TeX.pm:98 7274msgid "" 7275"Command and environment functions return the translation of the command with " 7276"its arguments and a new environment." 7277msgstr "" 7278 7279#. type: textblock 7280#: lib/Locale/Po4a/TeX.pm:99 7281msgid "" 7282"Environment functions are called when a \\begin command is found. They are " 7283"called with the \\begin command and its arguments." 7284msgstr "" 7285 7286#. type: textblock 7287#: lib/Locale/Po4a/TeX.pm:100 7288msgid "" 7289"The TeX module only proposes one command function and one environment " 7290"function: generic_command and generic_environment." 7291msgstr "" 7292 7293#. type: verbatim 7294#: lib/Locale/Po4a/TeX.pm:101 7295#, no-wrap 7296msgid "" 7297"generic_command uses the information specified by\n" 7298"register_generic_command or by adding definition to the TeX file:\n" 7299" % po4a: command I<command1> I<parameters>\n" 7300"\n" 7301msgstr "" 7302 7303#. type: verbatim 7304#: lib/Locale/Po4a/TeX.pm:102 7305#, no-wrap 7306msgid "" 7307"generic_environment uses the information specified by\n" 7308"register_generic_environment or by adding definition to the TeX file:\n" 7309" % po4a: environment I<env> I<parameters>\n" 7310"\n" 7311msgstr "" 7312 7313#. type: textblock 7314#: lib/Locale/Po4a/TeX.pm:103 7315msgid "" 7316"Both functions will only translate the parameters that were specified as " 7317"translatable (with a '_'). generic_environment will append the name of the " 7318"environment to the environment stack and generic_command will append the " 7319"name of the command followed by an identifier of the parameter (like {#7} or " 7320"[#2])." 7321msgstr "" 7322 7323#. type: textblock 7324#: lib/Locale/Po4a/TeX.pm:105 7325msgid "This module needs more tests." 7326msgstr "" 7327 7328#. type: textblock 7329#: lib/Locale/Po4a/TeX.pm:106 7330msgid "It was tested on a book and with the Python documentation." 7331msgstr "" 7332 7333#. type: =head1 7334#: lib/Locale/Po4a/TeX.pm:107 lib/Locale/Po4a/Xml.pm:180 7335msgid "TODO LIST" 7336msgstr "" 7337 7338#. type: =item 7339#: lib/Locale/Po4a/TeX.pm:108 7340msgid "Automatic detection of new commands" 7341msgstr "" 7342 7343#. type: textblock 7344#: lib/Locale/Po4a/TeX.pm:109 7345msgid "" 7346"The TeX module could parse the newcommand arguments and try to guess the " 7347"number of arguments, their type and whether or not they should be translated." 7348msgstr "" 7349 7350#. type: =item 7351#: lib/Locale/Po4a/TeX.pm:110 7352msgid "Translation of the environment separator" 7353msgstr "" 7354 7355#. type: textblock 7356#: lib/Locale/Po4a/TeX.pm:111 7357msgid "" 7358"When \\item is used as an environment separator, the item argument is " 7359"attached to the following string." 7360msgstr "" 7361 7362#. type: =item 7363#: lib/Locale/Po4a/TeX.pm:112 7364msgid "Some commands should be added to the environment stack" 7365msgstr "" 7366 7367#. type: textblock 7368#: lib/Locale/Po4a/TeX.pm:113 7369msgid "" 7370"These commands should be specified by couples. This could allow to specify " 7371"commands beginning or ending a verbatim environment." 7372msgstr "" 7373 7374#. type: =item 7375#: lib/Locale/Po4a/TeX.pm:114 7376msgid "Others" 7377msgstr "" 7378 7379#. type: textblock 7380#: lib/Locale/Po4a/TeX.pm:115 7381msgid "Various other points are tagged TODO in the source." 7382msgstr "" 7383 7384#. type: =head1 7385#: lib/Locale/Po4a/TeX.pm:116 7386msgid "KNOWN BUGS" 7387msgstr "" 7388 7389#. type: textblock 7390#: lib/Locale/Po4a/TeX.pm:117 7391msgid "Various points are tagged FIXME in the source." 7392msgstr "" 7393 7394#. type: textblock 7395#: lib/Locale/Po4a/TeX.pm:119 7396msgid "" 7397"L<Locale::Po4a::LaTeX(3pm)|Locale::Po4a::LaTeX>, L<Locale::Po4a::" 7398"TransTractor(3pm)|Locale::Po4a::TransTractor>, L<po4a(7)|po4a.7>" 7399msgstr "" 7400 7401#. type: textblock 7402#: lib/Locale/Po4a/Texinfo.pm:2 7403msgid "" 7404"Locale::Po4a::Texinfo - convert Texinfo documents and derivates from/to PO " 7405"files" 7406msgstr "" 7407 7408#. type: textblock 7409#: lib/Locale/Po4a/Texinfo.pm:5 7410msgid "" 7411"Locale::Po4a::Texinfo is a module to help the translation of Texinfo " 7412"documents into other [human] languages." 7413msgstr "" 7414 7415#. type: textblock 7416#: lib/Locale/Po4a/Texinfo.pm:6 7417msgid "" 7418"This module contains the definitions of common Texinfo commands and " 7419"environments." 7420msgstr "" 7421 7422#. type: textblock 7423#: lib/Locale/Po4a/Texinfo.pm:7 7424msgid "" 7425"Only the comments starting with 'TRANSLATORS' are added to the PO files to " 7426"guide the translators." 7427msgstr "" 7428 7429#. type: textblock 7430#: lib/Locale/Po4a/Texinfo.pm:15 7431msgid "" 7432"Copyright © 2004-2007 Nicolas FRANÇOIS <nicolas.francois@centraliens.net>." 7433msgstr "" 7434 7435#. type: textblock 7436#: lib/Locale/Po4a/Text.pm:2 7437msgid "Locale::Po4a::Text - convert text documents from/to PO files" 7438msgstr "" 7439 7440#. type: textblock 7441#: lib/Locale/Po4a/Text.pm:5 7442msgid "" 7443"Locale::Po4a::Text is a module to help the translation of text documents " 7444"into other [human] languages." 7445msgstr "" 7446 7447#. type: textblock 7448#: lib/Locale/Po4a/Text.pm:6 7449msgid "" 7450"Paragraphs are split on empty lines (or lines containing only spaces or " 7451"tabulations)." 7452msgstr "" 7453 7454#. type: textblock 7455#: lib/Locale/Po4a/Text.pm:7 7456msgid "" 7457"If a paragraph contains a line starting by a space (or tabulation), this " 7458"paragraph won't be rewrapped." 7459msgstr "" 7460 7461#. type: =item 7462#: lib/Locale/Po4a/Text.pm:10 7463msgid "B<keyvalue>" 7464msgstr "" 7465 7466#. type: textblock 7467#: lib/Locale/Po4a/Text.pm:11 7468msgid "" 7469"Treat paragraphs that look like a key value pair as verbatim (with the no-" 7470"wrap flag in the PO file). Key value pairs are defined as a line containing " 7471"one or more non-colon and non-space characters followed by a colon followed " 7472"by at least one non-space character before the end of the line." 7473msgstr "" 7474 7475#. type: =item 7476#: lib/Locale/Po4a/Text.pm:12 7477msgid "B<nobullets>" 7478msgstr "" 7479 7480#. type: textblock 7481#: lib/Locale/Po4a/Text.pm:13 7482msgid "Deactivate the detection of bullets." 7483msgstr "" 7484 7485#. type: textblock 7486#: lib/Locale/Po4a/Text.pm:14 7487msgid "" 7488"By default, when a bullet is detected, the bullet paragraph is not " 7489"considered as a verbatim paragraph (with the no-wrap flag in the PO file). " 7490"Instead, the corresponding paragraph is rewrapped in the translation." 7491msgstr "" 7492 7493#. type: =item 7494#: lib/Locale/Po4a/Text.pm:15 7495msgid "B<tabs=>I<mode>" 7496msgstr "" 7497 7498#. type: textblock 7499#: lib/Locale/Po4a/Text.pm:16 7500msgid "Specify how tabulations shall be handled. The I<mode> can be any of:" 7501msgstr "" 7502 7503#. type: =item 7504#: lib/Locale/Po4a/Text.pm:17 7505msgid "B<split>" 7506msgstr "" 7507 7508#. type: textblock 7509#: lib/Locale/Po4a/Text.pm:18 7510msgid "Lines with tabulations introduce breaks in the current paragraph." 7511msgstr "" 7512 7513#. type: textblock 7514#: lib/Locale/Po4a/Text.pm:20 7515msgid "Paragraph containing tabulations will not be re-wrapped." 7516msgstr "" 7517 7518#. type: textblock 7519#: lib/Locale/Po4a/Text.pm:21 7520msgid "By default, tabulations are considered as spaces." 7521msgstr "" 7522 7523#. type: =item 7524#: lib/Locale/Po4a/Text.pm:22 7525msgid "B<breaks=>I<regex>" 7526msgstr "" 7527 7528#. type: textblock 7529#: lib/Locale/Po4a/Text.pm:23 7530msgid "" 7531"A regular expression matching lines which introduce breaks. The regular " 7532"expression will be anchored so that the whole line must match." 7533msgstr "" 7534 7535#. type: =item 7536#: lib/Locale/Po4a/Text.pm:24 7537msgid "B<debianchangelog>" 7538msgstr "" 7539 7540#. type: textblock 7541#: lib/Locale/Po4a/Text.pm:25 7542msgid "" 7543"Handle the header and footer of released versions, which only contain non " 7544"translatable informations." 7545msgstr "" 7546 7547#. type: =item 7548#: lib/Locale/Po4a/Text.pm:26 7549msgid "B<fortunes>" 7550msgstr "" 7551 7552#. type: textblock 7553#: lib/Locale/Po4a/Text.pm:27 7554msgid "" 7555"Handle the fortunes format, which separate fortunes with a line which " 7556"consists in '%' or '%%', and use '%%' as the beginning of a comment." 7557msgstr "" 7558 7559#. type: =item 7560#: lib/Locale/Po4a/Text.pm:28 7561msgid "B<markdown>" 7562msgstr "" 7563 7564#. type: textblock 7565#: lib/Locale/Po4a/Text.pm:29 7566msgid "Handle some special markup in Markdown-formatted texts." 7567msgstr "" 7568 7569#. type: =item 7570#: lib/Locale/Po4a/Text.pm:30 7571msgid "B<yfm_keys> (markdown-only)" 7572msgstr "" 7573 7574#. type: =item 7575#: lib/Locale/Po4a/Text.pm:32 7576msgid "B<yfm_skip_array> (markdown-only)" 7577msgstr "" 7578 7579#. type: =item 7580#: lib/Locale/Po4a/Text.pm:34 7581msgid "B<control>[B<=>I<taglist>]" 7582msgstr "" 7583 7584#. type: textblock 7585#: lib/Locale/Po4a/Text.pm:35 7586msgid "" 7587"Handle control files. A comma-separated list of tags to be translated can " 7588"be provided." 7589msgstr "" 7590 7591#. type: =item 7592#: lib/Locale/Po4a/Text.pm:36 7593msgid "B<neverwrap>" 7594msgstr "" 7595 7596#. type: textblock 7597#: lib/Locale/Po4a/Text.pm:37 7598msgid "" 7599"Prevent po4a from wrapping any lines. This means that every content is " 7600"handled verbatim, even simple paragraphs." 7601msgstr "" 7602 7603#. type: textblock 7604#: lib/Locale/Po4a/Text.pm:39 7605msgid "Tested successfully on simple text files and NEWS.Debian files." 7606msgstr "" 7607 7608#. type: verbatim 7609#: lib/Locale/Po4a/Text.pm:43 7610#, no-wrap 7611msgid "" 7612" Copyright © 2005-2008 Nicolas FRANÇOIS <nicolas.francois@centraliens.net>.\n" 7613"\n" 7614msgstr "" 7615 7616#. type: verbatim 7617#: lib/Locale/Po4a/Text.pm:44 7618#, no-wrap 7619msgid "" 7620" Copyright © 2008-2009, 2018 Jonas Smedegaard <dr@jones.dk>.\n" 7621" Copyright © 2020 Martin Quinson <mquinson#debian.org>.\n" 7622"\n" 7623msgstr "" 7624 7625#. type: textblock 7626#: lib/Locale/Po4a/TransTractor.pm:2 7627msgid "Locale::Po4a::TransTractor - generic trans(lator ex)tractor." 7628msgstr "" 7629 7630#. type: textblock 7631#: lib/Locale/Po4a/TransTractor.pm:5 7632msgid "" 7633"This class is the ancestor of every po4a parser used to parse a document, to " 7634"search translatable strings, to extract them to a PO file and to replace " 7635"them by their translation in the output document." 7636msgstr "" 7637 7638#. type: textblock 7639#: lib/Locale/Po4a/TransTractor.pm:6 7640msgid "More formally, it takes the following arguments as input:" 7641msgstr "" 7642 7643#. type: =item 7644#: lib/Locale/Po4a/TransTractor.pm:7 lib/Locale/Po4a/TransTractor.pm:9 7645#: lib/Locale/Po4a/TransTractor.pm:12 lib/Locale/Po4a/TransTractor.pm:14 7646#: lib/Locale/Po4a/TransTractor.pm:112 lib/Locale/Po4a/TransTractor.pm:114 7647#: lib/Locale/Po4a/TransTractor.pm:116 lib/Locale/Po4a/TransTractor.pm:127 7648#: lib/Locale/Po4a/TransTractor.pm:129 lib/Locale/Po4a/TransTractor.pm:131 7649#: lib/Locale/Po4a/TransTractor.pm:148 lib/Locale/Po4a/TransTractor.pm:150 7650#: lib/Locale/Po4a/TransTractor.pm:152 7651msgid "-" 7652msgstr "" 7653 7654#. type: textblock 7655#: lib/Locale/Po4a/TransTractor.pm:8 7656msgid "a document to translate;" 7657msgstr "" 7658 7659#. type: textblock 7660#: lib/Locale/Po4a/TransTractor.pm:10 7661msgid "a PO file containing the translations to use." 7662msgstr "" 7663 7664#. type: textblock 7665#: lib/Locale/Po4a/TransTractor.pm:11 7666msgid "As output, it produces:" 7667msgstr "" 7668 7669#. type: textblock 7670#: lib/Locale/Po4a/TransTractor.pm:13 7671msgid "" 7672"another PO file, resulting of the extraction of translatable strings from " 7673"the input document;" 7674msgstr "" 7675 7676#. type: textblock 7677#: lib/Locale/Po4a/TransTractor.pm:15 7678msgid "" 7679"a translated document, with the same structure than the one in input, but " 7680"with all translatable strings replaced with the translations found in the PO " 7681"file provided in input." 7682msgstr "" 7683 7684#. type: textblock 7685#: lib/Locale/Po4a/TransTractor.pm:16 7686msgid "Here is a graphical representation of this:" 7687msgstr "" 7688 7689#. type: verbatim 7690#: lib/Locale/Po4a/TransTractor.pm:17 7691#, no-wrap 7692msgid "" 7693" Input document --\\ /---> Output document\n" 7694" \\ / (translated)\n" 7695" +-> parse() function -----+\n" 7696" / \\\n" 7697" Input PO --------/ \\---> Output PO\n" 7698" (extracted)\n" 7699"\n" 7700msgstr "" 7701 7702#. type: =head1 7703#: lib/Locale/Po4a/TransTractor.pm:18 7704msgid "FUNCTIONS YOUR PARSER SHOULD OVERRIDE" 7705msgstr "" 7706 7707#. type: =item 7708#: lib/Locale/Po4a/TransTractor.pm:19 7709msgid "parse()" 7710msgstr "" 7711 7712#. type: textblock 7713#: lib/Locale/Po4a/TransTractor.pm:20 7714msgid "" 7715"This is where all the work takes place: the parsing of input documents, the " 7716"generation of output, and the extraction of the translatable strings. This " 7717"is pretty simple using the provided functions presented in the section " 7718"B<INTERNAL FUNCTIONS> below. See also the B<SYNOPSIS>, which presents an " 7719"example." 7720msgstr "" 7721 7722#. type: textblock 7723#: lib/Locale/Po4a/TransTractor.pm:21 7724msgid "" 7725"This function is called by the process() function below, but if you choose " 7726"to use the new() function, and to add content manually to your document, you " 7727"will have to call this function yourself." 7728msgstr "" 7729 7730#. type: =item 7731#: lib/Locale/Po4a/TransTractor.pm:22 7732msgid "docheader()" 7733msgstr "" 7734 7735#. type: textblock 7736#: lib/Locale/Po4a/TransTractor.pm:23 7737msgid "" 7738"This function returns the header we should add to the produced document, " 7739"quoted properly to be a comment in the target language. See the section " 7740"B<Educating developers about translations>, from L<po4a(7)|po4a.7>, for what " 7741"it is good for." 7742msgstr "" 7743 7744#. type: textblock 7745#: lib/Locale/Po4a/TransTractor.pm:25 7746msgid "" 7747"The following example parses a list of paragraphs beginning with \"<p>\". " 7748"For the sake of simplicity, we assume that the document is well formatted, i." 7749"e. that '<p>' tags are the only tags present, and that this tag is at the " 7750"very beginning of each paragraph." 7751msgstr "" 7752 7753#. type: verbatim 7754#: lib/Locale/Po4a/TransTractor.pm:26 7755#, no-wrap 7756msgid "" 7757" sub parse {\n" 7758" my $self = shift;\n" 7759"\n" 7760msgstr "" 7761 7762#. type: verbatim 7763#: lib/Locale/Po4a/TransTractor.pm:27 7764#, no-wrap 7765msgid "" 7766" PARAGRAPH: while (1) {\n" 7767" my ($paragraph,$pararef)=(\"\",\"\");\n" 7768" my $first=1;\n" 7769" my ($line,$lref)=$self->shiftline();\n" 7770" while (defined($line)) {\n" 7771" if ($line =~ m/<p>/ && !$first--; ) {\n" 7772" # Not the first time we see <p>.\n" 7773" # Reput the current line in input,\n" 7774" # and put the built paragraph to output\n" 7775" $self->unshiftline($line,$lref);\n" 7776"\n" 7777msgstr "" 7778 7779#. type: verbatim 7780#: lib/Locale/Po4a/TransTractor.pm:28 7781#, no-wrap 7782msgid "" 7783" # Now that the document is formed, translate it:\n" 7784" # - Remove the leading tag\n" 7785" $paragraph =~ s/^<p>//s;\n" 7786"\n" 7787msgstr "" 7788 7789#. type: verbatim 7790#: lib/Locale/Po4a/TransTractor.pm:29 7791#, no-wrap 7792msgid "" 7793" # - push to output the leading tag (untranslated) and the\n" 7794" # rest of the paragraph (translated)\n" 7795" $self->pushline( \"<p>\"\n" 7796" . $self->translate($paragraph,$pararef)\n" 7797" );\n" 7798"\n" 7799msgstr "" 7800 7801#. type: verbatim 7802#: lib/Locale/Po4a/TransTractor.pm:30 7803#, no-wrap 7804msgid "" 7805" next PARAGRAPH;\n" 7806" } else {\n" 7807" # Append to the paragraph\n" 7808" $paragraph .= $line;\n" 7809" $pararef = $lref unless(length($pararef));\n" 7810" }\n" 7811"\n" 7812msgstr "" 7813 7814#. type: verbatim 7815#: lib/Locale/Po4a/TransTractor.pm:31 7816#, no-wrap 7817msgid "" 7818" # Reinit the loop\n" 7819" ($line,$lref)=$self->shiftline();\n" 7820" }\n" 7821" # Did not get a defined line? End of input file.\n" 7822" return;\n" 7823" }\n" 7824" }\n" 7825"\n" 7826msgstr "" 7827 7828#. type: textblock 7829#: lib/Locale/Po4a/TransTractor.pm:32 7830msgid "" 7831"Once you've implemented the parse function, you can use your document class, " 7832"using the public interface presented in the next section." 7833msgstr "" 7834 7835#. type: =head1 7836#: lib/Locale/Po4a/TransTractor.pm:33 7837msgid "PUBLIC INTERFACE for scripts using your parser" 7838msgstr "" 7839 7840#. type: =head2 7841#: lib/Locale/Po4a/TransTractor.pm:34 7842msgid "Constructor" 7843msgstr "" 7844 7845#. type: =item 7846#: lib/Locale/Po4a/TransTractor.pm:35 7847msgid "process(%)" 7848msgstr "" 7849 7850#. type: textblock 7851#: lib/Locale/Po4a/TransTractor.pm:36 7852msgid "" 7853"This function can do all you need to do with a po4a document in one " 7854"invocation. Its arguments must be packed as a hash. ACTIONS:" 7855msgstr "" 7856 7857#. type: =item 7858#: lib/Locale/Po4a/TransTractor.pm:37 7859msgid "a." 7860msgstr "" 7861 7862#. type: textblock 7863#: lib/Locale/Po4a/TransTractor.pm:38 7864msgid "Reads all the PO files specified in po_in_name" 7865msgstr "" 7866 7867#. type: =item 7868#: lib/Locale/Po4a/TransTractor.pm:39 7869msgid "b." 7870msgstr "" 7871 7872#. type: textblock 7873#: lib/Locale/Po4a/TransTractor.pm:40 7874msgid "Reads all original documents specified in file_in_name" 7875msgstr "" 7876 7877#. type: =item 7878#: lib/Locale/Po4a/TransTractor.pm:41 7879msgid "c." 7880msgstr "" 7881 7882#. type: textblock 7883#: lib/Locale/Po4a/TransTractor.pm:42 7884msgid "Parses the document" 7885msgstr "" 7886 7887#. type: =item 7888#: lib/Locale/Po4a/TransTractor.pm:43 7889msgid "d." 7890msgstr "" 7891 7892#. type: textblock 7893#: lib/Locale/Po4a/TransTractor.pm:44 7894msgid "Reads and applies all the addenda specified" 7895msgstr "" 7896 7897#. type: =item 7898#: lib/Locale/Po4a/TransTractor.pm:45 7899msgid "e." 7900msgstr "" 7901 7902#. type: textblock 7903#: lib/Locale/Po4a/TransTractor.pm:46 7904msgid "Writes the translated document to file_out_name (if given)" 7905msgstr "" 7906 7907#. type: =item 7908#: lib/Locale/Po4a/TransTractor.pm:47 7909msgid "f." 7910msgstr "" 7911 7912#. type: textblock 7913#: lib/Locale/Po4a/TransTractor.pm:48 7914msgid "Writes the extracted PO file to po_out_name (if given)" 7915msgstr "" 7916 7917#. type: textblock 7918#: lib/Locale/Po4a/TransTractor.pm:49 7919msgid "ARGUMENTS, beside the ones accepted by new() (with expected type):" 7920msgstr "" 7921 7922#. type: =item 7923#: lib/Locale/Po4a/TransTractor.pm:50 7924msgid "file_in_name (@)" 7925msgstr "" 7926 7927#. type: textblock 7928#: lib/Locale/Po4a/TransTractor.pm:51 7929msgid "List of filenames where we should read the input document." 7930msgstr "" 7931 7932#. type: =item 7933#: lib/Locale/Po4a/TransTractor.pm:52 7934msgid "file_in_charset ($)" 7935msgstr "" 7936 7937#. type: textblock 7938#: lib/Locale/Po4a/TransTractor.pm:53 7939msgid "" 7940"Charset used in the input document (if it isn't specified, it will try to " 7941"detect it from the input document)." 7942msgstr "" 7943 7944#. type: =item 7945#: lib/Locale/Po4a/TransTractor.pm:54 7946msgid "file_out_name ($)" 7947msgstr "" 7948 7949#. type: textblock 7950#: lib/Locale/Po4a/TransTractor.pm:55 7951msgid "Filename where we should write the output document." 7952msgstr "" 7953 7954#. type: =item 7955#: lib/Locale/Po4a/TransTractor.pm:56 7956msgid "file_out_charset ($)" 7957msgstr "" 7958 7959#. type: textblock 7960#: lib/Locale/Po4a/TransTractor.pm:57 7961msgid "" 7962"Charset used in the output document (if it isn't specified, it will use the " 7963"PO file charset)." 7964msgstr "" 7965 7966#. type: =item 7967#: lib/Locale/Po4a/TransTractor.pm:58 7968msgid "po_in_name (@)" 7969msgstr "" 7970 7971#. type: textblock 7972#: lib/Locale/Po4a/TransTractor.pm:59 7973msgid "" 7974"List of filenames where we should read the input PO files from, containing " 7975"the translation which will be used to translate the document." 7976msgstr "" 7977 7978#. type: =item 7979#: lib/Locale/Po4a/TransTractor.pm:60 7980msgid "po_out_name ($)" 7981msgstr "" 7982 7983#. type: textblock 7984#: lib/Locale/Po4a/TransTractor.pm:61 7985msgid "" 7986"Filename where we should write the output PO file, containing the strings " 7987"extracted from the input document." 7988msgstr "" 7989 7990#. type: =item 7991#: lib/Locale/Po4a/TransTractor.pm:62 7992msgid "addendum (@)" 7993msgstr "" 7994 7995#. type: textblock 7996#: lib/Locale/Po4a/TransTractor.pm:63 7997msgid "List of filenames where we should read the addenda from." 7998msgstr "" 7999 8000#. type: =item 8001#: lib/Locale/Po4a/TransTractor.pm:64 8002msgid "addendum_charset ($)" 8003msgstr "" 8004 8005#. type: textblock 8006#: lib/Locale/Po4a/TransTractor.pm:65 8007msgid "Charset for the addenda." 8008msgstr "" 8009 8010#. type: =item 8011#: lib/Locale/Po4a/TransTractor.pm:66 8012msgid "new(%)" 8013msgstr "" 8014 8015#. type: textblock 8016#: lib/Locale/Po4a/TransTractor.pm:67 8017msgid "Create a new po4a document. Accepted options (but be in a hash):" 8018msgstr "" 8019 8020#. type: =item 8021#: lib/Locale/Po4a/TransTractor.pm:68 8022msgid "verbose ($)" 8023msgstr "" 8024 8025#. type: textblock 8026#: lib/Locale/Po4a/TransTractor.pm:69 8027msgid "Sets the verbosity." 8028msgstr "" 8029 8030#. type: =item 8031#: lib/Locale/Po4a/TransTractor.pm:70 8032msgid "debug ($)" 8033msgstr "" 8034 8035#. type: textblock 8036#: lib/Locale/Po4a/TransTractor.pm:71 8037msgid "Sets the debugging." 8038msgstr "" 8039 8040#. type: =head2 8041#: lib/Locale/Po4a/TransTractor.pm:72 8042msgid "Manipulating document files" 8043msgstr "" 8044 8045#. type: =item 8046#: lib/Locale/Po4a/TransTractor.pm:73 8047msgid "read($$)" 8048msgstr "" 8049 8050#. type: textblock 8051#: lib/Locale/Po4a/TransTractor.pm:74 8052msgid "" 8053"Add another input document data at the end of the existing array C<< @{$self-" 8054">{TT}{doc_in}} >>. The argument is the filename to read. If a second " 8055"argument is provided, it is the filename to use in the references." 8056msgstr "" 8057 8058#. type: verbatim 8059#: lib/Locale/Po4a/TransTractor.pm:75 8060#, no-wrap 8061msgid "" 8062"This array C<< @{$self->{TT}{doc_in}} >> holds this input document data as an\n" 8063"array of strings with alternating meanings.\n" 8064" * The string C<$textline> holding each line of the input text data.\n" 8065" * The string C<< $filename:$linenum >> holding its location and called as\n" 8066" \"reference\" (C<linenum> starts with 1).\n" 8067"\n" 8068msgstr "" 8069 8070#. type: textblock 8071#: lib/Locale/Po4a/TransTractor.pm:76 8072msgid "" 8073"Please note that it does not parse anything. You should use the parse() " 8074"function when you're done with packing input files into the document." 8075msgstr "" 8076 8077#. type: textblock 8078#: lib/Locale/Po4a/TransTractor.pm:78 8079msgid "Write the translated document to the given filename." 8080msgstr "" 8081 8082#. type: verbatim 8083#: lib/Locale/Po4a/TransTractor.pm:79 8084#, no-wrap 8085msgid "" 8086"This translated document data are provided by:\n" 8087" * C<< $self->docheader() >> holding the header text for the plugin, and\n" 8088" * C<< @{$self->{TT}{doc_out}} >> holding each line of the main translated text in the array.\n" 8089"\n" 8090msgstr "" 8091 8092#. type: =head2 8093#: lib/Locale/Po4a/TransTractor.pm:80 8094msgid "Manipulating PO files" 8095msgstr "" 8096 8097#. type: =item 8098#: lib/Locale/Po4a/TransTractor.pm:81 8099msgid "readpo($)" 8100msgstr "" 8101 8102#. type: textblock 8103#: lib/Locale/Po4a/TransTractor.pm:82 8104msgid "" 8105"Add the content of a file (which name is passed as argument) to the existing " 8106"input PO. The old content is not discarded." 8107msgstr "" 8108 8109#. type: =item 8110#: lib/Locale/Po4a/TransTractor.pm:83 8111msgid "writepo($)" 8112msgstr "" 8113 8114#. type: textblock 8115#: lib/Locale/Po4a/TransTractor.pm:84 8116msgid "Write the extracted PO file to the given filename." 8117msgstr "" 8118 8119#. type: =item 8120#: lib/Locale/Po4a/TransTractor.pm:85 8121msgid "stats()" 8122msgstr "" 8123 8124#. type: textblock 8125#: lib/Locale/Po4a/TransTractor.pm:86 8126msgid "" 8127"Returns some statistics about the translation done so far. Please note that " 8128"it's not the same statistics than the one printed by msgfmt --statistic. " 8129"Here, it's stats about recent usage of the PO file, while msgfmt reports the " 8130"status of the file. It is a wrapper to the Locale::Po4a::Po::stats_get " 8131"function applied to the input PO file. Example of use:" 8132msgstr "" 8133 8134#. type: verbatim 8135#: lib/Locale/Po4a/TransTractor.pm:87 8136#, no-wrap 8137msgid "" 8138" [normal use of the po4a document...]\n" 8139"\n" 8140msgstr "" 8141 8142#. type: verbatim 8143#: lib/Locale/Po4a/TransTractor.pm:88 8144#, no-wrap 8145msgid "" 8146" ($percent,$hit,$queries) = $document->stats();\n" 8147" print \"We found translations for $percent\\% ($hit from $queries) of strings.\\n\";\n" 8148"\n" 8149msgstr "" 8150 8151#. type: =item 8152#: lib/Locale/Po4a/TransTractor.pm:89 8153msgid "is_po_uptodate()" 8154msgstr "" 8155 8156#. type: textblock 8157#: lib/Locale/Po4a/TransTractor.pm:90 8158msgid "" 8159"Returns ($uptodate, $diagnostic) where $uptodate is whether the input po and " 8160"the output po match (if not, it means that the input po should be updated) " 8161"and $diagnostic is a string explaining why the po file is not uptodate, when " 8162"this happens." 8163msgstr "" 8164 8165#. type: =head2 8166#: lib/Locale/Po4a/TransTractor.pm:91 8167msgid "Manipulating addenda" 8168msgstr "" 8169 8170#. type: =item 8171#: lib/Locale/Po4a/TransTractor.pm:92 8172msgid "addendum($)" 8173msgstr "" 8174 8175#. type: textblock 8176#: lib/Locale/Po4a/TransTractor.pm:93 8177msgid "" 8178"Please refer to L<po4a(7)|po4a.7> for more information on what addenda are, " 8179"and how translators should write them. To apply an addendum to the " 8180"translated document, simply pass its filename to this function and you are " 8181"done ;)" 8182msgstr "" 8183 8184#. type: textblock 8185#: lib/Locale/Po4a/TransTractor.pm:94 8186msgid "This function returns a non-null integer on error." 8187msgstr "" 8188 8189#. type: =head1 8190#: lib/Locale/Po4a/TransTractor.pm:95 lib/Locale/Po4a/Xml.pm:131 8191msgid "INTERNAL FUNCTIONS used to write derivative parsers" 8192msgstr "" 8193 8194#. type: =head2 8195#: lib/Locale/Po4a/TransTractor.pm:96 8196msgid "Getting input, providing output" 8197msgstr "" 8198 8199#. type: textblock 8200#: lib/Locale/Po4a/TransTractor.pm:97 8201msgid "" 8202"Four functions are provided to get input and return output. They are very " 8203"similar to shift/unshift and push/pop of Perl." 8204msgstr "" 8205 8206#. type: verbatim 8207#: lib/Locale/Po4a/TransTractor.pm:98 8208#, no-wrap 8209msgid "" 8210" * Perl shift returns the first array item and drop it from the array.\n" 8211" * Perl unshift prepends an item to the array as the first array item.\n" 8212" * Perl pop returns the last array item and drop it from the array.\n" 8213" * Perl push appends an item to the array as the last array item.\n" 8214"\n" 8215msgstr "" 8216 8217#. type: textblock 8218#: lib/Locale/Po4a/TransTractor.pm:99 8219msgid "" 8220"The first pair is about input, while the second is about output. Mnemonic: " 8221"in input, you are interested in the first line, what shift gives, and in " 8222"output you want to add your result at the end, like push does." 8223msgstr "" 8224 8225#. type: =item 8226#: lib/Locale/Po4a/TransTractor.pm:100 8227msgid "shiftline()" 8228msgstr "" 8229 8230#. type: textblock 8231#: lib/Locale/Po4a/TransTractor.pm:101 8232msgid "" 8233"This function returns the first line to be parsed and its corresponding " 8234"reference (packed as an array) from the array C<< @{$self->{TT}{doc_in}} >> " 8235"and drop these first 2 array items. Here, the reference is provided by a " 8236"string C<< $filename:$linenum >>." 8237msgstr "" 8238 8239#. type: =item 8240#: lib/Locale/Po4a/TransTractor.pm:102 8241msgid "unshiftline($$)" 8242msgstr "" 8243 8244#. type: textblock 8245#: lib/Locale/Po4a/TransTractor.pm:103 8246msgid "" 8247"Unshifts the last shifted line of the input document and its corresponding " 8248"reference back to the head of C<< {$self->{TT}{doc_in}} >>." 8249msgstr "" 8250 8251#. type: =item 8252#: lib/Locale/Po4a/TransTractor.pm:104 8253msgid "pushline($)" 8254msgstr "" 8255 8256#. type: textblock 8257#: lib/Locale/Po4a/TransTractor.pm:105 8258msgid "Push a new line to the end of C<< {$self->{TT}{doc_out}} >>." 8259msgstr "" 8260 8261#. type: =item 8262#: lib/Locale/Po4a/TransTractor.pm:106 8263msgid "popline()" 8264msgstr "" 8265 8266#. type: textblock 8267#: lib/Locale/Po4a/TransTractor.pm:107 8268msgid "Pop the last pushed line from the end of C<< {$self->{TT}{doc_out}} >>." 8269msgstr "" 8270 8271#. type: =head2 8272#: lib/Locale/Po4a/TransTractor.pm:108 8273msgid "Marking strings as translatable" 8274msgstr "" 8275 8276#. type: textblock 8277#: lib/Locale/Po4a/TransTractor.pm:109 8278msgid "One function is provided to handle the text which should be translated." 8279msgstr "" 8280 8281#. type: =item 8282#: lib/Locale/Po4a/TransTractor.pm:110 8283msgid "translate($$$)" 8284msgstr "" 8285 8286#. type: textblock 8287#: lib/Locale/Po4a/TransTractor.pm:111 8288msgid "Mandatory arguments:" 8289msgstr "" 8290 8291#. type: textblock 8292#: lib/Locale/Po4a/TransTractor.pm:113 8293msgid "A string to translate" 8294msgstr "" 8295 8296#. type: textblock 8297#: lib/Locale/Po4a/TransTractor.pm:115 8298msgid "The reference of this string (i.e. position in inputfile)" 8299msgstr "" 8300 8301#. type: textblock 8302#: lib/Locale/Po4a/TransTractor.pm:117 8303msgid "" 8304"The type of this string (i.e. the textual description of its structural " 8305"role; used in Locale::Po4a::Po::gettextization(); see also L<po4a(7)|" 8306"po4a.7>, section B<Gettextization: how does it work?>)" 8307msgstr "" 8308 8309#. type: textblock 8310#: lib/Locale/Po4a/TransTractor.pm:118 8311msgid "" 8312"This function can also take some extra arguments. They must be organized as " 8313"a hash. For example:" 8314msgstr "" 8315 8316#. type: verbatim 8317#: lib/Locale/Po4a/TransTractor.pm:119 8318#, no-wrap 8319msgid "" 8320" $self->translate(\"string\",\"ref\",\"type\",\n" 8321" 'wrap' => 1);\n" 8322"\n" 8323msgstr "" 8324 8325#. type: textblock 8326#: lib/Locale/Po4a/TransTractor.pm:121 8327msgid "" 8328"boolean indicating whether we can consider that whitespaces in string are " 8329"not important. If yes, the function canonizes the string before looking for " 8330"a translation or extracting it, and wraps the translation." 8331msgstr "" 8332 8333#. type: textblock 8334#: lib/Locale/Po4a/TransTractor.pm:125 8335msgid "an extra comment to add to the entry." 8336msgstr "" 8337 8338#. type: textblock 8339#: lib/Locale/Po4a/TransTractor.pm:126 8340msgid "Actions:" 8341msgstr "" 8342 8343#. type: textblock 8344#: lib/Locale/Po4a/TransTractor.pm:128 8345msgid "Pushes the string, reference and type to po_out." 8346msgstr "" 8347 8348#. type: textblock 8349#: lib/Locale/Po4a/TransTractor.pm:130 8350msgid "" 8351"Returns the translation of the string (as found in po_in) so that the parser " 8352"can build the doc_out." 8353msgstr "" 8354 8355#. type: textblock 8356#: lib/Locale/Po4a/TransTractor.pm:132 8357msgid "" 8358"Handles the charsets to recode the strings before sending them to po_out and " 8359"before returning the translations." 8360msgstr "" 8361 8362#. type: =head2 8363#: lib/Locale/Po4a/TransTractor.pm:133 8364msgid "Misc functions" 8365msgstr "" 8366 8367#. type: =item 8368#: lib/Locale/Po4a/TransTractor.pm:134 8369msgid "verbose()" 8370msgstr "" 8371 8372#. type: textblock 8373#: lib/Locale/Po4a/TransTractor.pm:135 8374msgid "" 8375"Returns if the verbose option was passed during the creation of the " 8376"TransTractor." 8377msgstr "" 8378 8379#. type: =item 8380#: lib/Locale/Po4a/TransTractor.pm:136 8381msgid "debug()" 8382msgstr "" 8383 8384#. type: textblock 8385#: lib/Locale/Po4a/TransTractor.pm:137 8386msgid "" 8387"Returns if the debug option was passed during the creation of the " 8388"TransTractor." 8389msgstr "" 8390 8391#. type: =item 8392#: lib/Locale/Po4a/TransTractor.pm:138 8393msgid "detected_charset($)" 8394msgstr "" 8395 8396#. type: textblock 8397#: lib/Locale/Po4a/TransTractor.pm:139 8398msgid "" 8399"This tells TransTractor that a new charset (the first argument) has been " 8400"detected from the input document. It can usually be read from the document " 8401"header. Only the first charset will remain, coming either from the process() " 8402"arguments or detected from the document." 8403msgstr "" 8404 8405#. type: =item 8406#: lib/Locale/Po4a/TransTractor.pm:140 8407msgid "get_out_charset()" 8408msgstr "" 8409 8410#. type: textblock 8411#: lib/Locale/Po4a/TransTractor.pm:141 8412msgid "" 8413"This function will return the charset that should be used in the output " 8414"document (usually useful to substitute the input document's detected charset " 8415"where it has been found)." 8416msgstr "" 8417 8418#. type: textblock 8419#: lib/Locale/Po4a/TransTractor.pm:142 8420msgid "" 8421"It will use the output charset specified in the command line. If it wasn't " 8422"specified, it will use the input PO's charset, and if the input PO has the " 8423"default \"CHARSET\", it will return the input document's charset, so that no " 8424"encoding is performed." 8425msgstr "" 8426 8427#. type: =item 8428#: lib/Locale/Po4a/TransTractor.pm:143 8429msgid "recode_skipped_text($)" 8430msgstr "" 8431 8432#. type: textblock 8433#: lib/Locale/Po4a/TransTractor.pm:144 8434msgid "" 8435"This function returns the recoded text passed as argument, from the input " 8436"document's charset to the output document's one. This isn't needed when " 8437"translating a string (translate() recodes everything itself), but it is when " 8438"you skip a string from the input document and you want the output document " 8439"to be consistent with the global encoding." 8440msgstr "" 8441 8442#. type: =head1 8443#: lib/Locale/Po4a/TransTractor.pm:145 8444msgid "FUTURE DIRECTIONS" 8445msgstr "" 8446 8447#. type: textblock 8448#: lib/Locale/Po4a/TransTractor.pm:146 8449msgid "" 8450"One shortcoming of the current TransTractor is that it can't handle " 8451"translated document containing all languages, like debconf templates, or ." 8452"desktop files." 8453msgstr "" 8454 8455#. type: textblock 8456#: lib/Locale/Po4a/TransTractor.pm:147 8457msgid "To address this problem, the only interface changes needed are:" 8458msgstr "" 8459 8460#. type: textblock 8461#: lib/Locale/Po4a/TransTractor.pm:149 8462msgid "take a hash as po_in_name (a list per language)" 8463msgstr "" 8464 8465#. type: textblock 8466#: lib/Locale/Po4a/TransTractor.pm:151 8467msgid "add an argument to translate to indicate the target language" 8468msgstr "" 8469 8470#. type: textblock 8471#: lib/Locale/Po4a/TransTractor.pm:153 8472msgid "" 8473"make a pushline_all function, which would make pushline of its content for " 8474"all languages, using a map-like syntax:" 8475msgstr "" 8476 8477#. type: verbatim 8478#: lib/Locale/Po4a/TransTractor.pm:154 8479#, no-wrap 8480msgid "" 8481" $self->pushline_all({ \"Description[\".$langcode.\"]=\".\n" 8482" $self->translate($line,$ref,$langcode)\n" 8483" });\n" 8484"\n" 8485msgstr "" 8486 8487#. type: textblock 8488#: lib/Locale/Po4a/TransTractor.pm:155 8489msgid "Will see if it's enough ;)" 8490msgstr "" 8491 8492#. type: verbatim 8493#: lib/Locale/Po4a/TransTractor.pm:157 8494#, no-wrap 8495msgid "" 8496" Denis Barbier <barbier@linuxfr.org>\n" 8497" Martin Quinson (mquinson#debian.org)\n" 8498" Jordi Vilalta <jvprat@gmail.com>\n" 8499"\n" 8500msgstr "" 8501 8502#. type: textblock 8503#: lib/Locale/Po4a/Wml.pm:2 8504msgid "" 8505"Locale::Po4a::Wml - convert WML (web markup language) documents from/to PO " 8506"files" 8507msgstr "" 8508 8509#. type: textblock 8510#: lib/Locale/Po4a/Wml.pm:5 8511msgid "" 8512"Locale::Po4a::Wml is a module to help the translation of WML documents into " 8513"other [human] languages. Do not mixup the WML we are speaking about here " 8514"(web markup language) and the WAP crap used on cell phones." 8515msgstr "" 8516 8517#. type: textblock 8518#: lib/Locale/Po4a/Wml.pm:6 8519msgid "" 8520"Please note that this module relies upon the Locale::Po4a::Xhtml module, " 8521"which also relies upon the Locale::Po4a::Xml module. This means that all " 8522"tags for web page expressions are assumed to be written in the XHTML syntax." 8523msgstr "" 8524 8525#. type: textblock 8526#: lib/Locale/Po4a/Wml.pm:10 8527msgid "" 8528"This module works for some simple documents, but is still young. Currently, " 8529"the biggest issue of the module is probably that it cannot handle documents " 8530"that contain non-XML inline tags such as <email \"foo@example.org\">, which " 8531"are often defined in the WML. Improvements will be added in the future " 8532"releases." 8533msgstr "" 8534 8535#. type: verbatim 8536#: lib/Locale/Po4a/Wml.pm:12 8537#, no-wrap 8538msgid "" 8539" Martin Quinson (mquinson#debian.org)\n" 8540" Noriada Kobayashi <nori1@dolphin.c.u-tokyo.ac.jp>\n" 8541"\n" 8542msgstr "" 8543 8544#. type: verbatim 8545#: lib/Locale/Po4a/Wml.pm:14 8546#, no-wrap 8547msgid "" 8548" Copyright © 2005 SPI, Inc.\n" 8549"\n" 8550msgstr "" 8551 8552#. type: textblock 8553#: lib/Locale/Po4a/Xhtml.pm:2 8554msgid "Locale::Po4a::Xhtml - convert XHTML documents from/to PO files" 8555msgstr "" 8556 8557#. type: textblock 8558#: lib/Locale/Po4a/Xhtml.pm:5 8559msgid "" 8560"Locale::Po4a::Xhtml is a module to help the translation of XHTML documents " 8561"into other [human] languages." 8562msgstr "" 8563 8564#. type: =item 8565#: lib/Locale/Po4a/Xhtml.pm:8 8566msgid "B<includessi>[B<=>I<rootpath>]" 8567msgstr "" 8568 8569#. type: textblock 8570#: lib/Locale/Po4a/Xhtml.pm:9 8571msgid "" 8572"Include files specified by an include SSI (Server Side Includes) element (e." 8573"g. <!--#include virtual=\"/foo/bar.html\" -->)." 8574msgstr "" 8575 8576#. type: textblock 8577#: lib/Locale/Po4a/Xhtml.pm:10 8578msgid "B<Note:> You should use it only for static files." 8579msgstr "" 8580 8581#. type: textblock 8582#: lib/Locale/Po4a/Xhtml.pm:11 8583msgid "" 8584"An additional I<rootpath> parameter can be specified. It specifies the root " 8585"path to find files included by a B<virtual> attribute." 8586msgstr "" 8587 8588#. type: textblock 8589#: lib/Locale/Po4a/Xhtml.pm:14 8590msgid "" 8591"\"It works for me\", which means I use it successfully on my personal Web " 8592"site. However, YMMV: please let me know if something doesn't work for you. " 8593"In particular, tables are getting no testing whatsoever, as we don't use " 8594"them." 8595msgstr "" 8596 8597#. type: verbatim 8598#: lib/Locale/Po4a/Xhtml.pm:18 8599#, no-wrap 8600msgid "" 8601" Yves Rütschlé <po4a@rutschle.net>\n" 8602" Nicolas François <nicolas.francois@centraliens.net>\n" 8603"\n" 8604msgstr "" 8605 8606#. type: verbatim 8607#: lib/Locale/Po4a/Xhtml.pm:20 8608#, no-wrap 8609msgid "" 8610" Copyright © 2004 Yves Rütschlé <po4a@rutschle.net>\n" 8611" Copyright © 2007-2008 Nicolas François <nicolas.francois@centraliens.net>\n" 8612"\n" 8613msgstr "" 8614 8615#. type: textblock 8616#: lib/Locale/Po4a/Xml.pm:2 8617msgid "" 8618"Locale::Po4a::Xml - convert XML documents and derivates from/to PO files" 8619msgstr "" 8620 8621#. type: textblock 8622#: lib/Locale/Po4a/Xml.pm:5 8623msgid "" 8624"Locale::Po4a::Xml is a module to help the translation of XML documents into " 8625"other [human] languages. It can also be used as a base to build modules for " 8626"XML-based documents." 8627msgstr "" 8628 8629#. type: =head1 8630#: lib/Locale/Po4a/Xml.pm:6 8631msgid "TRANSLATING WITH PO4A::XML" 8632msgstr "" 8633 8634#. type: textblock 8635#: lib/Locale/Po4a/Xml.pm:7 8636msgid "" 8637"This module can be used directly to handle generic XML documents. This will " 8638"extract all tag's content, and no attributes, since it's where the text is " 8639"written in most XML based documents." 8640msgstr "" 8641 8642#. type: textblock 8643#: lib/Locale/Po4a/Xml.pm:10 8644msgid "" 8645"The global debug option causes this module to show the excluded strings, in " 8646"order to see if it skips something important." 8647msgstr "" 8648 8649#. type: =item 8650#: lib/Locale/Po4a/Xml.pm:12 8651msgid "B<nostrip>" 8652msgstr "" 8653 8654#. type: textblock 8655#: lib/Locale/Po4a/Xml.pm:13 8656msgid "Prevents it to strip the spaces around the extracted strings." 8657msgstr "" 8658 8659#. type: textblock 8660#: lib/Locale/Po4a/Xml.pm:15 8661msgid "" 8662"Canonicalizes the string to translate, considering that whitespaces are not " 8663"important, and wraps the translated document. This option can be overridden " 8664"by custom tag options. See the B<translated> option below." 8665msgstr "" 8666 8667#. type: =item 8668#: lib/Locale/Po4a/Xml.pm:16 8669msgid "B<unwrap_attributes>" 8670msgstr "" 8671 8672#. type: textblock 8673#: lib/Locale/Po4a/Xml.pm:17 8674msgid "Attributes are wrapped by default. This option disables wrapping." 8675msgstr "" 8676 8677#. type: =item 8678#: lib/Locale/Po4a/Xml.pm:18 8679msgid "B<caseinsensitive>" 8680msgstr "" 8681 8682#. type: textblock 8683#: lib/Locale/Po4a/Xml.pm:19 8684msgid "" 8685"It makes the tags and attributes searching to work in a case insensitive " 8686"way. If it's defined, it will treat E<lt>BooKE<gt>laNG and " 8687"E<lt>BOOKE<gt>Lang as E<lt>bookE<gt>lang." 8688msgstr "" 8689 8690#. type: =item 8691#: lib/Locale/Po4a/Xml.pm:20 8692msgid "B<escapequotes>" 8693msgstr "" 8694 8695#. type: textblock 8696#: lib/Locale/Po4a/Xml.pm:21 8697msgid "" 8698"Escape quotes in output strings. Necessary, for example, for creating " 8699"string resources for use by Android build tools." 8700msgstr "" 8701 8702#. type: textblock 8703#: lib/Locale/Po4a/Xml.pm:22 8704msgid "" 8705"See also: https://developer.android.com/guide/topics/resources/string-" 8706"resource.html" 8707msgstr "" 8708 8709#. type: =item 8710#: lib/Locale/Po4a/Xml.pm:23 8711msgid "B<includeexternal>" 8712msgstr "" 8713 8714#. type: textblock 8715#: lib/Locale/Po4a/Xml.pm:24 8716msgid "" 8717"When defined, external entities are included in the generated (translated) " 8718"document, and for the extraction of strings. If it's not defined, you will " 8719"have to translate external entities separately as independent documents." 8720msgstr "" 8721 8722#. type: =item 8723#: lib/Locale/Po4a/Xml.pm:25 8724msgid "B<ontagerror>" 8725msgstr "" 8726 8727#. type: textblock 8728#: lib/Locale/Po4a/Xml.pm:26 8729msgid "" 8730"This option defines the behavior of the module when it encounters invalid " 8731"XML syntax (a closing tag which does not match the last opening tag). It " 8732"can take the following values:" 8733msgstr "" 8734 8735#. type: textblock 8736#: lib/Locale/Po4a/Xml.pm:28 8737msgid "This is the default value. The module will exit with an error." 8738msgstr "" 8739 8740#. type: =item 8741#: lib/Locale/Po4a/Xml.pm:29 8742msgid "I<warn>" 8743msgstr "" 8744 8745#. type: textblock 8746#: lib/Locale/Po4a/Xml.pm:30 8747msgid "The module will continue, and will issue a warning." 8748msgstr "" 8749 8750#. type: =item 8751#: lib/Locale/Po4a/Xml.pm:31 8752msgid "I<silent>" 8753msgstr "" 8754 8755#. type: textblock 8756#: lib/Locale/Po4a/Xml.pm:32 8757msgid "The module will continue without any warnings." 8758msgstr "" 8759 8760#. type: textblock 8761#: lib/Locale/Po4a/Xml.pm:33 8762msgid "" 8763"Be careful when using this option. It is generally recommended to fix the " 8764"input file." 8765msgstr "" 8766 8767#. type: =item 8768#: lib/Locale/Po4a/Xml.pm:34 8769msgid "B<tagsonly>" 8770msgstr "" 8771 8772#. type: textblock 8773#: lib/Locale/Po4a/Xml.pm:35 8774msgid "Note: This option is deprecated." 8775msgstr "" 8776 8777#. type: textblock 8778#: lib/Locale/Po4a/Xml.pm:36 8779msgid "" 8780"Extracts only the specified tags in the \"tags\" option. Otherwise, it will " 8781"extract all the tags except the ones specified." 8782msgstr "" 8783 8784#. type: =item 8785#: lib/Locale/Po4a/Xml.pm:37 8786msgid "B<doctype>" 8787msgstr "" 8788 8789#. type: textblock 8790#: lib/Locale/Po4a/Xml.pm:38 8791msgid "" 8792"String that will try to match with the first line of the document's doctype " 8793"(if defined). If it doesn't, a warning will indicate that the document might " 8794"be of a bad type." 8795msgstr "" 8796 8797#. type: =item 8798#: lib/Locale/Po4a/Xml.pm:39 8799msgid "B<addlang>" 8800msgstr "" 8801 8802#. type: textblock 8803#: lib/Locale/Po4a/Xml.pm:40 8804msgid "" 8805"String indicating the path (e.g. E<lt>bbbE<gt>E<lt>aaaE<gt>) of a tag where " 8806"a lang=\"...\" attribute shall be added. The language will be defined as the " 8807"basename of the PO file without any .po extension." 8808msgstr "" 8809 8810#. type: =item 8811#: lib/Locale/Po4a/Xml.pm:41 8812msgid "B<optionalclosingtag>" 8813msgstr "" 8814 8815#. type: textblock 8816#: lib/Locale/Po4a/Xml.pm:42 8817msgid "" 8818"Boolean indicating whether closing tags are optional (as in HTML). By " 8819"default, missing closing tags raise an error handled according to " 8820"C<ontagerror>." 8821msgstr "" 8822 8823#. type: =item 8824#: lib/Locale/Po4a/Xml.pm:43 8825msgid "B<tags>" 8826msgstr "" 8827 8828#. type: textblock 8829#: lib/Locale/Po4a/Xml.pm:44 8830msgid "" 8831"Note: This option is deprecated. You should use the B<translated> and " 8832"B<untranslated> options instead." 8833msgstr "" 8834 8835#. type: textblock 8836#: lib/Locale/Po4a/Xml.pm:45 8837msgid "" 8838"Space-separated list of tags you want to translate or skip. By default, the " 8839"specified tags will be excluded, but if you use the \"tagsonly\" option, the " 8840"specified tags will be the only ones included. The tags must be in the form " 8841"E<lt>aaaE<gt>, but you can join some (E<lt>bbbE<gt>E<lt>aaaE<gt>) to say " 8842"that the content of the tag E<lt>aaaE<gt> will only be translated when it's " 8843"into a E<lt>bbbE<gt> tag." 8844msgstr "" 8845 8846#. type: textblock 8847#: lib/Locale/Po4a/Xml.pm:46 8848msgid "" 8849"You can also specify some tag options by putting some characters in front of " 8850"the tag hierarchy. For example, you can put 'w' (wrap) or 'W' (don't wrap) " 8851"to override the default behavior specified by the global \"wrap\" option." 8852msgstr "" 8853 8854#. type: textblock 8855#: lib/Locale/Po4a/Xml.pm:47 lib/Locale/Po4a/Xml.pm:89 8856msgid "Example: WE<lt>chapterE<gt>E<lt>titleE<gt>" 8857msgstr "" 8858 8859#. type: textblock 8860#: lib/Locale/Po4a/Xml.pm:49 8861msgid "" 8862"Space-separated list of tag's attributes you want to translate. You can " 8863"specify the attributes by their name (for example, \"lang\"), but you can " 8864"prefix it with a tag hierarchy, to specify that this attribute will only be " 8865"translated when it's in the specified tag. For example: " 8866"E<lt>bbbE<gt>E<lt>aaaE<gt>lang specifies that the lang attribute will only " 8867"be translated if it's in an E<lt>aaaE<gt> tag, and it's in a E<lt>bbbE<gt> " 8868"tag." 8869msgstr "" 8870 8871#. type: =item 8872#: lib/Locale/Po4a/Xml.pm:50 8873msgid "B<foldattributes>" 8874msgstr "" 8875 8876#. type: textblock 8877#: lib/Locale/Po4a/Xml.pm:51 8878msgid "" 8879"Do not translate attributes in inline tags. Instead, replace all attributes " 8880"of a tag by po4a-id=<id>." 8881msgstr "" 8882 8883#. type: textblock 8884#: lib/Locale/Po4a/Xml.pm:52 8885msgid "" 8886"This is useful when attributes shall not be translated, as this simplifies " 8887"the strings for translators, and avoids typos." 8888msgstr "" 8889 8890#. type: =item 8891#: lib/Locale/Po4a/Xml.pm:53 8892msgid "B<customtag>" 8893msgstr "" 8894 8895#. type: textblock 8896#: lib/Locale/Po4a/Xml.pm:54 8897msgid "" 8898"Space-separated list of tags which should not be treated as tags. These " 8899"tags are treated as inline, and do not need to be closed." 8900msgstr "" 8901 8902#. type: =item 8903#: lib/Locale/Po4a/Xml.pm:55 8904msgid "B<break>" 8905msgstr "" 8906 8907#. type: textblock 8908#: lib/Locale/Po4a/Xml.pm:56 8909msgid "" 8910"Space-separated list of tags which should break the sequence. By default, " 8911"all tags break the sequence." 8912msgstr "" 8913 8914#. type: textblock 8915#: lib/Locale/Po4a/Xml.pm:57 lib/Locale/Po4a/Xml.pm:61 8916#: lib/Locale/Po4a/Xml.pm:66 lib/Locale/Po4a/Xml.pm:76 8917#: lib/Locale/Po4a/Xml.pm:93 8918msgid "" 8919"The tags must be in the form <aaa>, but you can join some (<bbb><aaa>), if a " 8920"tag (<aaa>) should only be considered when it's within another tag (<bbb>)." 8921msgstr "" 8922 8923#. type: textblock 8924#: lib/Locale/Po4a/Xml.pm:58 8925msgid "" 8926"Please note a tag should be listed in only one of the B<break>, B<inline> " 8927"B<placeholder>, or B<customtag> setting string." 8928msgstr "" 8929 8930#. type: textblock 8931#: lib/Locale/Po4a/Xml.pm:60 8932msgid "" 8933"Space-separated list of tags which should be treated as inline. By default, " 8934"all tags break the sequence." 8935msgstr "" 8936 8937#. type: =item 8938#: lib/Locale/Po4a/Xml.pm:62 8939msgid "B<placeholder>" 8940msgstr "" 8941 8942#. type: textblock 8943#: lib/Locale/Po4a/Xml.pm:63 8944msgid "" 8945"Space-separated list of tags which should be treated as placeholders. " 8946"Placeholders do not break the sequence, but the content of placeholders is " 8947"translated separately." 8948msgstr "" 8949 8950#. type: textblock 8951#: lib/Locale/Po4a/Xml.pm:64 8952msgid "" 8953"The location of the placeholder in its block will be marked with a string " 8954"similar to:" 8955msgstr "" 8956 8957#. type: verbatim 8958#: lib/Locale/Po4a/Xml.pm:65 8959#, no-wrap 8960msgid "" 8961" <placeholder type=\\\"footnote\\\" id=\\\"0\\\"/>\n" 8962"\n" 8963msgstr "" 8964 8965#. type: =item 8966#: lib/Locale/Po4a/Xml.pm:67 8967msgid "B<break-pi>" 8968msgstr "" 8969 8970#. type: textblock 8971#: lib/Locale/Po4a/Xml.pm:68 8972msgid "" 8973"By default, Processing Instructions (i.e., C<<? ... ?>> tags) are handled as " 8974"inline tags. Pass this option if you want the PI to be handled as breaking " 8975"tag. Note that unprocessed PHP tags are handled as Processing Instructions " 8976"by the parser." 8977msgstr "" 8978 8979#. type: =item 8980#: lib/Locale/Po4a/Xml.pm:69 8981msgid "B<nodefault>" 8982msgstr "" 8983 8984#. type: textblock 8985#: lib/Locale/Po4a/Xml.pm:70 8986msgid "" 8987"Space separated list of tags that the module should not try to set by " 8988"default in any category." 8989msgstr "" 8990 8991#. type: textblock 8992#: lib/Locale/Po4a/Xml.pm:71 8993msgid "" 8994"If you have a tag which has its default setting by the subclass of this " 8995"module but you want to set alternative setting, you need to list that tag as " 8996"a part of the B<nodefault> setting string." 8997msgstr "" 8998 8999#. type: =item 9000#: lib/Locale/Po4a/Xml.pm:72 9001msgid "B<cpp>" 9002msgstr "" 9003 9004#. type: textblock 9005#: lib/Locale/Po4a/Xml.pm:73 9006msgid "" 9007"Support C preprocessor directives. When this option is set, po4a will " 9008"consider preprocessor directives as paragraph separators. This is important " 9009"if the XML file must be preprocessed because otherwise the directives may be " 9010"inserted in the middle of lines if po4a consider it belong to the current " 9011"paragraph, and they won't be recognized by the preprocessor. Note: the " 9012"preprocessor directives must only appear between tags (they must not break a " 9013"tag)." 9014msgstr "" 9015 9016#. type: =item 9017#: lib/Locale/Po4a/Xml.pm:74 9018msgid "B<translated>" 9019msgstr "" 9020 9021#. type: textblock 9022#: lib/Locale/Po4a/Xml.pm:75 9023msgid "Space-separated list of tags you want to translate." 9024msgstr "" 9025 9026#. type: textblock 9027#: lib/Locale/Po4a/Xml.pm:77 9028msgid "" 9029"You can also specify some tag options by putting some characters in front of " 9030"the tag hierarchy. This overrides the default behavior specified by the " 9031"global B<wrap> and B<defaulttranslateoption> option." 9032msgstr "" 9033 9034#. type: =item 9035#: lib/Locale/Po4a/Xml.pm:78 9036msgid "I<w>" 9037msgstr "" 9038 9039#. type: textblock 9040#: lib/Locale/Po4a/Xml.pm:79 9041msgid "Tags should be translated and content can be re-wrapped." 9042msgstr "" 9043 9044#. type: =item 9045#: lib/Locale/Po4a/Xml.pm:80 9046msgid "I<W>" 9047msgstr "" 9048 9049#. type: textblock 9050#: lib/Locale/Po4a/Xml.pm:81 9051msgid "Tags should be translated and content should not be re-wrapped." 9052msgstr "" 9053 9054#. type: =item 9055#: lib/Locale/Po4a/Xml.pm:82 9056msgid "I<i>" 9057msgstr "" 9058 9059#. type: textblock 9060#: lib/Locale/Po4a/Xml.pm:83 9061msgid "Tags should be translated inline." 9062msgstr "" 9063 9064#. type: =item 9065#: lib/Locale/Po4a/Xml.pm:84 9066msgid "I<p>" 9067msgstr "" 9068 9069#. type: textblock 9070#: lib/Locale/Po4a/Xml.pm:85 9071msgid "Tags should be translated as placeholders." 9072msgstr "" 9073 9074#. type: textblock 9075#: lib/Locale/Po4a/Xml.pm:86 9076msgid "" 9077"Internally, the XML parser only cares about these four options: I<w> I<W> " 9078"I<i> I<p>." 9079msgstr "" 9080 9081#. type: verbatim 9082#: lib/Locale/Po4a/Xml.pm:87 9083#, no-wrap 9084msgid "" 9085" * Tags listed in B<break> are set to I<w> or I<W> depending on the <wrap> option.\n" 9086" * Tags listed in B<inline> are set to I<i>.\n" 9087" * Tags listed in B<placeholder> are set to I<p>.\n" 9088" * Tags listed in B<untranslated> are without any of these options set.\n" 9089"\n" 9090msgstr "" 9091 9092#. type: textblock 9093#: lib/Locale/Po4a/Xml.pm:88 9094msgid "" 9095"You can verify actual internal parameter behavior by invoking B<po4a> with " 9096"B<--debug> option." 9097msgstr "" 9098 9099#. type: textblock 9100#: lib/Locale/Po4a/Xml.pm:90 9101msgid "" 9102"Please note a tag should be listed in either B<translated> or " 9103"B<untranslated> setting string." 9104msgstr "" 9105 9106#. type: textblock 9107#: lib/Locale/Po4a/Xml.pm:92 9108msgid "Space-separated list of tags you do not want to translate." 9109msgstr "" 9110 9111#. type: textblock 9112#: lib/Locale/Po4a/Xml.pm:94 9113msgid "" 9114"Please note a translatable inline tag in an untranslated tag is treated as a " 9115"translatable breaking tag, I<i> setting is dropped and I<w> or I<W> is set " 9116"depending on the <wrap> option." 9117msgstr "" 9118 9119#. type: =item 9120#: lib/Locale/Po4a/Xml.pm:95 9121msgid "B<defaulttranslateoption>" 9122msgstr "" 9123 9124#. type: textblock 9125#: lib/Locale/Po4a/Xml.pm:96 9126msgid "" 9127"The default categories for tags that are not in any of the translated, " 9128"untranslated, break, inline, or placeholder." 9129msgstr "" 9130 9131#. type: textblock 9132#: lib/Locale/Po4a/Xml.pm:97 9133msgid "" 9134"This is a set of letters as defined in B<translated> and this setting is " 9135"only valid for translatable tags." 9136msgstr "" 9137 9138#. type: =head1 9139#: lib/Locale/Po4a/Xml.pm:98 9140msgid "WRITING DERIVATIVE MODULES" 9141msgstr "" 9142 9143#. type: =head2 9144#: lib/Locale/Po4a/Xml.pm:99 9145msgid "DEFINE WHAT TAGS AND ATTRIBUTES TO TRANSLATE" 9146msgstr "" 9147 9148#. type: textblock 9149#: lib/Locale/Po4a/Xml.pm:100 9150msgid "" 9151"The simplest customization is to define which tags and attributes you want " 9152"the parser to translate. This should be done in the initialize function. " 9153"First you should call the main initialize, to get the command-line options, " 9154"and then, append your custom definitions to the options hash. If you want " 9155"to treat some new options from command line, you should define them before " 9156"calling the main initialize:" 9157msgstr "" 9158 9159#. type: verbatim 9160#: lib/Locale/Po4a/Xml.pm:101 9161#, no-wrap 9162msgid "" 9163" $self->{options}{'new_option'}='';\n" 9164" $self->SUPER::initialize(%options);\n" 9165" $self->{options}{'_default_translated'}.=' <p> <head><title>';\n" 9166" $self->{options}{'attributes'}.=' <p>lang id';\n" 9167" $self->{options}{'_default_inline'}.=' <br>';\n" 9168" $self->treat_options;\n" 9169"\n" 9170msgstr "" 9171 9172#. type: textblock 9173#: lib/Locale/Po4a/Xml.pm:102 9174msgid "" 9175"You should use the B<_default_inline>, B<_default_break>, " 9176"B<_default_placeholder>, B<_default_translated>, B<_default_untranslated>, " 9177"and B<_default_attributes> options in derivative modules. This allow users " 9178"to override the default behavior defined in your module with command line " 9179"options." 9180msgstr "" 9181 9182#. type: textblock 9183#: lib/Locale/Po4a/Xml.pm:104 9184msgid "" 9185"If you don't like the default behavior of this xml module and its derivative " 9186"modules, you can provide command line options to change their behavior." 9187msgstr "" 9188 9189#. type: textblock 9190#: lib/Locale/Po4a/Xml.pm:105 9191msgid "See L<Locale::Po4a::Docbook(3pm)|Locale::Po4a::Docbook>," 9192msgstr "" 9193 9194#. type: =head2 9195#: lib/Locale/Po4a/Xml.pm:106 9196msgid "OVERRIDING THE found_string FUNCTION" 9197msgstr "" 9198 9199#. type: textblock 9200#: lib/Locale/Po4a/Xml.pm:107 9201msgid "" 9202"Another simple step is to override the function \"found_string\", which " 9203"receives the extracted strings from the parser, in order to translate them. " 9204"There you can control which strings you want to translate, and perform " 9205"transformations to them before or after the translation itself." 9206msgstr "" 9207 9208#. type: textblock 9209#: lib/Locale/Po4a/Xml.pm:108 9210msgid "" 9211"It receives the extracted text, the reference on where it was, and a hash " 9212"that contains extra information to control what strings to translate, how to " 9213"translate them and to generate the comment." 9214msgstr "" 9215 9216#. type: textblock 9217#: lib/Locale/Po4a/Xml.pm:109 9218msgid "" 9219"The content of these options depends on the kind of string it is (specified " 9220"in an entry of this hash):" 9221msgstr "" 9222 9223#. type: =item 9224#: lib/Locale/Po4a/Xml.pm:110 9225msgid "type=\"tag\"" 9226msgstr "" 9227 9228#. type: textblock 9229#: lib/Locale/Po4a/Xml.pm:111 9230msgid "" 9231"The found string is the content of a translatable tag. The entry " 9232"\"tag_options\" contains the option characters in front of the tag hierarchy " 9233"in the module \"tags\" option." 9234msgstr "" 9235 9236#. type: =item 9237#: lib/Locale/Po4a/Xml.pm:112 9238msgid "type=\"attribute\"" 9239msgstr "" 9240 9241#. type: textblock 9242#: lib/Locale/Po4a/Xml.pm:113 9243msgid "" 9244"Means that the found string is the value of a translatable attribute. The " 9245"entry \"attribute\" has the name of the attribute." 9246msgstr "" 9247 9248#. type: textblock 9249#: lib/Locale/Po4a/Xml.pm:114 9250msgid "" 9251"It must return the text that will replace the original in the translated " 9252"document. Here's a basic example of this function:" 9253msgstr "" 9254 9255#. type: verbatim 9256#: lib/Locale/Po4a/Xml.pm:115 9257#, no-wrap 9258msgid "" 9259" sub found_string {\n" 9260" my ($self,$text,$ref,$options)=@_;\n" 9261" $text = $self->translate($text,$ref,\"type \".$options->{'type'},\n" 9262" 'wrap'=>$self->{options}{'wrap'});\n" 9263" return $text;\n" 9264" }\n" 9265"\n" 9266msgstr "" 9267 9268#. type: textblock 9269#: lib/Locale/Po4a/Xml.pm:116 9270msgid "" 9271"There's another simple example in the new Dia module, which only filters " 9272"some strings." 9273msgstr "" 9274 9275#. type: =head2 9276#: lib/Locale/Po4a/Xml.pm:117 9277msgid "MODIFYING TAG TYPES (TODO)" 9278msgstr "" 9279 9280#. type: textblock 9281#: lib/Locale/Po4a/Xml.pm:118 9282msgid "" 9283"This is a more complex one, but it enables a (almost) total customization. " 9284"It's based on a list of hashes, each one defining a tag type's behavior. The " 9285"list should be sorted so that the most general tags are after the most " 9286"concrete ones (sorted first by the beginning and then by the end keys). To " 9287"define a tag type you'll have to make a hash with the following keys:" 9288msgstr "" 9289 9290#. type: =item 9291#: lib/Locale/Po4a/Xml.pm:119 9292msgid "B<beginning>" 9293msgstr "" 9294 9295#. type: textblock 9296#: lib/Locale/Po4a/Xml.pm:120 9297msgid "Specifies the beginning of the tag, after the \"E<lt>\"." 9298msgstr "" 9299 9300#. type: =item 9301#: lib/Locale/Po4a/Xml.pm:121 9302msgid "B<end>" 9303msgstr "" 9304 9305#. type: textblock 9306#: lib/Locale/Po4a/Xml.pm:122 9307msgid "Specifies the end of the tag, before the \"E<gt>\"." 9308msgstr "" 9309 9310#. type: =item 9311#: lib/Locale/Po4a/Xml.pm:123 9312msgid "B<breaking>" 9313msgstr "" 9314 9315#. type: textblock 9316#: lib/Locale/Po4a/Xml.pm:124 9317msgid "" 9318"It says if this is a breaking tag class. A non-breaking (inline) tag is one " 9319"that can be taken as part of the content of another tag. It can take the " 9320"values false (0), true (1) or undefined. If you leave this undefined, " 9321"you'll have to define the f_breaking function that will say whether a " 9322"concrete tag of this class is a breaking tag or not." 9323msgstr "" 9324 9325#. type: =item 9326#: lib/Locale/Po4a/Xml.pm:125 9327msgid "B<f_breaking>" 9328msgstr "" 9329 9330#. type: textblock 9331#: lib/Locale/Po4a/Xml.pm:126 9332msgid "" 9333"It's a function that will tell if the next tag is a breaking one or not. It " 9334"should be defined if the B<breaking> option is not." 9335msgstr "" 9336 9337#. type: =item 9338#: lib/Locale/Po4a/Xml.pm:127 9339msgid "B<f_extract>" 9340msgstr "" 9341 9342#. type: textblock 9343#: lib/Locale/Po4a/Xml.pm:128 9344msgid "" 9345"If you leave this key undefined, the generic extraction function will have " 9346"to extract the tag itself. It's useful for tags that can have other tags or " 9347"special structures in them, so that the main parser doesn't get mad. This " 9348"function receives a boolean that says if the tag should be removed from the " 9349"input stream or not." 9350msgstr "" 9351 9352#. type: =item 9353#: lib/Locale/Po4a/Xml.pm:129 9354msgid "B<f_translate>" 9355msgstr "" 9356 9357#. type: textblock 9358#: lib/Locale/Po4a/Xml.pm:130 9359msgid "" 9360"This function receives the tag (in the get_string_until() format) and " 9361"returns the translated tag (translated attributes or all needed " 9362"transformations) as a single string." 9363msgstr "" 9364 9365#. type: =head2 9366#: lib/Locale/Po4a/Xml.pm:132 9367msgid "WORKING WITH TAGS" 9368msgstr "" 9369 9370#. type: =item 9371#: lib/Locale/Po4a/Xml.pm:133 9372msgid "get_path()" 9373msgstr "" 9374 9375#. type: textblock 9376#: lib/Locale/Po4a/Xml.pm:134 9377msgid "" 9378"This function returns the path to the current tag from the document's root, " 9379"in the form E<lt>htmlE<gt>E<lt>bodyE<gt>E<lt>pE<gt>." 9380msgstr "" 9381 9382#. type: textblock 9383#: lib/Locale/Po4a/Xml.pm:135 9384msgid "" 9385"An additional array of tags (without brackets) can be passed as argument. " 9386"These path elements are added to the end of the current path." 9387msgstr "" 9388 9389#. type: =item 9390#: lib/Locale/Po4a/Xml.pm:136 9391msgid "tag_type()" 9392msgstr "" 9393 9394#. type: textblock 9395#: lib/Locale/Po4a/Xml.pm:137 9396msgid "" 9397"This function returns the index from the tag_types list that fits to the " 9398"next tag in the input stream, or -1 if it's at the end of the input file." 9399msgstr "" 9400 9401#. type: textblock 9402#: lib/Locale/Po4a/Xml.pm:138 9403msgid "" 9404"Here, the tag has structure started by E<lt> and end by E<gt> and it can " 9405"contain multiple lines." 9406msgstr "" 9407 9408#. type: textblock 9409#: lib/Locale/Po4a/Xml.pm:139 lib/Locale/Po4a/Xml.pm:142 9410#: lib/Locale/Po4a/Xml.pm:149 lib/Locale/Po4a/Xml.pm:158 9411msgid "" 9412"This works on the array C<< @{$self->{TT}{doc_in}} >> holding input document " 9413"data and reference indirectly via C<< $self->shiftline() >> and C<< $self-" 9414">unshiftline($$) >>." 9415msgstr "" 9416 9417#. type: =item 9418#: lib/Locale/Po4a/Xml.pm:140 9419msgid "extract_tag($$)" 9420msgstr "" 9421 9422#. type: textblock 9423#: lib/Locale/Po4a/Xml.pm:141 9424msgid "" 9425"This function returns the next tag from the input stream without the " 9426"beginning and end, in an array form, to maintain the references from the " 9427"input file. It has two parameters: the type of the tag (as returned by " 9428"tag_type) and a boolean, that indicates if it should be removed from the " 9429"input stream." 9430msgstr "" 9431 9432#. type: =item 9433#: lib/Locale/Po4a/Xml.pm:143 9434msgid "get_tag_name(@)" 9435msgstr "" 9436 9437#. type: textblock 9438#: lib/Locale/Po4a/Xml.pm:144 9439msgid "" 9440"This function returns the name of the tag passed as an argument, in the " 9441"array form returned by extract_tag." 9442msgstr "" 9443 9444#. type: =item 9445#: lib/Locale/Po4a/Xml.pm:145 9446msgid "breaking_tag()" 9447msgstr "" 9448 9449#. type: textblock 9450#: lib/Locale/Po4a/Xml.pm:146 9451msgid "" 9452"This function returns a boolean that says if the next tag in the input " 9453"stream is a breaking tag or not (inline tag). It leaves the input stream " 9454"intact." 9455msgstr "" 9456 9457#. type: =item 9458#: lib/Locale/Po4a/Xml.pm:147 9459msgid "treat_tag()" 9460msgstr "" 9461 9462#. type: textblock 9463#: lib/Locale/Po4a/Xml.pm:148 9464msgid "" 9465"This function translates the next tag from the input stream. Using each tag " 9466"type's custom translation functions." 9467msgstr "" 9468 9469#. type: =item 9470#: lib/Locale/Po4a/Xml.pm:150 9471msgid "tag_in_list($@)" 9472msgstr "" 9473 9474#. type: textblock 9475#: lib/Locale/Po4a/Xml.pm:151 9476msgid "" 9477"This function returns a string value that says if the first argument (a tag " 9478"hierarchy) matches any of the tags from the second argument (a list of tags " 9479"or tag hierarchies). If it doesn't match, it returns 0. Else, it returns the " 9480"matched tag's options (the characters in front of the tag) or 1 (if that tag " 9481"doesn't have options)." 9482msgstr "" 9483 9484#. type: =head2 9485#: lib/Locale/Po4a/Xml.pm:152 9486msgid "WORKING WITH ATTRIBUTES" 9487msgstr "" 9488 9489#. type: =item 9490#: lib/Locale/Po4a/Xml.pm:153 9491msgid "treat_attributes(@)" 9492msgstr "" 9493 9494#. type: textblock 9495#: lib/Locale/Po4a/Xml.pm:154 9496msgid "" 9497"This function handles the translation of the tags' attributes. It receives " 9498"the tag without the beginning / end marks, and then it finds the attributes, " 9499"and it translates the translatable ones (specified by the module option " 9500"\"attributes\"). This returns a plain string with the translated tag." 9501msgstr "" 9502 9503#. type: =head2 9504#: lib/Locale/Po4a/Xml.pm:155 9505msgid "WORKING WITH TAGGED CONTENTS" 9506msgstr "" 9507 9508#. type: =item 9509#: lib/Locale/Po4a/Xml.pm:156 9510msgid "treat_content()" 9511msgstr "" 9512 9513#. type: textblock 9514#: lib/Locale/Po4a/Xml.pm:157 9515msgid "" 9516"This function gets the text until the next breaking tag (not inline) from " 9517"the input stream. Translate it using each tag type's custom translation " 9518"functions." 9519msgstr "" 9520 9521#. type: =head2 9522#: lib/Locale/Po4a/Xml.pm:159 9523msgid "WORKING WITH THE MODULE OPTIONS" 9524msgstr "" 9525 9526#. type: =item 9527#: lib/Locale/Po4a/Xml.pm:160 9528msgid "treat_options()" 9529msgstr "" 9530 9531#. type: textblock 9532#: lib/Locale/Po4a/Xml.pm:161 9533msgid "" 9534"This function fills the internal structures that contain the tags, " 9535"attributes and inline data with the options of the module (specified in the " 9536"command-line or in the initialize function)." 9537msgstr "" 9538 9539#. type: =head2 9540#: lib/Locale/Po4a/Xml.pm:162 9541msgid "GETTING TEXT FROM THE INPUT DOCUMENT" 9542msgstr "" 9543 9544#. type: =item 9545#: lib/Locale/Po4a/Xml.pm:163 9546msgid "get_string_until($%)" 9547msgstr "" 9548 9549#. type: textblock 9550#: lib/Locale/Po4a/Xml.pm:164 9551msgid "" 9552"This function returns an array with the lines (and references) from the " 9553"input document until it finds the first argument. The second argument is an " 9554"options hash. Value 0 means disabled (the default) and 1, enabled." 9555msgstr "" 9556 9557#. type: textblock 9558#: lib/Locale/Po4a/Xml.pm:165 9559msgid "The valid options are:" 9560msgstr "" 9561 9562#. type: =item 9563#: lib/Locale/Po4a/Xml.pm:166 9564msgid "B<include>" 9565msgstr "" 9566 9567#. type: textblock 9568#: lib/Locale/Po4a/Xml.pm:167 9569msgid "This makes the returned array to contain the searched text" 9570msgstr "" 9571 9572#. type: =item 9573#: lib/Locale/Po4a/Xml.pm:168 9574msgid "B<remove>" 9575msgstr "" 9576 9577#. type: textblock 9578#: lib/Locale/Po4a/Xml.pm:169 9579msgid "This removes the returned stream from the input" 9580msgstr "" 9581 9582#. type: =item 9583#: lib/Locale/Po4a/Xml.pm:170 9584msgid "B<unquoted>" 9585msgstr "" 9586 9587#. type: textblock 9588#: lib/Locale/Po4a/Xml.pm:171 9589msgid "This ensures that the searched text is outside any quotes" 9590msgstr "" 9591 9592#. type: =item 9593#: lib/Locale/Po4a/Xml.pm:172 9594msgid "B<regex>" 9595msgstr "" 9596 9597#. type: textblock 9598#: lib/Locale/Po4a/Xml.pm:173 9599msgid "" 9600"This denotes that the first argument is a regular expression rather than an " 9601"plain string" 9602msgstr "" 9603 9604#. type: =item 9605#: lib/Locale/Po4a/Xml.pm:174 9606msgid "skip_spaces(\\@)" 9607msgstr "" 9608 9609#. type: textblock 9610#: lib/Locale/Po4a/Xml.pm:175 9611msgid "" 9612"This function receives as argument the reference to a paragraph (in the " 9613"format returned by get_string_until), skips his heading spaces and returns " 9614"them as a simple string." 9615msgstr "" 9616 9617#. type: =item 9618#: lib/Locale/Po4a/Xml.pm:176 9619msgid "join_lines(@)" 9620msgstr "" 9621 9622#. type: textblock 9623#: lib/Locale/Po4a/Xml.pm:177 9624msgid "" 9625"This function returns a simple string with the text from the argument array " 9626"(discarding the references)." 9627msgstr "" 9628 9629#. type: textblock 9630#: lib/Locale/Po4a/Xml.pm:179 9631msgid "This module can translate tags and attributes." 9632msgstr "" 9633 9634#. type: textblock 9635#: lib/Locale/Po4a/Xml.pm:181 9636msgid "DOCTYPE (ENTITIES)" 9637msgstr "" 9638 9639#. type: textblock 9640#: lib/Locale/Po4a/Xml.pm:182 9641msgid "" 9642"There is a minimal support for the translation of entities. They are " 9643"translated as a whole, and tags are not taken into account. Multilines " 9644"entities are not supported and entities are always rewrapped during the " 9645"translation." 9646msgstr "" 9647 9648#. type: textblock 9649#: lib/Locale/Po4a/Xml.pm:183 9650msgid "" 9651"MODIFY TAG TYPES FROM INHERITED MODULES (move the tag_types structure inside " 9652"the $self hash?)" 9653msgstr "" 9654 9655#. type: textblock 9656#: lib/Locale/Po4a/Xml.pm:185 9657msgid "" 9658"L<Locale::Po4a::TransTractor(3pm)|Locale::Po4a::TransTractor>, L<po4a(7)|" 9659"po4a.7>" 9660msgstr "" 9661 9662#. type: verbatim 9663#: lib/Locale/Po4a/Xml.pm:187 9664#, no-wrap 9665msgid "" 9666" Jordi Vilalta <jvprat@gmail.com>\n" 9667" Nicolas François <nicolas.francois@centraliens.net>\n" 9668"\n" 9669msgstr "" 9670 9671#. type: verbatim 9672#: lib/Locale/Po4a/Xml.pm:189 9673#, no-wrap 9674msgid "" 9675" Copyright © 2004 Jordi Vilalta <jvprat@gmail.com>\n" 9676" Copyright © 2008-2009 Nicolas François <nicolas.francois@centraliens.net>\n" 9677"\n" 9678msgstr "" 9679