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