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>&Aacute;</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