# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2007-08-17 14:03+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: ENCODING" # type: SH #: doc/po4a.7.pod:1 lib/Locale/Po4a/BibTeX.pm:24 lib/Locale/Po4a/Chooser.pm:85 lib/Locale/Po4a/Common.pm:11 lib/Locale/Po4a/Dia.pm:29 lib/Locale/Po4a/Docbook.pm:29 lib/Locale/Po4a/Guide.pm:29 lib/Locale/Po4a/Ini.pm:86 lib/Locale/Po4a/KernelHelp.pm:137 lib/Locale/Po4a/LaTeX.pm:24 lib/Locale/Po4a/Man.pm:3 lib/Locale/Po4a/Po.pm:11 lib/Locale/Po4a/Pod.pm:172 lib/Locale/Po4a/Sgml.pm:32 lib/Locale/Po4a/TeX.pm:25 lib/Locale/Po4a/Texinfo.pm:24 lib/Locale/Po4a/Text.pm:24 lib/Locale/Po4a/TransTractor.pm:32 lib/Locale/Po4a/Xhtml.pm:29 lib/Locale/Po4a/Xml.pm:30 po4a:13 po4a-gettextize:13 po4a-normalize:13 po4a-translate:13 po4a-updatepo:13 scripts/msguntypot:18 scripts/po4aman-display-po.1:2 #, no-wrap msgid "NAME" msgstr "" # type: textblock #: doc/po4a.7.pod:3 msgid "po4a - framework to translate documentation and other materials" msgstr "" # type: =head1 #: doc/po4a.7.pod:5 msgid "Introduction" msgstr "" # type: textblock #: doc/po4a.7.pod:7 lib/Locale/Po4a/BibTeX.pm:30 lib/Locale/Po4a/Dia.pm:35 lib/Locale/Po4a/Docbook.pm:35 lib/Locale/Po4a/Guide.pm:35 lib/Locale/Po4a/LaTeX.pm:30 lib/Locale/Po4a/Man.pm:9 lib/Locale/Po4a/Sgml.pm:38 lib/Locale/Po4a/TeX.pm:31 lib/Locale/Po4a/Texinfo.pm:30 lib/Locale/Po4a/Text.pm:30 lib/Locale/Po4a/TransTractor.pm:38 lib/Locale/Po4a/Xml.pm:36 po4a:23 po4a-gettextize:25 po4a-normalize:23 po4a-translate:25 po4a-updatepo:25 msgid "" "The po4a (po for anything) project goal is to ease translations (and more " "interestingly, the maintenance of translations) using gettext tools on areas " "where they were not expected like documentation." msgstr "" # type: =head1 #: doc/po4a.7.pod:18 msgid "Table of content" msgstr "" # type: textblock #: doc/po4a.7.pod:20 msgid "This document is organized as follow:" msgstr "" # type: =item #: doc/po4a.7.pod:24 msgid "1 Why should I use po4a? What is it good for?" msgstr "" # type: textblock #: doc/po4a.7.pod:26 msgid "" "This introducing chapter explains the motivation of the project and its " "philosophy. You should read it first if you are in the process of evaluating " "po4a for your own translations." msgstr "" # type: =item #: doc/po4a.7.pod:30 msgid "2 How to use po4a?" msgstr "" # type: textblock #: doc/po4a.7.pod:32 doc/po4a.7.pod:227 msgid "" "This chapter is a sort of reference manual, trying to answer the users' " "questions and to give you a better understanding of the whole process. This " "introduces how to do things with po4a and serve as an introduction to the " "documentation of the specific tools." msgstr "" # type: =head2 #: doc/po4a.7.pod:39 doc/po4a.7.pod:289 msgid "HOWTO begin a new translation?" msgstr "" # type: =head2 #: doc/po4a.7.pod:41 doc/po4a.7.pod:331 msgid "HOWTO change the translation back to a documentation file?" msgstr "" # type: =head2 #: doc/po4a.7.pod:43 doc/po4a.7.pod:346 msgid "HOWTO update a po4a translation?" msgstr "" # type: =head2 #: doc/po4a.7.pod:45 doc/po4a.7.pod:369 msgid "HOWTO convert a pre-existing translation to po4a?" msgstr "" # type: =head2 #: doc/po4a.7.pod:47 doc/po4a.7.pod:531 msgid "HOWTO add extra text to translations (like translator's name)?" msgstr "" # type: =head2 #: doc/po4a.7.pod:49 doc/po4a.7.pod:722 msgid "HOWTO do all this in one program invocation?" msgstr "" # type: verbatim #: doc/po4a.7.pod:53 #, no-wrap msgid " \n" msgstr "" # type: =item #: doc/po4a.7.pod:55 msgid "3 How does it work?" msgstr "" # type: textblock #: doc/po4a.7.pod:57 doc/po4a.7.pod:744 msgid "" "This chapter gives you a brief overview of the po4a internals, so that you " "may feel more confident to help us maintaining and improving it. It may also " "help you understanding why it does not do what you expected, and how to " "solve your problems." msgstr "" # type: =item #: doc/po4a.7.pod:62 msgid "4 FAQ" msgstr "" # type: textblock #: doc/po4a.7.pod:64 doc/po4a.7.pod:870 msgid "" "This chapter groups the Frequently Asked Questions. In fact, most of the " "questions for now could be formulated that way: \"Why is it designed this " "way, and not that one?\" If you think po4a isn't the right answer to " "documentation translation, you should consider reading this section. If it " "does not answer your question, please contact us on the " "Epo4a-devel@lists.alioth.debian.orgE mailing list. We love feedback." msgstr "" # type: =item #: doc/po4a.7.pod:71 msgid "5 Specific notes about modules" msgstr "" # type: textblock #: doc/po4a.7.pod:73 msgid "" "This chapter presents the specificities of each module from the translator " "and original author's point of view. Read this to learn the syntax you will " "encounter when translating stuff in this module, or the rules you should " "follow in your original document to make translators' life easier." msgstr "" # type: textblock #: doc/po4a.7.pod:78 msgid "" "Actually, this section is not really part of this document. Instead, it is " "placed in each module's documentation. This helps ensuring that the " "information is up to date by keeping the documentation and the code " "together." msgstr "" # type: =item #: doc/po4a.7.pod:83 msgid "6 Known bugs and feature requests" msgstr "" # type: textblock #: doc/po4a.7.pod:85 msgid "Quite a few already :(" msgstr "" # type: =head1 #: doc/po4a.7.pod:89 msgid "Why should I use po4a? What it is good for?" msgstr "" # type: textblock #: doc/po4a.7.pod:91 msgid "" "I like the idea of open-source software, making it possible for everybody to " "access to software and to their source code. But being French, I'm well " "aware that the licensing is not the only restriction to the openness of " "software: non-translated free software is useless for non-English speakers, " "and we still have some work to make it available to really everybody out " "there." msgstr "" # type: textblock #: doc/po4a.7.pod:98 msgid "" "The perception of this situation by the open-source actors did dramatically " "improve recently. We, as translators, won the first battle and convinced " "everybody of the translations' importance. But unfortunately, it was the " "easy part. Now, we have to do the job and actually translate all this stuff." msgstr "" # type: textblock #: doc/po4a.7.pod:103 msgid "" "Actually, open-source software themselves benefit of a rather decent level " "of translation, thanks to the wonderful gettext tool suite. It is able to " "extract the strings to translate from the program, present a uniform format " "to translators, and then use the result of their works at run time to " "display translated messages to the user." msgstr "" # type: textblock #: doc/po4a.7.pod:109 msgid "" "But the situation is rather different when it comes to documentation. Too " "often, the translated documentation is not visible enough (not distributed " "as a part of the program), only partial, or not up to date. This last " "situation is by far the worst possible one. Outdated translation can reveal " "worse than no translation at all to the users by describing old program " "behavior which are not in use anymore." msgstr "" # type: =head2 #: doc/po4a.7.pod:116 msgid "The problem to solve" msgstr "" # type: textblock #: doc/po4a.7.pod:118 msgid "" "Translating documentation is not very difficult in itself. Texts are far " "longer than the messages of the program and thus take longer to be achieved, " "but no technical skill is really needed to do so. The difficult part comes " "when you have to maintain your work. Detecting which parts did change and " "need to be updated is very difficult, error-prone and highly unpleasant. I " "guess that this explains why so much translated documentation out there are " "outdated." msgstr "" # type: =head2 #: doc/po4a.7.pod:126 msgid "The po4a answers" msgstr "" # type: textblock #: doc/po4a.7.pod:128 msgid "" "So, the whole point of po4a is to make the documentation translation " "I. The idea is to reuse the gettext methodology to this new " "field. Like in gettext, texts are extracted from their original locations in " "order to be presented in a uniform format to the translators. The classical " "gettext tools help them updating their works when a new release of the " "original comes out. But to the difference of the classical gettext model, " "the translations are then re-injected in the structure of the original " "document so that they can be processed and distributed just like the English " "version." msgstr "" # type: textblock #: doc/po4a.7.pod:138 msgid "" "Thanks to this, discovering which parts of the document were changed and " "need an update becomes very easy. Another good point is that the tools will " "make almost all the work when the structure of the original document gets " "fundamentally reorganized and when some chapters are moved around, merged or " "split. By extracting the text to translate from the document structure, it " "also keeps you away from the text formatting complexity and reduces your " "chances to get a broken document (even if it does not completely prevent you " "to do so)." msgstr "" # type: textblock #: doc/po4a.7.pod:146 msgid "" "Please also see the L below in this document for a more complete list " "of the advantages and disadvantages of this approach." msgstr "" # type: =head2 #: doc/po4a.7.pod:149 msgid "Supported formats" msgstr "" # type: textblock #: doc/po4a.7.pod:151 msgid "" "Currently, this approach has been successfully implemented to several kinds " "of text formatting formats:" msgstr "" # type: =head3 #: doc/po4a.7.pod:154 msgid "nroff" msgstr "" # type: textblock #: doc/po4a.7.pod:156 msgid "" "The good old manual pages' format, used by so much programs out there. The " "po4a support is very welcome here since this format is somewhat difficult to " "use and not really friendly to the newbies. The " "L module also supports the mdoc format, used by " "the BSD man pages (they are also quite common on Linux)." msgstr "" # type: =head3 #: doc/po4a.7.pod:162 msgid "pod" msgstr "" # type: textblock #: doc/po4a.7.pod:164 msgid "" "This is the Perl Online Documentation format. The language and extensions " "themselves are documented that way, as well as most of the existing Perl " "scripts. It makes easy to keep the documentation close to the actual code by " "embedding them both in the same file. It makes programmer life easier, but " "unfortunately, not the translator one." msgstr "" # type: =head3 #: doc/po4a.7.pod:170 msgid "sgml" msgstr "" # type: textblock #: doc/po4a.7.pod:172 msgid "" "Even if somewhat superseded by XML nowadays, this format is still used " "rather often for documents which are more than a few screens long. It allows " "you to make complete books. Updating the translation of so long documents " "can reveal to be a real nightmare. diff reveals often useless when the " "original text was re-indented after update. Fortunately, po4a can help you " "in that process." msgstr "" # type: textblock #: doc/po4a.7.pod:179 msgid "" "Currently, only the debiandoc and docbook DTD are supported, but adding " "support to a new one is really easy. It is even possible to use po4a on an " "unknown sgml dtd without changing the code by providing the needed " "information on the command line. See L for details." msgstr "" # type: =head3 #: doc/po4a.7.pod:184 msgid "TeX / LaTeX" msgstr "" # type: textblock #: doc/po4a.7.pod:186 msgid "" "The LaTeX format is a major documentation format used in the Free Software " "world and for publications. The L module " "was tested with the Python documentation, a book and some presentations." msgstr "" # type: =head3 #: doc/po4a.7.pod:191 msgid "texinfo" msgstr "" # type: textblock #: doc/po4a.7.pod:193 msgid "" "All the GNU documentation is written in this format (that's even one of the " "requirement to become an official GNU project). The support for " "L in po4a is still at the beginning. " "Please report bugs and feature requests." msgstr "" # type: =head3 #: doc/po4a.7.pod:198 msgid "xml" msgstr "" # type: textblock #: doc/po4a.7.pod:200 msgid "The XML format is a base format for many documentation formats." msgstr "" # type: textblock #: doc/po4a.7.pod:202 msgid "" "Currently, the docbook DTD is supported by po4a. See " "L for details." msgstr "" # type: =head3 #: doc/po4a.7.pod:205 msgid "others" msgstr "" # type: textblock #: doc/po4a.7.pod:207 msgid "" "Po4a can also handle some more rare or specialized formats, such as the " "documentation of compilation options for the 2.4.x kernels or the diagrams " "produced by the dia tool. Adding a new one is often very easy and the main " "task is to come up with a parser of your target format. See " "L for more information about this." msgstr "" # type: =head2 #: doc/po4a.7.pod:213 msgid "Unsupported formats" msgstr "" # type: textblock #: doc/po4a.7.pod:215 msgid "Unfortunately, po4a still lacks support for several documentation formats." msgstr "" # type: textblock #: doc/po4a.7.pod:217 msgid "" "There is a whole bunch of other formats we would like to support in po4a, " "and not only documentation ones. Indeed, we aim at plugging all \"market " "holes\" left by the classical gettext tools. It encompass package " "descriptions (deb and rpm), package installation scripts questions, package " "changelogs, and all specialized file formats used by the programs such as " "game scenarios or wine resource files." msgstr "" # type: =head1 #: doc/po4a.7.pod:225 msgid "How to use po4a?" msgstr "" # type: =head2 #: doc/po4a.7.pod:232 msgid "Graphical overview" msgstr "" # type: textblock #: doc/po4a.7.pod:234 msgid "" "The following schema gives an overview of the process of translating " "documentation using po4a. Do not be afraid by its apparent complexity, it " "comes from the fact that the I process is represented here. Once you " "converted your project to po4a, only the right part of the graphic is " "relevant. Note that sgml is taken as example here, but the same remains true " "for all modules. Each part of the picture will be detailed in the next " "sections." msgstr "" # type: verbatim #: doc/po4a.7.pod:242 #, no-wrap msgid "" " fr.sgml original.sgml ---->--------+------>----------->-------+\n" " | | | |\n" " V V { update of original } |\n" " | | | |\n" " +--<---<--+ V |\n" " | | original.new.sgml----->------->----+\n" " V V | |\n" " [po4a-gettextize] +--->---->---+ |\n" " | | | V |\n" " | | | [po4a-updatepo] |\n" " | V ^ | V\n" " V original.pot | V |\n" " | | | fr.po |\n" " | | | (fuzzy) |\n" " | { translation } | | |\n" " | | ^ V V\n" " | | | {manual editing} |\n" " V V | | |\n" " | | | V V\n" " | | +--<--- fr.po addendum original.sgml\n" " +---->----+---->------->---> (up-to-date) (optional) (up-to-date) \n" " | | |\n" " v v v\n" " +------>-----+------<------+\n" " |\n" " v\n" " [po4a-translate]\n" " |\n" " V\n" " fr.sgml\n" " (up-to-date)\n" "\n" msgstr "" # type: textblock #: doc/po4a.7.pod:275 msgid "" "On the left part, the conversion of a translation not using po4a to this " "system is shown. On the top of the right part, the action of the original " "author is depicted (updating the documentation). The middle of the right " "part is where the automatic actions of po4a are depicted. The new material " "are extracted, and compared against the exiting translation. Parts which " "didn't change are found, and previous translation is used. Parts which where " "partially modified are also connected to the previous translation, but with " "a specific marker indicating that the translation must be updated. The " "bottom of the figure shows how a formatted document is built." msgstr "" # type: textblock #: doc/po4a.7.pod:285 msgid "" "Actually, as a translator, the only manual operation you have to do is the " "part marked {manual editing}. Yeah, I'm sorry, but po4a helps you " "translate. It does not translate anything for you..." msgstr "" # type: textblock #: doc/po4a.7.pod:291 msgid "" "This section presents the needed steps required to begin a new translation " "with po4a. The refinements involved in converting an existing project to " "this system are detailed in the relevant section." msgstr "" # type: textblock #: doc/po4a.7.pod:295 msgid "To begin a new translation using po4a, you have to do the following steps:" msgstr "" # type: =item #: doc/po4a.7.pod:299 doc/po4a.7.pod:312 doc/po4a.7.pod:440 doc/po4a.7.pod:447 doc/po4a.7.pod:455 doc/po4a.7.pod:461 doc/po4a.7.pod:469 doc/po4a.7.pod:482 doc/po4a.7.pod:490 lib/Locale/Po4a/TransTractor.pm:50 lib/Locale/Po4a/TransTractor.pm:54 lib/Locale/Po4a/TransTractor.pm:64 lib/Locale/Po4a/TransTractor.pm:69 lib/Locale/Po4a/TransTractor.pm:745 lib/Locale/Po4a/TransTractor.pm:749 lib/Locale/Po4a/TransTractor.pm:753 lib/Locale/Po4a/TransTractor.pm:789 lib/Locale/Po4a/TransTractor.pm:793 lib/Locale/Po4a/TransTractor.pm:798 lib/Locale/Po4a/TransTractor.pm:1062 lib/Locale/Po4a/TransTractor.pm:1066 lib/Locale/Po4a/TransTractor.pm:1070 msgid "-" msgstr "" # type: textblock #: doc/po4a.7.pod:301 msgid "" "Extract the text which have to be translated from the original document into " "a new pot file (the gettext format). For that, use the I " "program that way:" msgstr "" # type: verbatim #: doc/po4a.7.pod:305 #, no-wrap msgid "" " $ po4a-gettextize -f -m -p \n" "\n" msgstr "" # type: textblock #: doc/po4a.7.pod:307 msgid "" "EformatE is naturally the format used in the Emaster.docE " "document. As expected, the output goes into Etranslation.potE. " "Please refer to L for more details about the existing " "options." msgstr "" # type: textblock #: doc/po4a.7.pod:314 msgid "" "Actually translate what should be translated. For that, you have to rename " "the pot file for example to doc.XX.po (where XX is the ISO639 code of the " "language you are translating to, e.g. \"fr\" for French), and edit the " "resulting file. It is often a good idea to not name the file XX.po to avoid " "confusion with the translation of the program messages, but this your call. " "Don't forget to update the po file headers, they are important." msgstr "" # type: textblock #: doc/po4a.7.pod:321 msgid "" "The actual translation can be done using the Emacs po mode or kbabel (KDE " "based) or gtranslator (GNOME based), or whichever program you prefer to use " "them. A good ol' vi could do the trick too, even if there is no specialized " "mode for this task." msgstr "" # type: textblock #: doc/po4a.7.pod:326 msgid "" "If you wish to learn more about this, you definitively need to refer to the " "gettext documentation, available in the B package." msgstr "" # type: textblock #: doc/po4a.7.pod:333 msgid "" "Once you're done with the translation, you want to get the translated " "documentation and distribute it to users along with the original one. For " "that, use the L program like that (where XX is the " "language code):" msgstr "" # type: verbatim #: doc/po4a.7.pod:338 #, no-wrap msgid "" " $ po4a-translate -f -m -p -l \n" "\n" msgstr "" # type: textblock #: doc/po4a.7.pod:340 msgid "" "As before, EformatE is the format used in the Emaster.docE " "document. But this time, the po file provided with the -p flag is part of " "the input. This is your translation. The output goes into EXX.docE." msgstr "" # type: textblock #: doc/po4a.7.pod:344 msgid "Please refer to L for more details." msgstr "" # type: textblock #: doc/po4a.7.pod:348 msgid "" "To update your translation when the original file has changed, use the " "L program like that:" msgstr "" # type: verbatim #: doc/po4a.7.pod:351 #, no-wrap msgid "" " $ po4a-updatepo -f -m -p \n" "\n" msgstr "" # type: textblock #: doc/po4a.7.pod:353 msgid "(Please refer to L for more details)" msgstr "" # type: textblock #: doc/po4a.7.pod:355 msgid "" "Naturally, the new paragraph in the document won't get magically translated " "in the C file with this operation, and you'll need to update the C " "file manually. Likewise, you may have to rework the translation for " "paragraphs which were modified a bit. To make sure you won't miss any of " "them, they are marked as \"fuzzy\" during the process and you have to remove " "this marker before the translation can be used by po4a-translate. As for " "the initial translation, the best is to use your favorite po editor here." msgstr "" # type: textblock #: doc/po4a.7.pod:364 msgid "" "Once your C file is up-to-date again, without any untranslated or fuzzy " "string left, you can generate a translated documentation file, as explained " "in the previous section." msgstr "" # type: textblock #: doc/po4a.7.pod:371 msgid "" "Often, you used to translate manually the document happily until a major " "reorganization of the original document happened. Then, after some " "unpleasant tries with diff or similar tools, you want to convert to po4a. " "But of course, you don't want to loose your existing translation in the " "process. Don't worry, this case is also handled by po4a tools and is called " "gettextization." msgstr "" # type: textblock #: doc/po4a.7.pod:378 msgid "" "The key here is to have the same structure in the translated document and in " "the original one so that the tools can match the content accordingly." msgstr "" # type: textblock #: doc/po4a.7.pod:381 msgid "" "If you are lucky (i.e., if the structures of both documents perfectly " "match), it will work seamlessly and you will be set in a few " "seconds. Otherwise, you may understand why this process has such an ugly " "name, and you'd better be prepared to some grunt work here. In any case, " "remember that it is the price to pay to get the comfort of po4a " "afterward. And the good point is that you have to do so only once." msgstr "" # type: textblock #: doc/po4a.7.pod:388 msgid "" "I cannot emphasis this too much. In order to ease the process, it is thus " "important that you find the exact version which were used to do the " "translation. The best situation is when you noted down the cvs revision used " "for the translation and you didn't modify it in the translation process, so " "that you can use it." msgstr "" # type: textblock #: doc/po4a.7.pod:394 msgid "" "It won't work well when you use the updated original text with the old " "translation. It remains possible, but is harder and really should be avoided " "if possible. In fact, I guess that if you fail to find the original text " "again, the best solution is to find someone to do the gettextization for you " "(but, please, not me ;)." msgstr "" # type: textblock #: doc/po4a.7.pod:400 msgid "" "Maybe I'm too dramatic here. Even when things go wrong, it remains ways " "faster than translating everything again. I was able to gettextize the " "existing French translation of the Perl documentation in one day, even if " "things B went wrong. That was more than two megabytes of text, and a " "new translation would have lasted months or more." msgstr "" # type: textblock #: doc/po4a.7.pod:406 msgid "" "Let me explain the basis of the procedure first and I will come back on " "hints to achieve it when the process goes wrong. To ease comprehension, the " "sgml module is taken as an example once again, but the format used doesn't " "really matter." msgstr "" # type: textblock #: doc/po4a.7.pod:411 msgid "Once you have the old original again, the gettextization may be as easy as:" msgstr "" # type: verbatim #: doc/po4a.7.pod:413 #, no-wrap msgid "" " $ po4a-gettextize -f -m -l -p " "\n" "\n" msgstr "" # type: textblock #: doc/po4a.7.pod:415 msgid "" "When you're lucky, that's it. You converted your old translation to po4a and " "can begin with the updating task right away. Just follow the procedure " "explained a few section ago to synchronize your po file with the newest " "original document, and update the translation accordingly." msgstr "" # type: textblock #: doc/po4a.7.pod:420 msgid "" "Please note that even when things seem to work properly, there is still room " "for errors in this process. The point is that po4a is unable to understand " "the text to make sure that the translation match the original. That's why " "all strings are marked as \"fuzzy\" in the process. You should check each of " "them carefully before removing those markers." msgstr "" # type: textblock #: doc/po4a.7.pod:426 msgid "" "Often the document structures don't match exactly, preventing " "po4a-gettextize from doing its job properly. At that point, the whole game " "is about editing the files to get their damn structures matching." msgstr "" # type: textblock #: doc/po4a.7.pod:430 msgid "" "It may help to read the section L below. " "Understanding the internal process will help you to make this work. The good " "point is that po4a-gettextize is rather verbose about what went wrong when " "it happens. First, it pinpoints where in the documents the structures' " "discrepancies are. You will learn the strings that don't match, their " "positions in the text, and the type of each of them. Moreover, the po file " "generated so far will be dumped to gettextization.failed.po." msgstr "" # type: textblock #: doc/po4a.7.pod:442 msgid "" "Remove all extra parts of the translations, such as the section in which you " "give the translator name and thank every people who contributed to the " "translation. Addenda, which are described in the next section, will allow " "you to re-add them afterward." msgstr "" # type: textblock #: doc/po4a.7.pod:449 msgid "" "Do not hesitate to edit both the original and the translation. The most " "important thing is to get the po file. You will be able to update it " "afterward. That being said, editing the translation should be preferred when " "both are possible since it makes things easier when the gettextization is " "done." msgstr "" # type: textblock #: doc/po4a.7.pod:457 msgid "" "If needed, kill some parts of the original if they happen to not be " "translated. When synchronizing the po with the document afterward, they will " "come back from themselves." msgstr "" # type: textblock #: doc/po4a.7.pod:463 msgid "" "If you changed the structure a bit (to merge two paragraphs, or split " "another one), undo those changes. If there is issues in the original, you " "should inform the original author. Fixing them in your translation only fix " "it for a part of the community. And moreover, it's impossible when using " "po4a ;)" msgstr "" # type: textblock #: doc/po4a.7.pod:471 msgid "" "Sometimes, the paragraph content does match, but their types don't. Fixing " "it is rather format-dependant. In pod and nroff, it often comes from the " "fact that one of the two contains a line beginning with a white space where " "the other doesn't. In those formats, such paragraph cannot be wrapped and " "thus become a different type. Just remove the space and you are fine. It may " "also be a typo in the tag name." msgstr "" # type: textblock #: doc/po4a.7.pod:478 msgid "" "Likewise, two paragraphs may get merged together in pod when the separating " "line contains some spaces, or when there is no empty line before the =item " "line and the content of the item." msgstr "" # type: textblock #: doc/po4a.7.pod:484 msgid "" "Sometimes, there is a desynchronization between the files, and the " "translation is attached to the wrong original paragraph. It is the sign that " "the real problem was before in the files. Check " "gettextization.failed.po to see when the desynchronization begins, and " "fix it there." msgstr "" # type: textblock #: doc/po4a.7.pod:492 msgid "" "Sometimes, you get the strong feeling that po4a ate some parts of the text, " "either the original or the translation. gettextization.failed.po " "indicates that both of them where gently matching, and then the " "gettextization fails because it tried to match one paragraph with the one " "after (or before) the right one, as if the right one disappeared. Curse po4a " "as I did when it first happened to me. Generously." msgstr "" # type: textblock #: doc/po4a.7.pod:499 msgid "" "This unfortunate situation happens when the same paragraph is repeated over " "the document. In that case, no new entry is created in the po file, but a " "new reference is added to the existing one instead." msgstr "" # type: textblock #: doc/po4a.7.pod:503 msgid "" "So, when the same paragraph appears twice in the original but are not " "translated in the exact same way each time, you will get the feeling that a " "paragraph of the original disappeared. Just kill the new translation. If you " "prefer to kill the first translation instead when it was actually better, " "remove the second one from where it is and put it in place of the first one." msgstr "" # type: textblock #: doc/po4a.7.pod:509 msgid "" "In the contrary, if two similar but different paragraphs were translated in " "the exact same way, you will get the feeling that a paragraph of the " "translation disappeared. A solution is to add a stupid string to the " "original paragraph (such as \"I'm different\"). Don't be afraid, those " "things will disappear during the synchronization, and when the added text is " "short enough, gettext will match your translation to the existing text " "(marking it as fuzzy, but you don't really care since all strings are fuzzy " "after gettextization)." msgstr "" # type: textblock #: doc/po4a.7.pod:519 msgid "" "Hopefully, those tips will help you making your gettextization work and " "obtain your precious po file. You are now ready to synchronize your file and " "begin your translation. Please note that on large text, it may happen that " "the first synchronization takes a long time." msgstr "" # type: textblock #: doc/po4a.7.pod:524 msgid "" "For example, the first po4a-updatepo of the Perl documentation's French " "translation (5.5 Mb po file) took about two days full on a 1Ghz G5 " "computer. Yes, 48 hours. But the subsequent ones only take a dozen of " "seconds on my old laptop. This is because the first time, most of the msgid " "of the po file don't match any of the pot file ones. This forces gettext to " "search for the closest one using a costly string proximity algorithm." msgstr "" # type: textblock #: doc/po4a.7.pod:533 msgid "" "Because of the gettext approach, doing this becomes more difficult in po4a " "than it was when simply editing a new file along the original one. But it " "remains possible, thanks to the so-called B." msgstr "" # type: textblock #: doc/po4a.7.pod:537 msgid "" "It may help the comprehension to consider addenda as a sort of patches " "applied to the localized document after processing. They are rather " "different from the usual patches (they have only one line of context, which " "can embed perl regular expression, and they can only add new text without " "removing any), but the functionalities are the same." msgstr "" # type: textblock #: doc/po4a.7.pod:543 msgid "" "Their goal is to allow the translator to add extra content to the document " "which is not translated from the original document. The most common usage is " "to add a section about the translation itself, listing contributors and " "explaining how to report bug against the translation." msgstr "" # type: textblock #: doc/po4a.7.pod:548 msgid "" "Addendum must be provided as a separate file. The first line constitutes a " "header indicating where in the produced document they should be placed. The " "rest of the addendum file will be added verbatim at the determined position " "of the resulting document." msgstr "" # type: textblock #: doc/po4a.7.pod:553 msgid "" "The header have a pretty rigid syntax: It must begin with the string " "\"PO4A-HEADER:\", followed by a semi-colon (;) separated list of " "\"key=value\" fields. White spaces ARE important. Note that you cannot use " "the semi-colon char (;) in the value, and that quoting it doesn't help." msgstr "" # type: textblock #: doc/po4a.7.pod:558 msgid "" "Again, it sounds scary, but the examples given below should help you to find " "how to write the header line you need. To illustrate the discussion, assume " "we want to add a section called \"About this translation\" after the \"About " "this document\" one." msgstr "" # type: textblock #: doc/po4a.7.pod:563 msgid "Here are the possible header keys:" msgstr "" # type: =item #: doc/po4a.7.pod:567 msgid "position (mandatory)" msgstr "" # type: textblock #: doc/po4a.7.pod:569 msgid "" "a regexp. The addendum will be placed near the line matching this regexp. " "Note that we're speaking about the translated document here, not the " "original. If more than a line match this expression (or none), the addition " "will fail. It is indeed better to report an error than inserting the " "addendum at the wrong location." msgstr "" # type: textblock #: doc/po4a.7.pod:575 msgid "" "This line is called I in the following. The point where the " "addendum is added is called I. Those two points are near " "one from another, but not equal. For example, if you want to insert a new " "section, it is easier to put the I on the title of the " "preceding section and explain po4a where the section ends (remember that " "I is given by a regexp which should match a unique line)." msgstr "" # type: textblock #: doc/po4a.7.pod:582 msgid "" "The localization of the I with regard to the I is controlled by the C, C and C " "fields, as explained below." msgstr "" # type: textblock #: doc/po4a.7.pod:586 msgid "In our case, we would have:" msgstr "" # type: verbatim #: doc/po4a.7.pod:588 #, no-wrap msgid "" " position=About this document\n" "\n" msgstr "" # type: =item #: doc/po4a.7.pod:591 msgid "mode (mandatory)" msgstr "" # type: textblock #: doc/po4a.7.pod:593 msgid "" "It can be either the string \"before\" or \"after\", specifying the position " "of the addendum, relative to the I." msgstr "" # type: textblock #: doc/po4a.7.pod:596 msgid "" "Since we want the new section to be placed below the one we are matching, we " "have:" msgstr "" # type: verbatim #: doc/po4a.7.pod:599 #, no-wrap msgid "" " mode=after\n" "\n" msgstr "" # type: =item #: doc/po4a.7.pod:601 msgid "beginboundary (used only when mode=after, and mandatory in that case)" msgstr "" # type: =item #: doc/po4a.7.pod:603 msgid "endboundary (idem)" msgstr "" # type: textblock #: doc/po4a.7.pod:605 msgid "regexp matching the end of the section after which the addendum goes." msgstr "" # type: textblock #: doc/po4a.7.pod:607 msgid "" "When mode=after, the I is after the I, but " "not directly after! It is placed at the end of the section beginning at the " "I, ie after or before the line matched by the C " "argument, depending on whether you used C or C." msgstr "" # type: textblock #: doc/po4a.7.pod:613 msgid "" "In our case, we can choose to indicate the end of the section we match by " "adding:" msgstr "" # type: verbatim #: doc/po4a.7.pod:616 #, no-wrap msgid "" " endboundary=\n" "\n" msgstr "" # type: textblock #: doc/po4a.7.pod:618 msgid "or to indicate the beginning of the next section by indicating:" msgstr "" # type: verbatim #: doc/po4a.7.pod:620 #, no-wrap msgid "" " beginboundary=
\n" "\n" msgstr "" # type: textblock #: doc/po4a.7.pod:622 msgid "" "In both case, our addendum will be placed after the E/sectionE and " "before the EsectionE. The first one is better since it will work " "even if the document gets reorganized." msgstr "" # type: textblock #: doc/po4a.7.pod:626 msgid "" "Both forms exist because documentation formats are different. In some of " "them, there is a way to mark the end of a section (just like the " "C/sectionE> we just used), while some other don't explicitly mark " "the end of section (like in nroff). In the former case, you want to make a " "I matching the I, so that the I " "comes after it. In the latter case, you want to make a I matching " "the I, so that the I comes just " "before it." msgstr "" # type: textblock #: doc/po4a.7.pod:637 msgid "This can seem obscure, but hopefully, the next examples will enlighten you." msgstr "" # type: =item #: doc/po4a.7.pod:641 msgid "" "To sum up the example we used so far, in order to add a section called " "\"About this translation\" after the \"About this document\" one in a sgml " "document, you can use either of those header lines:" msgstr "" # type: verbatim #: doc/po4a.7.pod:646 #, no-wrap msgid "" " PO4A-HEADER: mode=after; position=About this document; " "endboundary=
\n" " PO4A-HEADER: mode=after; position=About this document; " "beginboundary=
\n" "\n" msgstr "" # type: =item #: doc/po4a.7.pod:650 msgid "If you want to add something after the following nroff section:" msgstr "" # type: verbatim #: doc/po4a.7.pod:653 #, no-wrap msgid "" " .SH \"AUTHORS\"\n" "\n" msgstr "" # type: textblock #: doc/po4a.7.pod:655 msgid "" "you should put a C matching this line, and a C " "matching the beginning of the next section (ie C<^\\.SH>). The addendum will " "then be added B the I and immediately B the " "first line matching the C. That is to say:" msgstr "" # type: verbatim #: doc/po4a.7.pod:660 #, no-wrap msgid "" " PO4A-HEADER:mode=after;position=AUTHORS;beginboundary=\\.SH\n" "\n" msgstr "" # type: =item #: doc/po4a.7.pod:662 msgid "" "If you want to add something into a section (like after \"Copyright Big " "Dude\") instead of adding a whole section, give a C matching this " "line, and give a C matching any line." msgstr "" # type: verbatim #: doc/po4a.7.pod:667 #, no-wrap msgid "" " PO4A-HEADER:mode=after;position=Copyright Big Dude, 2004;beginboundary=^\n" "\n" msgstr "" # type: =item #: doc/po4a.7.pod:669 msgid "" "If you want to add something at the end of the document, give a C " "matching any line of your document (but only one line. Po4a won't proceed if " "it's not unique), and give an C matching nothing. Don't use " "simple strings here like \"C\", but prefer which have less chance to be " "in your document." msgstr "" # type: verbatim #: doc/po4a.7.pod:675 #, no-wrap msgid "" " " "PO4A-HEADER:mode=after;position=About;beginboundary=FakePo4aBoundary\n" "\n" msgstr "" # type: textblock #: doc/po4a.7.pod:679 msgid "" "In any case, remember that these are regexp. For example, if you want to " "match the end of a nroff section ending with the line" msgstr "" # type: verbatim #: doc/po4a.7.pod:682 #, no-wrap msgid "" " .fi\n" "\n" msgstr "" # type: textblock #: doc/po4a.7.pod:684 msgid "" "don't use C<.fi> as endboundary, because it will match with \"the[ fi]le\", " "which is obviously not what you expect. The correct endboundary in that case " "is: C<^\\.fi$>." msgstr "" # type: textblock #: doc/po4a.7.pod:688 msgid "" "If the addendum doesn't go where you expected, try to pass the -vv argument " "to the tools, so that they explain you what they do while placing the " "addendum." msgstr "" # type: =head3 #: doc/po4a.7.pod:692 msgid "More detailed example" msgstr "" # type: textblock #: doc/po4a.7.pod:694 msgid "Original document (pod formatted):" msgstr "" # type: verbatim #: doc/po4a.7.pod:696 #, no-wrap msgid "" " |=head1 NAME\n" " |\n" " |dummy - a dummy program\n" " |\n" " |=head1 AUTHOR\n" " |\n" " |me\n" "\n" msgstr "" # type: textblock #: doc/po4a.7.pod:704 msgid "" "Then, the following addendum will ensure that a section (in French) about " "the translator is added at the end of the file. (in French, \"TRADUCTEUR\" " "means \"TRANSLATOR\", and \"moi\" means \"me\")" msgstr "" # type: verbatim #: doc/po4a.7.pod:708 #, no-wrap msgid "" " |PO4A-HEADER:mode=after;position=AUTEUR;beginboundary=^=head\n" " |\n" " |=head1 TRADUCTEUR\n" " |\n" " |moi\n" "\n" msgstr "" # type: textblock #: doc/po4a.7.pod:714 msgid "In order to put your addendum before the AUTHOR, use the following header:" msgstr "" # type: verbatim #: doc/po4a.7.pod:716 #, no-wrap msgid "" " PO4A-HEADER:mode=after;position=NOM;beginboundary=^=head1\n" "\n" msgstr "" # type: textblock #: doc/po4a.7.pod:718 msgid "" "This works because the next line matching the beginboundary /^=head1/ after " "the section \"NAME\" (translated to \"NOM\" in French), is the one declaring " "the authors. So, the addendum will be put between both sections." msgstr "" # type: textblock #: doc/po4a.7.pod:724 msgid "" "The use of po4a proved to be a bit error prone for the users since you have " "to call two different programs in the right order (po4a-updatepo and then " "po4a-translate), each of them needing more than 3 arguments. Moreover, it " "was difficult with this system to use only one po file for all your " "documents when more than one format was used." msgstr "" # type: textblock #: doc/po4a.7.pod:730 msgid "" "The L program was designed to solve those difficulties. Once your " "project is converted to the system, you write a simple configuration file " "explaining where your translation files are (po and pot), where the original " "documents are, their formats and where their translations should be placed." msgstr "" # type: textblock #: doc/po4a.7.pod:735 msgid "" "Then, calling po4a(1) on this file ensure that the po files are synchronized " "against the original document, and that the translated document are " "generated properly. Of course, you will want to call this program twice: " "once before editing the po file to update them and once afterward to get " "completely updated translated document. But you only need to remember one " "command line." msgstr "" # type: =head1 #: doc/po4a.7.pod:742 msgid "How does it work?" msgstr "" # type: =head2 #: doc/po4a.7.pod:749 msgid "What's the big picture here?" msgstr "" # type: textblock #: doc/po4a.7.pod:751 msgid "" "The po4a architecture is object oriented (in Perl. Isn't that neat?). The " "common ancestor to all parser classes is called TransTractor. This strange " "name comes from the fact that it is at the same time in charge of " "translating document and extracting strings." msgstr "" # type: textblock #: doc/po4a.7.pod:756 msgid "" "More formally, it takes a document to translate plus a po file containing " "the translations to use as input while producing two separate outputs: " "Another po file (resulting of the extraction of translatable strings from " "the input document), and a translated document (with the same structure than " "the input one, but with all translatable strings replaced with content of " "the input po). Here is a graphical representation of this:" msgstr "" # type: verbatim #: doc/po4a.7.pod:763 #, no-wrap msgid "" " Input document --\\ /---> Output document\n" " \\ TransTractor:: / (translated)\n" " +-->-- parse() --------+\n" " / \\\n" " Input po --------/ \\---> Output po\n" " (extracted)\n" "\n" msgstr "" # type: textblock #: doc/po4a.7.pod:771 msgid "" "This little bone is the core of all the po4a architecture. If you omit the " "input po and the output document, you get po4a-gettextize. If you provide " "both input and disregard the output po, you get po4a-translate." msgstr "" # type: textblock #: doc/po4a.7.pod:775 msgid "" "TransTractor::parse() is a virtual function implemented by each module. Here " "is a little example to show you how it works. It parses a list of " "paragraphs, each of them beginning with

." msgstr "" # type: verbatim #: doc/po4a.7.pod:779 #, no-wrap msgid "" " 1 sub parse {\n" " 2 PARAGRAPH: while (1) {\n" " 3 $my ($paragraph,$pararef,$line,$lref)=(\"\",\"\",\"\",\"\");\n" " 4 $my $first=1;\n" " 5 while (($line,$lref)=$document->shiftline() && defined($line)) {\n" " 6 if ($line =~ m/

/ && !$first--; ) {\n" " 7 $document->unshiftline($line,$lref);\n" " 8\n" " 9 $paragraph =~ s/^

//s;\n" " 10 " "$document->pushline(\"

\".$document->translate($paragraph,$pararef));\n" " 11\n" " 12 next PARAGRAPH;\n" " 13 } else {\n" " 14 $paragraph .= $line;\n" " 15 $pararef = $lref unless(length($pararef));\n" " 16 }\n" " 17 }\n" " 18 return; # Did not got a defined line? End of input file.\n" " 19 }\n" " 20 } \n" "\n" msgstr "" # type: textblock #: doc/po4a.7.pod:800 msgid "" "On line 6, we encounter EpE for the second time. That's the signal " "of the next paragraph. We should thus put the just obtained line back into " "the original document (line 7) and push the paragraph built so far into the " "outputs. After removing the leading EpE of it on line 9, we push the " "concatenation of this tag with the translation of the rest of the paragraph." msgstr "" # type: textblock #: doc/po4a.7.pod:806 msgid "" "This translate() function is very cool. It pushes its argument into the " "output po file (extraction) and returns its translation as found in the " "input po file (translation). Since it's used as part of the argument of " "pushline(), this translation lands into the output document." msgstr "" # type: textblock #: doc/po4a.7.pod:811 msgid "" "Isn't that cool? It is possible to build a complete po4a module in less than " "20 lines when the format is simple enough..." msgstr "" # type: textblock #: doc/po4a.7.pod:814 msgid "" "You can learn more about this in " "L." msgstr "" # type: =head2 #: doc/po4a.7.pod:817 msgid "Gettextization: how does it work?" msgstr "" # type: textblock #: doc/po4a.7.pod:819 msgid "" "The idea here is to take the original document and its translation, and to " "say that the Nth extracted string from the translation is the translation of " "the Nth extracted string from the original. In order to work, both files " "must share exactly the same structure. For example, if the files have the " "following structure, it is very unlikely that the 4th string in translation " "(of type 'chapter') is the translation of the 4th string in original (of " "type 'paragraph')." msgstr "" # type: verbatim #: doc/po4a.7.pod:827 #, no-wrap msgid "" " Original Translation\n" "\n" msgstr "" # type: verbatim #: doc/po4a.7.pod:829 #, no-wrap msgid "" " chapter chapter\n" " paragraph paragraph\n" " paragraph paragraph\n" " paragraph chapter\n" " chapter paragraph\n" " paragraph paragraph\n" "\n" msgstr "" # type: textblock #: doc/po4a.7.pod:836 msgid "" "For that, po4a parsers are used on both the original and the translation " "files to extract po files, and then a third po file is built from them " "taking strings from the second as translation of strings from the first. In " "order to check that the strings we put together are actually the " "translations of each other, document parsers in po4a should put information " "about the syntactical type of extracted strings in the document (all " "existing ones do so, yours should also). Then, this information is used to " "make sure that both documents have the same syntax. In the previous example, " "it would allow us to detect that string 4 is a paragraph in one case, and a " "chapter title in another case and to report the problem." msgstr "" # type: textblock #: doc/po4a.7.pod:847 msgid "" "In theory, it would be possible to detect the problem, and resynchronize the " "files afterward (just like diff does). But what we should do of the few " "strings before desynchronizations is not clear, and it would produce bad " "results some times. That's why the current implementation don't try to " "resynchronize anything and verbosely fail when something goes wrong, " "requiring manual modification of files to fix the problem." msgstr "" # type: textblock #: doc/po4a.7.pod:854 msgid "" "Even with these precautions, things can go wrong very easily here. That's " "why all translations guessed this way are marked fuzzy to make sure that the " "translator review and check them." msgstr "" # type: =head2 #: doc/po4a.7.pod:858 msgid "Addendum: How does it work?" msgstr "" # type: textblock #: doc/po4a.7.pod:860 msgid "" "Well, that's pretty easy here. The translated document is not written " "directly to disk, but kept in memory until all the addenda are applied. The " "algorithms involved here are rather straightforward. We look for a line " "matching the position regexp, and insert the addendum before it if we're in " "mode=before. If not, we search for the next line matching the boundary and " "insert the addendum after this line if it's an C or before this " "line if it's a C." msgstr "" # type: =head1 #: doc/po4a.7.pod:868 msgid "FAQ" msgstr "" # type: =head2 #: doc/po4a.7.pod:877 msgid "Why to translate each paragraph separately?" msgstr "" # type: textblock #: doc/po4a.7.pod:879 msgid "" "Yes, in po4a, each paragraph is translated separately (in fact, each module " "decides this, but all existing modules do so, and yours should also). There " "are two main advantages to this approach:" msgstr "" # type: =item #: doc/po4a.7.pod:885 doc/po4a.7.pod:891 doc/po4a.7.pod:905 doc/po4a.7.pod:911 doc/po4a.7.pod:920 doc/po4a.7.pod:1098 doc/po4a.7.pod:1103 doc/po4a.7.pod:1109 doc/po4a.7.pod:1116 doc/po4a.7.pod:1122 doc/po4a.7.pod:1127 doc/po4a.7.pod:1143 doc/po4a.7.pod:1147 doc/po4a.7.pod:1153 lib/Locale/Po4a/Man.pm:317 lib/Locale/Po4a/Man.pm:322 lib/Locale/Po4a/Man.pm:327 lib/Locale/Po4a/Man.pm:332 lib/Locale/Po4a/Sgml.pm:132 lib/Locale/Po4a/Sgml.pm:149 lib/Locale/Po4a/Sgml.pm:158 lib/Locale/Po4a/Sgml.pm:172 msgid "*" msgstr "" # type: textblock #: doc/po4a.7.pod:887 msgid "" "When the technical parts of the document are hidden from the scene, the " "translator can't mess with them. The fewer markers we present to the " "translator the less error he can do." msgstr "" # type: textblock #: doc/po4a.7.pod:893 msgid "" "Cutting the document helps in isolating the changes to the original " "document. When the original is modified, finding what parts of the " "translation need to be updated is eased by this process." msgstr "" # type: textblock #: doc/po4a.7.pod:899 msgid "" "Even with these advantages, some people don't like the idea of translating " "each paragraph separately. Here are some of the answers I can give to their " "fear:" msgstr "" # type: textblock #: doc/po4a.7.pod:907 msgid "" "This approach proved successfully in the KDE project and allows people there " "to produce the biggest corpus of translated and up to date documentation I " "know." msgstr "" # type: textblock #: doc/po4a.7.pod:913 msgid "" "The translators can still use the context to translate, since the strings in " "the po file are in the same order than in the original document. Translating " "sequentially is thus rather comparable whether you use po4a or not. And in " "any case, the best way to get the context remains to convert the document to " "a printable format since the text formatting ones are not really readable, " "IMHO." msgstr "" # type: textblock #: doc/po4a.7.pod:922 msgid "" "This approach is the one used by professional translators. I agree, that " "they have somewhat different goals than open-source translators. The " "maintenance is for example often less critical to them since the content " "changes rarely." msgstr "" # type: =head2 #: doc/po4a.7.pod:929 msgid "Why not to split on sentence level (or smaller)?" msgstr "" # type: textblock #: doc/po4a.7.pod:931 msgid "" "Professional translator tools sometimes split the document at the sentence " "level in order to maximize the reusability of previous translations and " "speed up their process. The problem is that the same sentence may have " "several translations, depending on the context." msgstr "" # type: textblock #: doc/po4a.7.pod:936 msgid "" "Paragraphs are by definition longer than sentences. It will hopefully ensure " "that having the same paragraph in two documents will have the same meaning " "(and translation), regardless of the context in each case." msgstr "" # type: textblock #: doc/po4a.7.pod:940 msgid "" "Splitting on smaller parts than the sentence would be B. It would " "be a bit long to explain why here, but interested reader can refer to the " "L man page (which " "comes with the Perl documentation), for example. To make short, each " "language has its specific syntactic rules, and there is no way to build " "sentences by aggregating parts of sentences working for all existing " "languages (or even for the 5 of the 10 most spoken ones, or even less)." msgstr "" # type: =head2 #: doc/po4a.7.pod:948 msgid "Why not put the original as comment along with translation (or other way)?" msgstr "" # type: textblock #: doc/po4a.7.pod:950 msgid "" "At the first glance, gettext don't seem to be adapted to all kind of " "translations. For example, it didn't seemed adapted to debconf, the " "interface all Debian packages use for their interaction with the user during " "installation. In that case, the texts to translate were pretty short (a " "dozen of line for each package), and it was difficult to put the translation " "in a specialized file since it has to be available before the package " "installation." msgstr "" # type: textblock #: doc/po4a.7.pod:958 msgid "" "That's why the debconf developer decided to implement another solution, " "where translations are be placed in the same file than the original. This is " "rather appealing. One would even want to do this for xml, for example. It " "would look like that:" msgstr "" # type: verbatim #: doc/po4a.7.pod:963 #, no-wrap msgid "" "

\n" " My title\n" " Mon titre\n" "\n" msgstr "" # type: verbatim #: doc/po4a.7.pod:967 #, no-wrap msgid "" " \n" " My text.\n" " Mon texte.\n" " \n" "
\n" "\n" msgstr "" # type: textblock #: doc/po4a.7.pod:973 msgid "" "But it was so problematic that a po-based approach is now used. Only the " "original can be edited in the file, and the translations must take place in " "po files extracted from the master template (and placed back at package " "compilation time). The old system was deprecated because of several issues:" msgstr "" # type: =item #: doc/po4a.7.pod:980 msgid "* maintenance problems" msgstr "" # type: textblock #: doc/po4a.7.pod:982 msgid "" "If several translators provide a patch at the same time, it gets hard to " "merge them together." msgstr "" # type: textblock #: doc/po4a.7.pod:985 msgid "" "How will you detect changes to the original, which need to be applied to the " "translations? In order to use diff, you have to note which version of the " "original you translated. I.e., you need a po file in your file ;)" msgstr "" # type: =item #: doc/po4a.7.pod:989 msgid "* encoding problems" msgstr "" # type: textblock #: doc/po4a.7.pod:991 msgid "" "This solution is viable when only European languages are involved, but the " "introduction of Korean, Russian and/or Arab really complicate the picture. " "UTF could be a solution, but there are still some problems with it." msgstr "" # type: textblock #: doc/po4a.7.pod:995 msgid "" "Moreover, such problems are hard to detect (i.e., only Korean readers will " "detect that the encoding of Korean is broken [because of the Russian " "translator])" msgstr "" # type: textblock #: doc/po4a.7.pod:1001 msgid "gettext solves all those problems together." msgstr "" # type: =head2 #: doc/po4a.7.pod:1003 msgid "But gettext wasn't designed for that use!" msgstr "" # type: textblock #: doc/po4a.7.pod:1005 msgid "" "That's true, but until now nobody came with a better solution. The only " "known alternative is manual translation, will all the maintenance issues." msgstr "" # type: =head2 #: doc/po4a.7.pod:1008 msgid "What about the other translation tools for documentation using gettext?" msgstr "" # type: textblock #: doc/po4a.7.pod:1011 msgid "As far as I know, there are only two of them:" msgstr "" # type: =item #: doc/po4a.7.pod:1015 msgid "poxml" msgstr "" # type: textblock #: doc/po4a.7.pod:1017 msgid "" "This is the tool developed by KDE people to handle DocBook XML. AFAIK, it " "was the first program to extract strings to translate from documentation to " "po files, and inject them back after translation." msgstr "" # type: textblock #: doc/po4a.7.pod:1021 msgid "" "It can only handle XML, and only a particular DTD. I'm quite unhappy with " "the handling of lists, which end in one big msgid. When the list become big, " "the chunk becomes harder to shallow." msgstr "" # type: =item #: doc/po4a.7.pod:1025 msgid "po-debiandoc" msgstr "" # type: textblock #: doc/po4a.7.pod:1027 msgid "" "This program done by Denis Barbier is a sort of precursor of the po4a sgml " "module, which more or less deprecates it. As the name says, it handles only " "the debiandoc dtd, which is more or less a deprecated dtd." msgstr "" # type: textblock #: doc/po4a.7.pod:1033 msgid "" "The main advantages of po4a over them are the ease of extra content addition " "(which is even worse there) and the ability to achieve gettextization." msgstr "" # type: =head2 #: doc/po4a.7.pod:1036 msgid "Educating developers about translation" msgstr "" # type: textblock #: doc/po4a.7.pod:1038 msgid "" "When you try to translate documentation or programs, you face three kinds of " "problems; linguistics (not everybody speaks two languages), technical " "(that's why po4a exists) and relational/human. Not all developers understand " "the necessity of translating stuff. Even when good willed, they may ignore " "how to ease the work of translators. To help with that, po4a comes with lot " "of documentation which can be referred to." msgstr "" # type: textblock #: doc/po4a.7.pod:1045 msgid "" "Another important point is that each translated file begins with a short " "comment indicating what the file is, how to use it. This should help the " "poor developers flooded with tons of files in different languages they " "hardly speak, and help them dealing correctly with it." msgstr "" # type: textblock #: doc/po4a.7.pod:1050 msgid "" "In the po4a project, translated documents are not source files " "anymore. Since sgml files are habitually source files, it's an easy " "mistake. That's why all files present this header:" msgstr "" # type: verbatim #: doc/po4a.7.pod:1055 #, no-wrap msgid "" " | *****************************************************\n" " | * GENERATED FILE, DO NOT EDIT * \n" " | * THIS IS NO SOURCE FILE, BUT RESULT OF COMPILATION *\n" " | *****************************************************\n" " |\n" " | This file was generated by po4a-translate(1). Do not store it (in cvs,\n" " | for example), but store the po file used as source file by " "po4a-translate. \n" " |\n" " | In fact, consider this as a binary, and the po file as a regular source " "file:\n" " | If the po gets lost, keeping this translation up-to-date will be harder " ";)\n" "\n" msgstr "" # type: textblock #: doc/po4a.7.pod:1066 msgid "" "Likewise, gettext's regular po files only need to be copied to the po/ " "directory. But B. The " "major risk here is that a developer erases the existing translation of his " "program with the translation of his documentation. (Both of them can't be " "stored in the same po file, because the program needs to install its " "translation as an mo file while the documentation only uses its translation " "at compile time). That's why the po files produced by the po-debiandoc " "module contain the following header:" msgstr "" # type: verbatim #: doc/po4a.7.pod:1075 #, no-wrap msgid "" " #\n" " # ADVISES TO DEVELOPERS:\n" " # - you do not need to manually edit POT or PO files.\n" " # - this file contains the translation of your debconf templates.\n" " # Do not replace the translation of your program with this !!\n" " # (or your translators will get very upset)\n" " #\n" " # ADVISES TO TRANSLATORS:\n" " # If you are not familiar with the PO format, gettext documentation \n" " # is worth reading, especially sections dedicated to this format.\n" " # For example, run:\n" " # info -n '(gettext)PO Files'\n" " # info -n '(gettext)Header Entry'\n" " #\n" " # Some information specific to po-debconf are available at\n" " # /usr/share/doc/po-debconf/README-trans\n" " # or http://www.debian.org/intl/l10n/po-debconf/README-trans\n" " #\n" "\n" msgstr "" # type: =head2 #: doc/po4a.7.pod:1094 msgid "SUMMARY of the advantages of the gettext based approach" msgstr "" # type: textblock #: doc/po4a.7.pod:1100 msgid "" "The translations are not stored along with the original, which makes it " "possible to detect if translations become out of date." msgstr "" # type: textblock #: doc/po4a.7.pod:1105 msgid "" "The translations are stored in separate files from each other, which " "prevents translators of different languages from interfering, both when " "submitting their patch and at the file encoding level." msgstr "" # type: textblock #: doc/po4a.7.pod:1111 msgid "" "It is based internally on C (but C offers a very simple " "interface so that you don't need to understand the internals to use it). " "That way, we don't have to re-implement the wheel, and because of their wide " "use, we can think that these tools are more or less bug free." msgstr "" # type: textblock #: doc/po4a.7.pod:1118 msgid "" "Nothing changed for the end-user (beside the fact translations will " "hopefully be better maintained :). The resulting documentation file " "distributed is exactly the same." msgstr "" # type: textblock #: doc/po4a.7.pod:1124 msgid "" "No need for translators to learn a new file syntax and their favorite po " "file editor (like emacs' po mode, kbabel or gtranslator) will work just " "fine." msgstr "" # type: textblock #: doc/po4a.7.pod:1129 msgid "" "Gettext offers a simple way to get statistics about what is done, what " "should be reviewed and updated, and what is still to do. Some example can be " "found at those addresses:" msgstr "" # type: verbatim #: doc/po4a.7.pod:1133 #, no-wrap msgid "" " - http://kbabel.kde.org/img/previewKonq.png\n" " - http://www.debian.org/intl/l10n/\n" "\n" msgstr "" # type: textblock #: doc/po4a.7.pod:1138 msgid "" "But everything isn't green, and this approach also has some disadvantages we " "have to deal with." msgstr "" # type: textblock #: doc/po4a.7.pod:1145 msgid "Addenda are... strange at the first glance." msgstr "" # type: textblock #: doc/po4a.7.pod:1149 msgid "" "You can't adapt the translated text to your preferences, like splitting a " "paragraph here, and joining two other ones there. But in some sense, if " "there is an issue with the original, it should be reported as a bug anyway." msgstr "" # type: textblock #: doc/po4a.7.pod:1155 msgid "Even with an easy interface, it remains a new tool people have to learn." msgstr "" # type: textblock #: doc/po4a.7.pod:1157 msgid "" "One of my dreams would be to integrate somehow po4a to gtranslator or " "kbabel. When an sgml file is opened, the strings are automatically " "extracted. When it's saved a translated sgml file can be written to " "disk. If we manage to do an MS Word (TM) module (or at least RTF) " "professional translators may even use it." msgstr "" # type: =head1 #: doc/po4a.7.pod:1165 msgid "Known bugs and feature requests" msgstr "" # type: textblock #: doc/po4a.7.pod:1167 msgid "" "The biggest issue (besides missing modules) is the encoding handling. Adding " "a UTF8 perl pragma and then recoding the strings on output is the way to go, " "but it's not done yet." msgstr "" # type: textblock #: doc/po4a.7.pod:1171 msgid "" "We would also like to factorise some code (about file insertion) of the sgml " "module back into the TransTractor so that all modules can benefit from this, " "but this is not user visible." msgstr "" # type: =head1 #: doc/po4a.7.pod:1175 lib/Locale/Po4a/BibTeX.pm:141 lib/Locale/Po4a/Chooser.pm:130 lib/Locale/Po4a/Common.pm:213 lib/Locale/Po4a/Dia.pm:65 lib/Locale/Po4a/Docbook.pm:60 lib/Locale/Po4a/Guide.pm:57 lib/Locale/Po4a/Ini.pm:106 lib/Locale/Po4a/KernelHelp.pm:160 lib/Locale/Po4a/LaTeX.pm:50 lib/Locale/Po4a/Man.pm:345 lib/Locale/Po4a/Po.pm:1359 lib/Locale/Po4a/Pod.pm:294 lib/Locale/Po4a/Sgml.pm:1218 lib/Locale/Po4a/TeX.pm:1692 lib/Locale/Po4a/Texinfo.pm:51 lib/Locale/Po4a/Text.pm:227 lib/Locale/Po4a/TransTractor.pm:1083 lib/Locale/Po4a/Xhtml.pm:79 lib/Locale/Po4a/Xml.pm:1551 po4a:331 po4a-gettextize:122 po4a-normalize:72 po4a-translate:137 po4a-updatepo:106 scripts/msguntypot:103 msgid "AUTHORS" msgstr "" # type: verbatim #: doc/po4a.7.pod:1177 #, no-wrap msgid "" " Denis Barbier \n" " Martin Quinson (mquinson#debian.org)\n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/BibTeX.pm:26 msgid "Locale::Po4a::BibTeX - Convert BibTeX documents from/to PO files" msgstr "" # type: SH #: lib/Locale/Po4a/BibTeX.pm:28 lib/Locale/Po4a/Chooser.pm:89 lib/Locale/Po4a/Common.pm:15 lib/Locale/Po4a/Dia.pm:33 lib/Locale/Po4a/Docbook.pm:33 lib/Locale/Po4a/Guide.pm:33 lib/Locale/Po4a/Ini.pm:90 lib/Locale/Po4a/KernelHelp.pm:141 lib/Locale/Po4a/LaTeX.pm:28 lib/Locale/Po4a/Man.pm:7 lib/Locale/Po4a/Po.pm:33 lib/Locale/Po4a/Pod.pm:187 lib/Locale/Po4a/Sgml.pm:36 lib/Locale/Po4a/TeX.pm:29 lib/Locale/Po4a/Texinfo.pm:28 lib/Locale/Po4a/Text.pm:28 lib/Locale/Po4a/TransTractor.pm:36 lib/Locale/Po4a/Xhtml.pm:33 lib/Locale/Po4a/Xml.pm:34 po4a:21 po4a-gettextize:23 po4a-normalize:21 po4a-translate:23 po4a-updatepo:23 scripts/msguntypot:26 scripts/po4aman-display-po.1:14 #, no-wrap msgid "DESCRIPTION" msgstr "" # type: textblock #: lib/Locale/Po4a/BibTeX.pm:34 msgid "" "Locale::Po4a::BibTeX is a module to help the translation of bibliographies " "in the BibTeX format into other [human] languages." msgstr "" # type: textblock #: lib/Locale/Po4a/BibTeX.pm:37 msgid "Fields values are extracted and proposed for translation." msgstr "" # type: =head1 #: lib/Locale/Po4a/BibTeX.pm:39 lib/Locale/Po4a/Man.pm:106 lib/Locale/Po4a/Po.pm:49 lib/Locale/Po4a/Sgml.pm:45 lib/Locale/Po4a/TeX.pm:57 lib/Locale/Po4a/Text.pm:59 lib/Locale/Po4a/Xhtml.pm:46 lib/Locale/Po4a/Xml.pm:187 msgid "OPTIONS ACCEPTED BY THIS MODULE" msgstr "" # type: textblock #: lib/Locale/Po4a/BibTeX.pm:41 msgid "NONE." msgstr "" # type: =head1 #: lib/Locale/Po4a/BibTeX.pm:43 lib/Locale/Po4a/Dia.pm:54 lib/Locale/Po4a/Docbook.pm:46 lib/Locale/Po4a/Guide.pm:44 lib/Locale/Po4a/KernelHelp.pm:147 lib/Locale/Po4a/Man.pm:309 lib/Locale/Po4a/Pod.pm:193 lib/Locale/Po4a/Sgml.pm:125 lib/Locale/Po4a/TeX.pm:1649 lib/Locale/Po4a/Texinfo.pm:40 lib/Locale/Po4a/Text.pm:223 lib/Locale/Po4a/Xhtml.pm:64 lib/Locale/Po4a/Xml.pm:1523 msgid "STATUS OF THIS MODULE" msgstr "" # type: textblock #: lib/Locale/Po4a/BibTeX.pm:45 msgid "It is a very simple module, but still young." msgstr "" # type: verbatim #: lib/Locale/Po4a/BibTeX.pm:143 lib/Locale/Po4a/LaTeX.pm:52 lib/Locale/Po4a/TeX.pm:1694 lib/Locale/Po4a/Texinfo.pm:53 lib/Locale/Po4a/Text.pm:229 #, no-wrap msgid "" " Nicolas François \n" "\n" msgstr "" # type: =head1 #: lib/Locale/Po4a/BibTeX.pm:145 lib/Locale/Po4a/Chooser.pm:135 lib/Locale/Po4a/Common.pm:217 lib/Locale/Po4a/Dia.pm:69 lib/Locale/Po4a/Docbook.pm:64 lib/Locale/Po4a/Guide.pm:61 lib/Locale/Po4a/Ini.pm:111 lib/Locale/Po4a/KernelHelp.pm:165 lib/Locale/Po4a/LaTeX.pm:54 lib/Locale/Po4a/Man.pm:351 lib/Locale/Po4a/Pod.pm:299 lib/Locale/Po4a/Sgml.pm:1230 lib/Locale/Po4a/TeX.pm:1696 lib/Locale/Po4a/Texinfo.pm:55 lib/Locale/Po4a/Text.pm:231 lib/Locale/Po4a/Xhtml.pm:84 lib/Locale/Po4a/Xml.pm:1555 po4a:336 po4a-gettextize:127 po4a-normalize:77 po4a-translate:142 po4a-updatepo:111 scripts/msguntypot:107 msgid "COPYRIGHT AND LICENSE" msgstr "" # type: verbatim #: lib/Locale/Po4a/BibTeX.pm:147 #, no-wrap msgid "" " Copyright 2006 by Nicolas FRANÇOIS .\n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/BibTeX.pm:149 lib/Locale/Po4a/Chooser.pm:139 lib/Locale/Po4a/Common.pm:221 lib/Locale/Po4a/Dia.pm:73 lib/Locale/Po4a/Docbook.pm:68 lib/Locale/Po4a/Guide.pm:65 lib/Locale/Po4a/Ini.pm:115 lib/Locale/Po4a/KernelHelp.pm:169 lib/Locale/Po4a/Man.pm:355 lib/Locale/Po4a/Pod.pm:303 lib/Locale/Po4a/Sgml.pm:1235 lib/Locale/Po4a/TeX.pm:1700 lib/Locale/Po4a/Text.pm:235 lib/Locale/Po4a/Xhtml.pm:88 lib/Locale/Po4a/Xml.pm:1559 po4a:340 po4a-gettextize:131 po4a-normalize:81 po4a-translate:146 po4a-updatepo:115 scripts/msguntypot:111 msgid "" "This program is free software; you may redistribute it and/or modify it " "under the terms of GPL (see the COPYING file)." msgstr "" # type: textblock #: lib/Locale/Po4a/Chooser.pm:87 msgid "Locale::Po4a::Chooser - Manage po4a modules" msgstr "" # type: textblock #: lib/Locale/Po4a/Chooser.pm:91 msgid "" "Locale::Po4a::Chooser is a module to manage po4a modules. Before, all po4a " "binaries used to know all po4a modules (pod, man, sgml, etc). This made the " "add of a new module boring, to make sure the documentation is synchronized " "in all modules, and that each of them can access the new module." msgstr "" # type: textblock #: lib/Locale/Po4a/Chooser.pm:96 msgid "" "Now, you just have to call the Locale::Po4a::Chooser::new() function, " "passing the name of module as argument." msgstr "" # type: textblock #: lib/Locale/Po4a/Chooser.pm:99 msgid "" "You also have the Locale::Po4a::Chooser::list() function which lists the " "available format and exits on the value passed as argument." msgstr "" # type: =head1 #: lib/Locale/Po4a/Chooser.pm:102 lib/Locale/Po4a/Dia.pm:61 lib/Locale/Po4a/Docbook.pm:56 lib/Locale/Po4a/Guide.pm:53 lib/Locale/Po4a/Ini.pm:102 lib/Locale/Po4a/KernelHelp.pm:154 lib/Locale/Po4a/LaTeX.pm:44 lib/Locale/Po4a/Man.pm:340 lib/Locale/Po4a/Pod.pm:289 lib/Locale/Po4a/TeX.pm:1686 lib/Locale/Po4a/Texinfo.pm:45 lib/Locale/Po4a/Xhtml.pm:75 lib/Locale/Po4a/Xml.pm:1547 po4a:327 po4a-gettextize:118 po4a-normalize:68 po4a-translate:132 po4a-updatepo:102 scripts/msguntypot:95 msgid "SEE ALSO" msgstr "" # type: =item #: lib/Locale/Po4a/Chooser.pm:106 msgid "About po4a:" msgstr "" # type: textblock #: lib/Locale/Po4a/Chooser.pm:108 msgid "" "L, L, " "L" msgstr "" # type: =item #: lib/Locale/Po4a/Chooser.pm:112 msgid "About modules:" msgstr "" # type: textblock #: lib/Locale/Po4a/Chooser.pm:114 msgid "" "L, L, " "L, L, " "L, L, " "L, L, " "L, L, " "L, L, " "L." msgstr "" # type: verbatim #: lib/Locale/Po4a/Chooser.pm:132 lib/Locale/Po4a/KernelHelp.pm:162 lib/Locale/Po4a/Po.pm:1361 lib/Locale/Po4a/Pod.pm:296 lib/Locale/Po4a/Sgml.pm:1227 po4a:333 po4a-gettextize:124 po4a-normalize:74 po4a-translate:139 po4a-updatepo:108 #, no-wrap msgid "" " Denis Barbier \n" " Martin Quinson (mquinson#debian.org)\n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/Chooser.pm:137 msgid "Copyright 2002,2003,2004,2005 by SPI, inc." msgstr "" # type: textblock #: lib/Locale/Po4a/Common.pm:13 msgid "Locale::Po4a::Common - Common parts of the po4a scripts and utils" msgstr "" # type: textblock #: lib/Locale/Po4a/Common.pm:17 msgid "" "Locale::Po4a::Common contains common parts of the po4a scripts and some " "useful functions used along the other modules." msgstr "" # type: =head1 #: lib/Locale/Po4a/Common.pm:63 msgid "FUNCTIONS" msgstr "" # type: =head2 #: lib/Locale/Po4a/Common.pm:65 msgid "Showing output messages" msgstr "" # type: textblock #: lib/Locale/Po4a/Common.pm:71 msgid "show_version($)" msgstr "" # type: textblock #: lib/Locale/Po4a/Common.pm:73 msgid "" "Shows the current version of the script, and a short copyright message. It " "takes the name of the script as an argument." msgstr "" # type: textblock #: lib/Locale/Po4a/Common.pm:93 msgid "wrap_msg($@)" msgstr "" # type: textblock #: lib/Locale/Po4a/Common.pm:95 msgid "" "This function displays a message the same way than sprintf() does, but wraps " "the result so that they look nice on the terminal." msgstr "" # type: textblock #: lib/Locale/Po4a/Common.pm:109 msgid "wrap_mod($$@)" msgstr "" # type: textblock #: lib/Locale/Po4a/Common.pm:111 msgid "" "This function works like wrap_msg(), but it takes a module name as the first " "argument, and leaves a space at the left of the message." msgstr "" # type: textblock #: lib/Locale/Po4a/Common.pm:127 msgid "wrap_ref_mod($$$@)" msgstr "" # type: textblock #: lib/Locale/Po4a/Common.pm:129 msgid "" "This function works like wrap_msg(), but it takes a file:line reference as " "the first argument, a module name as the second one, and leaves a space at " "the left of the message." msgstr "" # type: =head2 #: lib/Locale/Po4a/Common.pm:152 msgid "Wrappers for other modules" msgstr "" # type: textblock #: lib/Locale/Po4a/Common.pm:158 msgid "Locale::Gettext" msgstr "" # type: textblock #: lib/Locale/Po4a/Common.pm:160 msgid "" "When the Locale::Gettext module cannot be loaded, this module provide dummy " "(empty) implementation of the following functions. In that case, po4a " "messages won't get translated but the program will continue to work." msgstr "" # type: textblock #: lib/Locale/Po4a/Common.pm:164 msgid "" "If Locale::gettext is present, this wrapper also calls " "setlocale(LC_MESSAGES, \"\") so callers don't depend on the POSIX module " "either." msgstr "" # type: textblock #: lib/Locale/Po4a/Common.pm:172 msgid "bindtextdomain($$)" msgstr "" # type: textblock #: lib/Locale/Po4a/Common.pm:176 msgid "textdomain($)" msgstr "" # type: textblock #: lib/Locale/Po4a/Common.pm:180 msgid "gettext($)" msgstr "" # type: textblock #: lib/Locale/Po4a/Common.pm:184 msgid "dgettext($$)" msgstr "" # type: verbatim #: lib/Locale/Po4a/Common.pm:215 lib/Locale/Po4a/Dia.pm:67 lib/Locale/Po4a/Docbook.pm:62 lib/Locale/Po4a/Guide.pm:59 lib/Locale/Po4a/Xml.pm:1553 #, no-wrap msgid "" " Jordi Vilalta \n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/Common.pm:219 scripts/msguntypot:109 msgid "Copyright 2005 by SPI, inc." msgstr "" # type: textblock #: lib/Locale/Po4a/Dia.pm:31 msgid "Locale::Po4a::Dia - Convert uncompressed Dia diagrams from/to PO files" msgstr "" # type: textblock #: lib/Locale/Po4a/Dia.pm:39 msgid "" "Locale::Po4a::Dia is a module to help the translation of diagrams in the " "uncompressed Dia format into other [human] languages." msgstr "" # type: verbatim #: lib/Locale/Po4a/Dia.pm:42 #, no-wrap msgid "" "You can get Dia (the graphical editor for these diagrams) from:\n" " http://www.gnome.org/projects/dia/\n" "\n" msgstr "" # type: =head1 #: lib/Locale/Po4a/Dia.pm:45 msgid "TRANSLATING WITH PO4A::DIA" msgstr "" # type: textblock #: lib/Locale/Po4a/Dia.pm:47 msgid "" "This module only translates uncompressed Dia diagrams. You can save your " "uncompressed diagrams with Dia itself, unchecking the \"Compress diagram " "files\" at the \"Save Diagram\" dialog." msgstr "" # type: verbatim #: lib/Locale/Po4a/Dia.pm:51 #, no-wrap msgid "" "Another way is to uncompress the dia files from command line with:\n" " gunzip < original.dia > uncompressed.dia\n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/Dia.pm:56 msgid "" "This module is fully functional, as it relies in the L " "module. This only defines the translatable tags (Edia:stringE), and " "filters the internal strings (the content of the Edia:diagramdataE " "tag), not interesting for translation." msgstr "" # type: textblock #: lib/Locale/Po4a/Dia.pm:63 lib/Locale/Po4a/Docbook.pm:58 lib/Locale/Po4a/Guide.pm:55 lib/Locale/Po4a/Xhtml.pm:77 msgid "" "L, L, " "L." msgstr "" # type: textblock #: lib/Locale/Po4a/Dia.pm:71 lib/Locale/Po4a/Docbook.pm:66 lib/Locale/Po4a/Guide.pm:63 msgid "Copyright (c) 2004 by Jordi Vilalta " msgstr "" # type: textblock #: lib/Locale/Po4a/Docbook.pm:31 msgid "Locale::Po4a::Docbook - Convert Docbook XML documents from/to PO files" msgstr "" # type: textblock #: lib/Locale/Po4a/Docbook.pm:39 msgid "" "Locale::Po4a::Docbook is a module to help the translation of DocBook XML " "documents into other [human] languages." msgstr "" # type: textblock #: lib/Locale/Po4a/Docbook.pm:42 msgid "" "Please note that this module is still under heavy development, and not " "distributed in official po4a release since we don't feel it to be mature " "enough. If you insist on trying, check the CVS out." msgstr "" # type: textblock #: lib/Locale/Po4a/Docbook.pm:48 lib/Locale/Po4a/Guide.pm:46 lib/Locale/Po4a/Xhtml.pm:66 msgid "" "This module is fully functional, as it relies in the L " "module. This only defines the translatable tags and attributes." msgstr "" # type: textblock #: lib/Locale/Po4a/Docbook.pm:51 msgid "" "The only known issue is that it doesn't handle entities yet, and this " "includes the file inclusion entities, but you can translate most of those " "files alone (except the typical entities files), and it's usually better to " "maintain them separated." msgstr "" # type: textblock #: lib/Locale/Po4a/Guide.pm:31 msgid "Locale::Po4a::Guide - Convert Guide XML documents from/to PO files" msgstr "" # type: textblock #: lib/Locale/Po4a/Guide.pm:39 msgid "" "Locale::Po4a::Guide is a module to help in the translation of the Gentoo " "Linux documentation in the Guide XML format into other [human] languages." msgstr "" # type: textblock #: lib/Locale/Po4a/Guide.pm:42 msgid "This format is documented here: http://www.gentoo.org/doc/en/xml-guide.xml" msgstr "" # type: textblock #: lib/Locale/Po4a/Guide.pm:49 msgid "" "The only known issue is that it doesn't include files with the tag, but you can translate all those files alone, and it's " "usually better to have them separated." msgstr "" # type: textblock #: lib/Locale/Po4a/Ini.pm:88 msgid "Locale::Po4a::Ini - Convert ini files from/to PO files" msgstr "" # type: textblock #: lib/Locale/Po4a/Ini.pm:92 msgid "" "Locale::Po4a::Ini is a module to help the translation of INI files into " "other [human] languages." msgstr "" # type: textblock #: lib/Locale/Po4a/Ini.pm:95 msgid "" "The module searches for lines of the following format and extracts the " "quoted text:" msgstr "" # type: textblock #: lib/Locale/Po4a/Ini.pm:98 msgid "identificator=\"text than can be translated\"" msgstr "" # type: textblock #: lib/Locale/Po4a/Ini.pm:100 msgid "NOTE: If the text is not quoted, it will be ignored." msgstr "" # type: textblock #: lib/Locale/Po4a/Ini.pm:104 msgid "L, L." msgstr "" # type: verbatim #: lib/Locale/Po4a/Ini.pm:108 #, no-wrap msgid "" " Razvan Rusu \n" " Costin Stroie \n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/Ini.pm:113 msgid "Copyright 2006 by BitDefender" msgstr "" # type: textblock #: lib/Locale/Po4a/KernelHelp.pm:139 msgid "" "Locale::Po4a::KernelHelp - Convert kernel configuration help from/to PO " "files" msgstr "" # type: textblock #: lib/Locale/Po4a/KernelHelp.pm:143 msgid "" "Locale::Po4a::KernelHelp is a module to help the translation of " "documentation for the Linux kernel configuration options into other [human] " "languages." msgstr "" # type: textblock #: lib/Locale/Po4a/KernelHelp.pm:149 msgid "" "This module is just written, and needs more tests. Most of the needed work " "will concern the tools used to parse this file (and configure the kernel), " "so that they accept to read the documentation from another (translated) " "file." msgstr "" # type: textblock #: lib/Locale/Po4a/KernelHelp.pm:156 msgid "" "L, L, L, " "L, L," msgstr "" # type: textblock #: lib/Locale/Po4a/KernelHelp.pm:167 lib/Locale/Po4a/Pod.pm:301 msgid "Copyright 2002 by SPI, inc." msgstr "" # type: textblock #: lib/Locale/Po4a/LaTeX.pm:26 msgid "Locale::Po4a::LaTeX - Convert LaTeX documents and derivates from/to PO files" msgstr "" # type: textblock #: lib/Locale/Po4a/LaTeX.pm:34 msgid "" "Locale::Po4a::LaTeX is a module to help the translation of LaTeX documents " "into other [human] languages. It can also be used as a base to build modules " "for LaTeX-based documents." msgstr "" # type: textblock #: lib/Locale/Po4a/LaTeX.pm:38 msgid "" "This module contains the definitions of common LaTeX commands and " "environments." msgstr "" # type: textblock #: lib/Locale/Po4a/LaTeX.pm:41 msgid "" "See the L manpage for the list of " "recognized options." msgstr "" # type: textblock #: lib/Locale/Po4a/LaTeX.pm:46 lib/Locale/Po4a/Texinfo.pm:47 msgid "" "L, " "L, " "L." msgstr "" # type: textblock #: lib/Locale/Po4a/LaTeX.pm:56 lib/Locale/Po4a/TeX.pm:1698 lib/Locale/Po4a/Texinfo.pm:57 msgid "Copyright 2004, 2005 by Nicolas FRANÇOIS ." msgstr "" # type: textblock #: lib/Locale/Po4a/LaTeX.pm:58 lib/Locale/Po4a/Texinfo.pm:59 msgid "" "This program is free software; you may redistribute it and/or modify it " "under the terms of GPL (see COPYING file)." msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:5 msgid "Locale::Po4a::Man - Convert manual pages from/to PO files" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:13 msgid "" "Locale::Po4a::Man is a module to help the translation of documentation in " "the nroff format (the language of manual pages) into other [human] " "languages." msgstr "" # type: =head1 #: lib/Locale/Po4a/Man.pm:17 msgid "TRANSLATING WITH PO4A::MAN" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:19 msgid "" "This module tries pretty hard to make translator's life easier. For that, " "the text presented to translators isn't a verbatim copy of the text found in " "the man page. Indeed, the cruder parts of the nroff format are hidden, so " "that translators can't mess up with them." msgstr "" # type: =head2 #: lib/Locale/Po4a/Man.pm:24 msgid "Text wrapping" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:26 msgid "" "Unindented paragraphs are automatically rewrapped for the translator. This " "can lead to some minor difference in the generated output, since the " "rewrapping rules used by groff aren't very clear. For example, two spaces " "after a parenthesis are sometimes preserved, while typographic rules only " "ask to preserve the two spaces after the period sign (ok, I'm not native " "speaker, and I'm not sure of that. If you have any other information, you're " "welcome)." msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:34 msgid "" "Anyway, the difference will only be about the position of the extra spaces " "in wrapped paragraph, and I think it's worth." msgstr "" # type: =head2 #: lib/Locale/Po4a/Man.pm:37 msgid "Font specification" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:39 msgid "" "The first change is about font change specifications. In nroff, there are " "several ways to specify if a given word should be written in small, bold or " "italics. In the text to translate, there is only one way, borrowed from the " "pod (perl online documentation) format:" msgstr "" # type: =item #: lib/Locale/Po4a/Man.pm:46 msgid "IEtextE -- italic text" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:48 msgid "equivalent to \\fItext\\fP or \".I text\"" msgstr "" # type: =item #: lib/Locale/Po4a/Man.pm:50 msgid "BEtextE -- bold text" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:52 msgid "equivalent to \\fBtext\\fP or \".B text\"" msgstr "" # type: =item #: lib/Locale/Po4a/Man.pm:54 msgid "REtextE -- roman text" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:56 msgid "equivalent to \\fRtext\\fP" msgstr "" # type: =item #: lib/Locale/Po4a/Man.pm:58 msgid "CWEtextE -- constant width text" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:60 msgid "equivalent to \\f(CWtext\\fP or \".CW text\"" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:64 msgid "" "Remark: The CW face is not available for all groff devices. It is not " "recommended to use it. It is provided for your convenience." msgstr "" # type: =head2 #: lib/Locale/Po4a/Man.pm:67 msgid "Automatic characters transliteration" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:69 msgid "" "Po4a automatically transliterate some characters to ease the translation or " "the review of the translation. Here is the list of the transliterations:" msgstr "" # type: =item #: lib/Locale/Po4a/Man.pm:75 msgid "hyphens" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:77 msgid "" "Hyphens (-) and minus signs (\\-) in man pages are all transliterated as " "simple dashes (-) in the PO file. Then all dash are transliterated into " "roff minus signs (\\-) when the translation is inserted into the output " "document." msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:82 msgid "" "Translators can force an hyphen by using the roff glyph '\\[hy]' in their " "translations." msgstr "" # type: =item #: lib/Locale/Po4a/Man.pm:85 msgid "non-breaking spaces" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:87 msgid "" "Translators can use non-breaking spaces in their translations. These " "non-breaking spaces (0xA0 in latin1) will be transliterated into a roff " "non-breaking space ('\\ ')." msgstr "" # type: =item #: lib/Locale/Po4a/Man.pm:91 msgid "quotes transliterations" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:93 msgid "`` and '' are respectively tranliterated into \\*(lq and \\*(rq." msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:95 msgid "" "To avoid these transliterations, translators can insert a zero width roff " "character (i.e., using `\\&` or '\\&' respectively)." msgstr "" # type: =head2 #: lib/Locale/Po4a/Man.pm:100 msgid "Putting 'E' and 'E' in translations" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:102 msgid "" "Since these chars are used to delimit parts under font modification, you " "can't use them verbatim. Use EEltE and EEgtE instead (as in " "pod, one more time)." msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:108 lib/Locale/Po4a/TeX.pm:59 lib/Locale/Po4a/Text.pm:61 lib/Locale/Po4a/Xhtml.pm:48 lib/Locale/Po4a/Xml.pm:192 msgid "These are this module's particular options:" msgstr "" # type: =item #: lib/Locale/Po4a/Man.pm:112 msgid "B" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:114 lib/Locale/Po4a/TeX.pm:128 msgid "" "Activate debugging for some internal mechanisms of this module. Use the " "source to see which parts can be debugged." msgstr "" # type: =item #: lib/Locale/Po4a/Man.pm:117 msgid "B" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:119 msgid "Increase verbosity." msgstr "" # type: =item #: lib/Locale/Po4a/Man.pm:121 msgid "B" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:123 msgid "" "This option permits to change the behavior of the module when it encounter a " ".de, .ie or .if section. It can take the following values:" msgstr "" # type: =item #: lib/Locale/Po4a/Man.pm:128 lib/Locale/Po4a/Xml.pm:226 msgid "I" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:130 msgid "" "This is the default value. The module will fail when a .de, .ie or .if " "section is encountered." msgstr "" # type: =item #: lib/Locale/Po4a/Man.pm:133 msgid "I" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:135 msgid "" "Indicates that the .de, .ie or .if sections must be copied as is from the " "original to the translated document." msgstr "" # type: =item #: lib/Locale/Po4a/Man.pm:138 msgid "I" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:140 msgid "" "Indicates that the .de, .ie or .if sections will be proposed for the " "translation. You should only use this option if a translatable string is " "contained in one of these section. Otherwise, I should be " "preferred." msgstr "" # type: =item #: lib/Locale/Po4a/Man.pm:148 msgid "B" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:150 msgid "" "This option specifies that the file was generated, and that po4a should not " "try to detect if the man pages was generated from another format. This " "permits to use po4a on generated man pages. This option does not take any " "argument." msgstr "" # type: =item #: lib/Locale/Po4a/Man.pm:155 msgid "B" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:157 msgid "This option is only useful for mdoc pages." msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:159 msgid "" "It selects a stricter support of the mdoc format by telling po4a not to " "translate the 'NAME' section. mdoc pages whose 'NAME' section is translated " "won't generate any header of footer." msgstr "" # type: verbatim #: lib/Locale/Po4a/Man.pm:164 #, no-wrap msgid "" "According to the groff_mdoc page, the NAME, SYNOPSIS and DESCRIPTION\n" "sections are mandatory.\n" "There are no known issues with translated SYNOPSIS or DESCRIPTION section,\n" "but you can also specify these sections this way:\n" " -o mdoc=NAME,SYNOPSIS,DESCRIPTION\n" "\n" msgstr "" # type: verbatim #: lib/Locale/Po4a/Man.pm:170 #, no-wrap msgid "" "This mdoc issue can also be solved with an addendum like this one:\n" " PO4A-HEADER:mode=before;position=^.Dd\n" " .TH DOCUMENT_TITLE 1 \"Month day, year\" OS \"Section Name\"\n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:177 msgid "" "The following options permit to specify the behavior of a new macro (defined " "with a .de request), or of a macro not supported by po4a. They take in " "argument a coma separated list of macros. For example:" msgstr "" # type: verbatim #: lib/Locale/Po4a/Man.pm:182 #, no-wrap msgid "" " -o noarg=FO,OB,AR -o translate_joined=BA,ZQ,UX\n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:184 msgid "" "Note: if a macro is not supported by po4a and if you consider that it is a " "standard roff macro, you should submit it to the po4a development team." msgstr "" # type: =item #: lib/Locale/Po4a/Man.pm:189 msgid "B" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:191 msgid "" "B indicates that this macro (at its arguments) don't have to " "be translated." msgstr "" # type: =item #: lib/Locale/Po4a/Man.pm:194 msgid "B" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:196 msgid "" "B is like B, except that po4a will verify that no " "argument is added to this macro." msgstr "" # type: =item #: lib/Locale/Po4a/Man.pm:199 msgid "B" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:201 msgid "" "B indicates that po4a must propose to translate the " "arguments of the macro." msgstr "" # type: =item #: lib/Locale/Po4a/Man.pm:204 msgid "B" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:206 msgid "" "With B, the arguments will also be proposed for the " "translation, except that each one will be translated separately." msgstr "" # type: =item #: lib/Locale/Po4a/Man.pm:209 msgid "B" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:211 msgid "" "This option takes in argument a list of coma-separated couples " "I:I, where I and I are commands that delimit the " "begin and end of a section that should not be rewrapped." msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:215 msgid "" "Note: no test is done to ensure that an I command matches its I " "command; any ending command stop the no_wrap mode. If you have a I " "(respectively I) macro that has no I (respectively I), you " "can specify an existing I (like fi) or I (like nf) as a " "counterpart. These macros (and their arguments) wont be translated." msgstr "" # type: =item #: lib/Locale/Po4a/Man.pm:222 msgid "B" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:224 msgid "" "This option specifies a list of coma-separated macros that must not split " "the current paragraph. The string to translate will then contain I.bar baz quxE quux>, where I is the command that should be " "inlined, and I its arguments." msgstr "" # type: =item #: lib/Locale/Po4a/Man.pm:229 msgid "B" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:231 msgid "" "This option indicates how po4a should behave when an unknown macro is " "found. By default, po4a fails with a warning. It can take the following " "values: I (the default value), I, I, " "I, I." msgstr "" # type: =head1 #: lib/Locale/Po4a/Man.pm:238 msgid "AUTHORING MAN PAGES COMPLIANT WITH PO4A::MAN" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:240 msgid "" "This module is still very limited, and will always be, because it's not a " "real nroff interpreter. It would be possible to do a real nroff interpreter, " "to allow authors to use all the existing macros, or even to define new ones " "in their pages, but we didn't want to. It would be too difficult, and we " "thought it wasn't necessary. We do think that if manpages' authors want to " "see their productions translated, they may have to adapt to ease the work of " "translators." msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:248 msgid "" "So, the man parser implemented in po4a have some known limitations we are " "not really inclined to correct, and which will constitute some pitfalls " "you'll have to avoid if you want to see translators taking care of your " "documentation." msgstr "" # type: =head2 #: lib/Locale/Po4a/Man.pm:253 msgid "Don't program in nroff" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:255 msgid "" "nroff is a complete programming language, with macro definition, " "conditionals and so on. Since this parser isn't a fully featured nroff " "interpreter, it will fail on pages using these facilities (There are about " "200 such pages on my box)." msgstr "" # type: =head2 #: lib/Locale/Po4a/Man.pm:260 msgid "Use the plain macro set" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:262 msgid "" "There are still some macros which are not supported by po4a::man. This is " "only because I failed to find any documentation about them. Here is the list " "of unsupported macros used on my box. Note that this list isn't exhaustive " "since the program fails on the first encountered unsupported macro. If you " "have any information about some of these macros, I'll happily add support " "for them. Because of these macros, about 250 pages on my box are " "inaccessible to po4a::man." msgstr "" # type: verbatim #: lib/Locale/Po4a/Man.pm:270 #, no-wrap msgid "" " .. .\" .AT .b .bank\n" " .BE ..br .Bu .BUGS .BY\n" " .ce .dbmmanage .do .En\n" " .EP .EX .Fi .hw .i\n" " .Id .l .LO .mf \n" " .N .na .NF .nh .nl\n" " .Nm .ns .NXR .OPTIONS .PB\n" " .pp .PR .PRE .PU .REq\n" " .RH .rn .S< .sh .SI\n" " .splitfont .Sx .T .TF .The\n" " .TT .UC .ul .Vb .zZ\n" "\n" msgstr "" # type: =head2 #: lib/Locale/Po4a/Man.pm:282 msgid "Conclusion" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:284 msgid "" "To summarise this section, keep simple, and don't try to be clever while " "authoring your man pages. A lot of things are possible in nroff, and not " "supported by this parser. For example, don't try to mess with \\c to " "interrupt the text processing (like 40 pages on my box do). Or, be sure to " "put the macro arguments on the same line that the macro itself. I know that " "it's valid in nroff, but would complicate too much the parser to be handled." msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:292 msgid "" "Of course, another possibility is to use another format, more translator " "friendly (like pod using po4a::pod, or one of the xml familly like sgml), " "but thanks to po4a::man it isn't needed anymore. That being said, if the " "source format of your documentation is pod, or xml, it may be clever to " "translate the source format and not this generated one. In most cases, " "po4a::man will detect generated pages and issue a warning. It will even " "refuse to process Pod generated pages, because those pages are perfectly " "handled by po4a::pod, and because their nroff counterpart defines a lot of " "new macros I didn't want to write support for. On my box, 1432 of the 4323 " "pages are generated from pod and will be ignored by po4a::man." msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:303 msgid "" "In most cases, po4a::man will detect the problem and refuse to process the " "page, issuing an adapted message. In some rare cases, the program will " "complete without warning, but the output will be wrong. Such cases are " "called \"bugs\" ;) If you encounter such case, be sure to report this, along " "with a fix when possible..." msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:311 msgid "This module can be used for most of the existing man pages." msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:313 msgid "Some tests are regularly run on Linux boxes:" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:319 msgid "" "one third of the pages are refused because they were generated from another " "format supported by po4a (e.g. pod or SGML)." msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:324 msgid "" "10% of the remaining pages are rejected with an error (e.g. a groff macro is " "not supported)." msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:329 msgid "" "Then, less than 1% of the pages are accepted silently by po4a, but with " "significant issues (i.e. missing words, or new words inserted)" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:334 msgid "" "The other pages are usually handled without differences more important than " "spacing differences or line rewrapped (font issues in less than 10% of the " "processed pages)." msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:342 msgid "" "L, L, " "L." msgstr "" # type: verbatim #: lib/Locale/Po4a/Man.pm:347 #, no-wrap msgid "" " Denis Barbier \n" " Nicolas François \n" " Martin Quinson (mquinson#debian.org)\n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/Man.pm:353 msgid "Copyright 2002, 2003, 2004, 2005, 2006 by SPI, inc." msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:13 msgid "Locale::Po4a::Po - po file manipulation module" msgstr "" # type: SH #: lib/Locale/Po4a/Po.pm:15 lib/Locale/Po4a/Pod.pm:176 lib/Locale/Po4a/TransTractor.pm:117 po4a:17 po4a-gettextize:17 po4a-normalize:17 po4a-translate:17 po4a-updatepo:17 scripts/msguntypot:22 scripts/po4aman-display-po.1:5 #, no-wrap msgid "SYNOPSIS" msgstr "" # type: verbatim #: lib/Locale/Po4a/Po.pm:17 #, no-wrap msgid "" " use Locale::Po4a::Po;\n" " my $pofile=Locale::Po4a::Po->new();\n" "\n" msgstr "" # type: verbatim #: lib/Locale/Po4a/Po.pm:20 #, no-wrap msgid "" " # Read po file\n" " $pofile->read('file.po');\n" "\n" msgstr "" # type: verbatim #: lib/Locale/Po4a/Po.pm:23 #, no-wrap msgid "" " # Add an entry\n" " $pofile->push('msgid' => 'Hello', 'msgstr' => 'bonjour', \n" " 'flags' => \"wrap\", 'reference'=>'file.c:46');\n" "\n" msgstr "" # type: verbatim #: lib/Locale/Po4a/Po.pm:27 #, no-wrap msgid "" " # Extract a translation\n" " $pofile->gettext(\"Hello\"); # returns 'bonjour'\n" "\n" msgstr "" # type: verbatim #: lib/Locale/Po4a/Po.pm:30 #, no-wrap msgid "" " # Write back to a file\n" " $pofile->write('otherfile.po');\n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:35 msgid "" "Locale::Po4a::Po is a module that allows you to manipulate message " "catalogs. You can load and write from/to a file (which extension is often " "I), you can build new entries on the fly or request for the translation " "of a string." msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:40 msgid "" "For a more complete description of message catalogs in the po format and " "their use, please refer to the documentation of the gettext program." msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:43 msgid "" "This module is part of the PO4A project, which objective is to use po files " "(designed at origin to ease the translation of program messages) to " "translate everything, including documentation (man page, info manual), " "package description, debconf templates, and everything which may benefit " "from this." msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:53 msgid "porefs" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:55 msgid "" "This specifies the reference format. It can be one of 'none' to not produce " "any reference, 'noline' to not specify the line number, and 'full' to " "include complete references." msgstr "" # type: =head1 #: lib/Locale/Po4a/Po.pm:102 msgid "Functions about whole message catalogs" msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:106 msgid "new()" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:108 msgid "" "Creates a new message catalog. If an argument is provided, it's the name of " "a po file we should load." msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:193 lib/Locale/Po4a/TransTractor.pm:378 msgid "read($)" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:195 msgid "" "Reads a po file (which name is given as argument). Previously existing " "entries in self are not removed, the new ones are added to the end of the " "catalog." msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:266 lib/Locale/Po4a/TransTractor.pm:421 msgid "write($)" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:268 msgid "Writes the current catalog to the given file." msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:349 msgid "write_if_needed($$)" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:351 msgid "" "Like write, but if the PO or POT file already exists, the object will be " "written in a temporary file which will be compared with the existing file to " "check that the update is needed (this avoids to change a POT just to update " "a line reference or the POT-Creation-Date field)." msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:407 msgid "gettextize($$)" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:409 msgid "" "This function produces one translated message catalog from two catalogs, an " "original and a translation. This process is described in L, " "section I." msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:519 msgid "filter($)" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:521 msgid "" "This function extracts a catalog from an existing one. Only the entries " "having a reference in the given file will be placed in the resulting " "catalog." msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:524 msgid "" "This function parses its argument, converts it to a perl function " "definition, eval this definition and filter the fields for which this " "function returns true." msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:528 msgid "I love perl sometimes ;)" msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:734 msgid "to_utf8()" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:736 msgid "" "Recodes to utf-8 the po's msgstrs. Does nothing if the charset is not " "specified in the po file (\"CHARSET\" value), or if it's already utf-8 or " "ascii." msgstr "" # type: =head1 #: lib/Locale/Po4a/Po.pm:758 msgid "Functions to use a message catalog for translations" msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:762 msgid "gettext($%)" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:764 msgid "" "Request the translation of the string given as argument in the current " "catalog. The function returns the original (untranslated) string if the " "string was not found." msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:768 msgid "" "After the string to translate, you can pass a hash of extra arguments. Here " "are the valid entries:" msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:773 lib/Locale/Po4a/Po.pm:934 lib/Locale/Po4a/TransTractor.pm:769 lib/Locale/Po4a/Xml.pm:200 msgid "wrap" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:775 msgid "" "boolean indicating whether we can consider that whitespaces in string are " "not important. If yes, the function canonizes the string before looking for " "a translation, and wraps the result." msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:779 lib/Locale/Po4a/Po.pm:941 lib/Locale/Po4a/TransTractor.pm:775 msgid "wrapcol" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:781 lib/Locale/Po4a/Po.pm:943 lib/Locale/Po4a/TransTractor.pm:777 msgid "The column at which we should wrap (default: 76)." msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:835 msgid "stats_get()" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:837 msgid "" "Returns statistics about the hit ratio of gettext since the last time that " "stats_clear() was called. Please note that it's not the same statistics than " "the one printed by msgfmt --statistic. Here, it's statistics about recent " "usage of the po file, while msgfmt reports the status of the file. Example " "of use:" msgstr "" # type: verbatim #: lib/Locale/Po4a/Po.pm:843 #, no-wrap msgid "" " [some use of the po file to translate stuff]\n" "\n" msgstr "" # type: verbatim #: lib/Locale/Po4a/Po.pm:845 #, no-wrap msgid "" " ($percent,$hit,$queries) = $pofile->stats_get();\n" " print \"So far, we found translations for $percent\\% ($hit of " "$queries) of strings.\\n\";\n" "\n" msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:861 msgid "stats_clear()" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:863 msgid "Clears the statistics about gettext hits." msgstr "" # type: =head1 #: lib/Locale/Po4a/Po.pm:875 msgid "Functions to build a message catalog" msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:879 msgid "push(%)" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:881 msgid "" "Push a new entry at the end of the current catalog. The arguments should " "form a hash table. The valid keys are:" msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:886 msgid "msgid" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:888 msgid "the string in original language." msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:890 msgid "msgstr" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:892 msgid "the translation." msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:894 msgid "reference" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:896 msgid "" "an indication of where this string was found. Example: file.c:46 (meaning in " "'file.c' at line 46). It can be a space-separated list in case of multiple " "occurrences." msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:900 lib/Locale/Po4a/TransTractor.pm:779 msgid "comment" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:902 msgid "a comment added here manually (by the translators). The format here is free." msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:904 msgid "automatic" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:906 msgid "" "a comment which was automatically added by the string extraction " "program. See the I<--add-comments> option of the B program for " "more information." msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:910 msgid "flags" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:912 msgid "space-separated list of all defined flags for this entry." msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:914 msgid "" "Valid flags are: c-text, python-text, lisp-text, elisp-text, librep-text, " "smalltalk-text, java-text, awk-text, object-pascal-text, ycp-text, tcl-text, " "wrap, no-wrap and fuzzy." msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:918 msgid "See the gettext documentation for their meaning." msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:920 msgid "type" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:922 msgid "" "This is mostly an internal argument: it is used while gettextizing " "documents. The idea here is to parse both the original and the translation " "into a po object, and merge them, using one's msgid as msgid and the other's " "msgid as msgstr. To make sure that things get ok, each msgid in po objects " "are given a type, based on their structure (like \"chapt\", \"sect1\", \"p\" " "and so on in docbook). If the types of strings are not the same, that means " "that both files do not share the same structure, and the process reports an " "error." msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:931 msgid "" "This information is written as automatic comment in the po file since this " "gives to translators some context about the strings to translate." msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:936 msgid "" "boolean indicating whether whitespaces can be mangled in cosmetic " "reformattings. If true, the string is canonized before use." msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:939 msgid "" "This information is written to the po file using the 'wrap' or 'no-wrap' " "flag." msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:945 msgid "This information is not written to the po file." msgstr "" # type: =head1 #: lib/Locale/Po4a/Po.pm:1089 msgid "Miscellaneous functions" msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:1093 msgid "count_entries()" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:1095 msgid "Returns the number of entries in the catalog (without the header)." msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:1104 msgid "count_entries_doc()" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:1106 msgid "" "Returns the number of entries in document. If a string appears multiple " "times in the document, it will be counted multiple times" msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:1116 msgid "msgid($)" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:1118 msgid "Returns the msgid of the given number." msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:1132 msgid "msgid_doc($)" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:1134 msgid "Returns the msgid with the given position in the document." msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:1150 msgid "get_charset()" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:1152 msgid "" "Returns the character set specified in the po header. If it hasn't been set, " "it will return \"CHARSET\"." msgstr "" # type: =item #: lib/Locale/Po4a/Po.pm:1163 msgid "set_charset($)" msgstr "" # type: textblock #: lib/Locale/Po4a/Po.pm:1165 msgid "" "This sets the character set of the po header to the value specified in its " "first argument. If you never call this function (and no file with a " "specified character set is read), the default value is left to " "\"CHARSET\". This value doesn't change the behavior of this module, it's " "just used to fill that field in the header, and to return it in " "get_charset()." msgstr "" # type: textblock #: lib/Locale/Po4a/Pod.pm:174 msgid "Locale::Po4a::Pod - Convert POD data from/to PO files" msgstr "" # type: verbatim #: lib/Locale/Po4a/Pod.pm:178 #, no-wrap msgid "" " use Locale::Po4a::Pod;\n" " my $parser = Locale::Po4a::Pod->new (sentence => 0, width => 78);\n" "\n" msgstr "" # type: verbatim #: lib/Locale/Po4a/Pod.pm:181 #, no-wrap msgid "" " # Read POD from STDIN and write to STDOUT.\n" " $parser->parse_from_filehandle;\n" "\n" msgstr "" # type: verbatim #: lib/Locale/Po4a/Pod.pm:184 #, no-wrap msgid "" " # Read POD from file.pod and write to file.txt.\n" " $parser->parse_from_file ('file.pod', 'file.txt');\n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/Pod.pm:189 msgid "" "Locale::Po4a::Pod is a module to help the translation of documentation in " "the POD format (the preferred language for documenting Perl) into other " "[human] languages." msgstr "" # type: textblock #: lib/Locale/Po4a/Pod.pm:195 msgid "I think that this module is rock stable, and there is only one known bug:" msgstr "" # type: textblock #: lib/Locale/Po4a/Pod.pm:197 msgid "" "I have another problem with /usr/lib/perl5/Tk/MainWindow.pod (and some other " "pages, see below) which contains:" msgstr "" # type: verbatim #: lib/Locale/Po4a/Pod.pm:200 #, no-wrap msgid "" " CE\" #n\"E\n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/Pod.pm:202 msgid "" "Lack of luck, in the po4a version, this was splited on the space by the " "wrapping. As result, in the original version, the man contain" msgstr "" # type: verbatim #: lib/Locale/Po4a/Pod.pm:205 #, no-wrap msgid "" " \" #n\"\n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/Pod.pm:207 msgid "and mine contain" msgstr "" # type: verbatim #: lib/Locale/Po4a/Pod.pm:209 #, no-wrap msgid "" " \"\" #n\"\"\n" " \n" msgstr "" # type: textblock #: lib/Locale/Po4a/Pod.pm:211 msgid "which is logic since C is rewritten \"foobar\"" msgstr "" # type: textblock #: lib/Locale/Po4a/Pod.pm:213 msgid "" "Complete list of pages having this problem on my box (from 564 pages ; note " "that it depends on the chosen wrapping column): " "/usr/lib/perl5/Tk/MainWindow.pod /usr/share/perl/5.8.0/overload.pod " "/usr/share/perl/5.8.0/pod/perlapi.pod " "/usr/share/perl/5.8.0/pod/perldelta.pod " "/usr/share/perl/5.8.0/pod/perlfaq5.pod /usr/share/perl/5.8.0/pod/perlpod.pod " "/usr/share/perl/5.8.0/pod/perlre.pod /usr/share/perl/5.8.0/pod/perlretut.pod" msgstr "" # type: =head1 #: lib/Locale/Po4a/Pod.pm:226 msgid "INTERNALS" msgstr "" # type: textblock #: lib/Locale/Po4a/Pod.pm:228 msgid "" "As a derived class from Pod::Parser, Locale::Po4a::Pod supports the same " "methods and interfaces. See L for all the details; briefly, " "one creates a new parser with C<< Locale::Po4a::Pod->new() >> and then calls " "either parse_from_filehandle() or parse_from_file()." msgstr "" # type: textblock #: lib/Locale/Po4a/Pod.pm:233 msgid "" "new() can take options, in the form of key/value pairs, that control the " "behavior of the parser. The recognized options common to all Pod::Parser " "children are:" msgstr "" # type: =item #: lib/Locale/Po4a/Pod.pm:239 msgid "alt" msgstr "" # type: textblock #: lib/Locale/Po4a/Pod.pm:241 msgid "" "If set to a true value, selects an alternate output format that, among other " "things, uses a different heading style and marks C<=item> entries with a " "colon in the left margin. Defaults to false." msgstr "" # type: =item #: lib/Locale/Po4a/Pod.pm:245 msgid "code" msgstr "" # type: textblock #: lib/Locale/Po4a/Pod.pm:247 msgid "" "If set to a true value, the non-POD parts of the input file will be included " "in the output. Useful for viewing code documented with POD blocks with the " "POD rendered and the code left intact." msgstr "" # type: =item #: lib/Locale/Po4a/Pod.pm:251 lib/Locale/Po4a/Sgml.pm:67 msgid "indent" msgstr "" # type: textblock #: lib/Locale/Po4a/Pod.pm:253 msgid "" "The number of spaces to indent regular text, and the default indentation for " "C<=over> blocks. Defaults to 4." msgstr "" # type: =item #: lib/Locale/Po4a/Pod.pm:256 msgid "loose" msgstr "" # type: textblock #: lib/Locale/Po4a/Pod.pm:258 msgid "" "If set to a true value, a blank line is printed after a C<=head1> heading. " "If set to false (the default), no blank line is printed after C<=head1>, " "although one is still printed after C<=head2>. This is the default because " "it's the expected formatting for manual pages; if you're formatting " "arbitrary text documents, setting this to true may result in more pleasing " "output." msgstr "" # type: =item #: lib/Locale/Po4a/Pod.pm:265 msgid "quotes" msgstr "" # type: textblock #: lib/Locale/Po4a/Pod.pm:267 msgid "" "Sets the quote marks used to surround CE> text. If the value is a " "single character, it is used as both the left and right quote; if it is two " "characters, the first character is used as the left quote and the second as " "the right quoted; and if it is four characters, the first two are used as " "the left quote and the second two as the right quote." msgstr "" # type: textblock #: lib/Locale/Po4a/Pod.pm:273 msgid "" "This may also be set to the special value C, in which case no quote " "marks are added around CE> text." msgstr "" # type: =item #: lib/Locale/Po4a/Pod.pm:276 msgid "sentence" msgstr "" # type: textblock #: lib/Locale/Po4a/Pod.pm:278 msgid "" "If set to a true value, Locale::Po4a::Pod will assume that each sentence " "ends in two spaces, and will try to preserve that spacing. If set to false, " "all consecutive whitespace in non-verbatim paragraphs is compressed into a " "single space. Defaults to true." msgstr "" # type: =item #: lib/Locale/Po4a/Pod.pm:283 msgid "width" msgstr "" # type: textblock #: lib/Locale/Po4a/Pod.pm:285 msgid "The column at which to wrap text on the right-hand side. Defaults to 76." msgstr "" # type: textblock #: lib/Locale/Po4a/Pod.pm:291 msgid "" "L, L, L, " "L," msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:34 msgid "Locale::Po4a::Sgml - Convert sgml documents from/to PO files" msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:42 msgid "" "Locale::Po4a::Sgml is a module to help the translation of documentation in " "the SGML format into other [human] languages." msgstr "" # type: =item #: lib/Locale/Po4a/Sgml.pm:49 lib/Locale/Po4a/TeX.pm:126 msgid "debug" msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:51 msgid "" "Space separated list of keywords indicating which part you want to " "debug. Possible values are: tag, generic, entities and refs." msgstr "" # type: =item #: lib/Locale/Po4a/Sgml.pm:53 msgid "verbose" msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:55 msgid "Give more information about what's going on." msgstr "" # type: =item #: lib/Locale/Po4a/Sgml.pm:57 lib/Locale/Po4a/TeX.pm:370 msgid "translate" msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:59 msgid "" "Space separated list of extra tags (beside the dtd provided ones) whose " "content should form an extra msgid." msgstr "" # type: =item #: lib/Locale/Po4a/Sgml.pm:62 msgid "section" msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:64 msgid "" "Space separated list of extra tags (beside the dtd provided ones) " "containing other tags, some of them being of category 'translate'." msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:69 msgid "Space separated list of tags which increase the indentation level." msgstr "" # type: =item #: lib/Locale/Po4a/Sgml.pm:71 lib/Locale/Po4a/TeX.pm:153 msgid "verbatim" msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:73 msgid "" "The layout within those tags should not be changed. The paragraph won't get " "wrapped, and no extra indentation space or new line will be added for " "cosmetic purpose." msgstr "" # type: =item #: lib/Locale/Po4a/Sgml.pm:77 msgid "empty" msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:79 msgid "Tags not needing to be closed." msgstr "" # type: =item #: lib/Locale/Po4a/Sgml.pm:81 msgid "ignore" msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:83 msgid "" "Tags ignored and considered as plain char data by po4a. That is to say that " "they can be part of an msgid. For example, EbE is a good candidate " "for this category since putting it in the translate section would create " "msgids not being whole sentences, which is bad." msgstr "" # type: =item #: lib/Locale/Po4a/Sgml.pm:88 lib/Locale/Po4a/Xml.pm:268 msgid "attributes" msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:90 msgid "" "A space separated list of attributes that need to be translated. You can " "specify the attributes by their name (for example, \"lang\"), but you can " "also prefix it with a tag hierarchy, to specify that this attribute will " "only be translated when it is into the specified tag. For example: " "EbbbEEaaaElang specifies that the lang attribute will only " "be translated if it is in an EaaaE tag, which is in a EbbbE " "tag. The tag names are actually regular expressions so you can also write " "things like Eaaa|bbbbElang to only translate lang attributes that " "are in an EaaaE or a EbbbE tag." msgstr "" # type: =item #: lib/Locale/Po4a/Sgml.pm:100 msgid "qualify" msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:102 msgid "" "A space separated list of attributes for which the translation must be " "qualified by the attribute name. Note that this setting automatically adds " "the given attribute into the 'attributes' list too." msgstr "" # type: =item #: lib/Locale/Po4a/Sgml.pm:106 msgid "force" msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:108 msgid "Proceed even if the DTD is unknown." msgstr "" # type: =item #: lib/Locale/Po4a/Sgml.pm:110 msgid "include-all" msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:112 msgid "" "By default, msgids containing only one entity (like '&version;') are skipped " "for the translator comfort. Activating this option prevents this " "optimisation. It can be useful if the document contains a construction like " "\"Á\", even if I doubt such things to ever happen..." msgstr "" # type: =item #: lib/Locale/Po4a/Sgml.pm:117 msgid "ignore-inclusion" msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:119 msgid "" "Space separated list of entities that won't be inlined. Use this option " "with caution: it may cause nsgmls (used internally) to add tags and render " "the output document invalid." msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:127 msgid "" "The result is perfect. I.e., the generated documents are exactly the " "same. But there are still some problems:" msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:134 msgid "" "the error output of nsgmls is redirected to /dev/null, which is clearly " "bad. I don't know how to avoid that." msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:137 msgid "" "The problem is that I have to \"protect\" the conditional inclusions (ie, " "the C! [ %foo [> and C<]]E> stuff) from nsgmls. Otherwise nsgmls " "eats them, and I don't know how to restore them in the final document. To " "prevent that, I rewrite them to C<{PO4A-beg-foo}> and C<{PO4A-end}>." msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:143 msgid "" "The problem with this is that the C<{PO4A-end}> and such I add are valid in " "the document (not in a EpE tag or so)." msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:146 msgid "" "Everything works well with nsgmls's output redirected that way, but it will " "prevent us from detecting that the document is badly formatted." msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:151 msgid "" "It does work only with the debiandoc and docbook dtd. Adding support for a " "new dtd should be very easy. The mechanism is the same for every dtd, you " "just have to give a list of the existing tags and some of their " "characteristics." msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:155 msgid "" "I agree, this needs some more documentation, but it is still considered as " "beta, and I hate to document stuff which may/will change." msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:160 msgid "" "Warning, support for dtds is quite experimental. I did not read any " "reference manual to find the definition of every tag. I did add tag " "definition to the module 'till it works for some documents I found on the " "net. If your document use more tags than mine, it won't work. But as I said " "above, fixing that should be quite easy." msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:166 msgid "" "I did test docbook against the SAG (System Administrator Guide) only, but " "this document is quite big, and should use most of the docbook " "specificities." msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:170 msgid "For debiandoc, I tested some of the manuals from the DDP, but not all yet." msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:174 msgid "" "In case of file inclusion, string reference of messages in po files (ie, " "lines like C<#: en/titletoc.sgml:9460>) will be wrong." msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:177 msgid "" "This is because I preprocess the file to protect the conditional inclusion " "(ie, the C! [ %foo [> and C<]]E> stuff) and some entities (like " "&version;) from nsgmls because I want them verbatim to the generated " "document. For that, I make a temp copy of the input file and do all the " "changes I want to this before passing it to nsgmls for parsing." msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:183 msgid "" "So that it works, I replace the entities asking for a file inclusion by the " "content of the given file (so that I can protect what needs to in subfile " "also). But nothing is done so far to correct the references (i.e., filename " "and line number) afterward. I'm not sure what the best thing to do is." msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:1220 msgid "" "This module is an adapted version of sgmlspl (SGML postprocessor for the " "SGMLS and NSGMLS parsers) which was:" msgstr "" # type: verbatim #: lib/Locale/Po4a/Sgml.pm:1223 #, no-wrap msgid "" " Copyright (c) 1995 by David Megginson \n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/Sgml.pm:1225 msgid "The adaptation for po4a was done by:" msgstr "" # type: verbatim #: lib/Locale/Po4a/Sgml.pm:1232 #, no-wrap msgid "" " Copyright (c) 1995 by David Megginson \n" " Copyright 2002, 2003, 2004, 2005 by SPI, inc.\n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:27 msgid "Locale::Po4a::TeX - Convert TeX documents and derivates from/to PO files" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:35 msgid "" "Locale::Po4a::TeX is a module to help the translation of TeX documents into " "other [human] languages. It can also be used as a base to build modules for " "TeX-based documents." msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:39 msgid "" "Users should probably use the LaTeX module, which inherite from the TeX " "module and contains the definitions of common LaTeX commands." msgstr "" # type: =head1 #: lib/Locale/Po4a/TeX.pm:42 msgid "TRANSLATING WITH PO4A::TEX" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:44 msgid "" "This module can be used directly to handle generic TeX documents. This will " "split your document in smaller blocks (paragraphs, verbatim blocks, or even " "smaller like titles or indexes)." msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:48 lib/Locale/Po4a/Xml.pm:162 msgid "" "There are some options (described in the next section) that can customize " "this behavior. If this doesn't fit to your document format you're " "encouraged to write your own module derived from this, to describe your " "format's details. See the section \"Writing derivate modules\" below, for " "the process description." msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:53 msgid "" "This module can also be customized by lines starting with \"% po4a:\" in the " "TeX file. These customizations are described in the B " "section." msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:131 msgid "no_wrap" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:133 msgid "Coma-separated list of environments which should not be re-wrapped." msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:135 msgid "" "Note that there is a difference between verbatim and no_wrap environments. " "There is no command and comments analysis in verbatim blocks." msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:138 lib/Locale/Po4a/TeX.pm:157 lib/Locale/Po4a/TeX.pm:277 msgid "" "If this environment was not already registered, po4a will consider that this " "environment does not take any parameters." msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:141 msgid "exclude_include" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:143 msgid "" "Colon-separated list of files that should not be included by \\input and " "\\include." msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:146 msgid "definitions" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:148 msgid "" "The name of a file containing definitions for po4a, as defined in the " "B section. You can use this option if it is not " "possible to put the definitions in the document being translated." msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:155 msgid "Coma-separated list of environments which should be taken as verbatim." msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:162 msgid "" "Using these options permits to override the behaviour of the commands " "defined in the default lists." msgstr "" # type: =head1 #: lib/Locale/Po4a/TeX.pm:165 msgid "INLINE CUSTOMIZATION" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:167 msgid "" "The TeX module can be customized with lines starting by \"% po4a:\". These " "lines are interpreted as commands to the parser. The following commands are " "recognized:" msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:173 msgid "% po4a: command I alias I" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:175 msgid "" "Indicates that the arguments of the I command should be treated as " "the arguments of the I command." msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:178 msgid "% po4a: command I I" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:180 msgid "" "This permit to describe in detail the parameters of the I " "command. This information will be used to check the number of arguments and " "their types." msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:185 msgid "You can precede the I command by" msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:189 msgid "an asterisk (*)" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:191 msgid "" "po4a will extract this command from paragraphs (if it is located at the " "beginning or the end of a paragraph). The translators will then have to " "translate the parameters that are marked as translatable." msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:196 msgid "a plus (+)" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:198 msgid "" "As for an asterisk, the command will be extracted if it appear at an " "extremity of a block, but the parameters won't be translated separately. " "The translator will have to translate the command concatenated to all its " "parameters. This permits to keep more context, and is usefull for commands " "with small words in parameter, which can have multiple meanings (and " "translations)." msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:205 msgid "" "Note: In this case you don't have to specify which parameters are " "translatable, but po4a must know the type and number of parameters." msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:208 msgid "a minus (-)" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:210 msgid "" "In this case, the command won't be extracted from any block. But if it " "appear alone on a bloc, then only the parameters marked as translatable will " "be presented to the translator. This is usefull for font command. These " "commands should generally not be separated from their paragraph (to keep the " "context), but there is no reason to annoy the translator with them if a " "whole string is enclosed in such a command." msgstr "" # type: verbatim #: lib/Locale/Po4a/TeX.pm:220 #, no-wrap msgid "" "The I argument is a set of [] (to indicate an optional\n" "argument) or {} (to indicate a mandatory argument).\n" "You can place an underscore (_) between these brackets to indicate that\n" "the parameter must be translated. For example:\n" " % po4a: command *chapter [_]{_}\n" "\n" msgstr "" # type: verbatim #: lib/Locale/Po4a/TeX.pm:226 #, no-wrap msgid "" "This indicates that the chapter command has two parameters: an optional\n" "(short title) and a mandatory one, which must both be translated.\n" "If you want to specify that the href command has two mandatory parameters,\n" "that you don't want to translate the URL (first parameter), and that you\n" "don't want this command to be separated from its paragraph (which allow\n" "the translator to move the link in the sentence), you can use:\n" " % po4a: command -href {}{_}\n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:234 msgid "" "In this case, the information indicating which arguments must be translated " "is only used if a paragraph is only composed of this href command." msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:238 msgid "% po4a: environment I I" msgstr "" # type: verbatim #: lib/Locale/Po4a/TeX.pm:240 #, no-wrap msgid "" "This permits to define the parameters accepted by the I environment.\n" "This information is latter used to check the number of arguments of the\n" "\\begin command, and permit to specify which one must be translated.\n" "The syntax of the I argument is the same as described for the\n" "commands.\n" "The first parameter of the \\begin command is the name of the environment.\n" "This parameter must not be specified in the list of parameters. Here are\n" "some examples:\n" " % po4a: environment multicols {}\n" " % po4a: environment equation\n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:251 msgid "" "As for the commands, I can be preceded by a plus (+) to indicate that " "the \\begin command must be translated with all its arguments." msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:254 msgid "% po4a: separator I \"I\"" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:256 msgid "" "Indicates that an environment should be split according to the given regular " "expression." msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:259 msgid "" "The regular expression is delimited by quotes. It should not create any " "backreference. You should use (?:) if you need a group. It may also need " "some escapes." msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:264 msgid "" "For example, the LaTeX module uses the \"(?:&|\\\\\\\\)\" regular expression " "to translate separately each cell of a table (lines are separated by '\\\\' " "and cells by '&')." msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:268 msgid "" "The notion of environment is expended to the type displayed in the PO file. " "This can be used to split on \"\\\\\\\\\" in the first mandatory argument of " "the title command. In this case, the environment is title{#1}." msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:272 msgid "% po4a: verbatim environment I" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:274 msgid "" "Indicate that I is a verbatim environment. Comments and commands will " "be ignored in this environment." msgstr "" # type: =head1 #: lib/Locale/Po4a/TeX.pm:307 lib/Locale/Po4a/Xml.pm:342 msgid "WRITING DERIVATE MODULES" msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:311 msgid "pre_trans" msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:339 msgid "post_trans" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:372 msgid "" "Wrapper around Transtractor's translate, with pre- and post-processing " "filters." msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:375 msgid "" "Comments of a paragraph are inserted as a PO comment for the first " "translated string of this paragraph." msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:429 msgid "get_leading_command($buffer)" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:431 msgid "This function returns:" msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:435 lib/Locale/Po4a/TeX.pm:1207 msgid "A command name" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:437 msgid "" "If no command is found at the beginning of the given buffer, this string " "will be empty. Only commands that can be separated are considered. The " "%separated_command hash contains the list of these commands." msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:441 lib/Locale/Po4a/TeX.pm:1209 msgid "A variant" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:443 msgid "" "This indicate if a variant is used. For example, an asterisk (*) can be " "added at the end of sections command to specify that they should not be " "numbered. In this case, this field will contain \"*\". If there is no " "variant, the field is an empty string." msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:448 msgid "An array of tuples (type of argument, argument)" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:450 msgid "" "The type of argument can be either '{' (for mandatory arguments) or '[' (for " "optional arguments)." msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:453 msgid "The remaining buffer" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:455 msgid "" "The rest of the buffer after the removal of this leading command and its " "arguments. If no command is found, the original buffer is not touched and " "returned in this field." msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:540 msgid "get_trailing_command($buffer)" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:542 msgid "The same as get_leading_command, but for commands at the end of a buffer." msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:624 msgid "translate_buffer" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:626 msgid "" "Recursively translate a buffer by separating leading and trailing commands " "(those which should be translated separately) from the buffer." msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:875 msgid "read" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:877 msgid "Overload Transtractor's read" msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:891 msgid "read_file" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:893 msgid "" "Recursively read a file, appending included files which are not listed in " "the @exclude_include array. Included files are searched in the directory of " "the input document or in a directory listed in the TEXINPUTS environment " "variable." msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:897 msgid "" "Except from the file inclusion part, it is a cut and paste from " "Transtractor's read." msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:992 msgid "parse_definition_file" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:994 msgid "" "Subroutine for parsing a file with po4a directive (definitions for " "newcommands)." msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:1031 msgid "parse_definition_line" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:1033 msgid "Parse a definition line of the form \"% po4a: \"." msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:1035 msgid "See the INLINE CUSTOMIZATION section for more details." msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:1083 msgid "is_closed" msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:1184 msgid "docheader" msgstr "" # type: =head1 #: lib/Locale/Po4a/TeX.pm:1200 lib/Locale/Po4a/TransTractor.pm:690 lib/Locale/Po4a/Xml.pm:727 msgid "INTERNAL FUNCTIONS used to write derivated parsers" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:1202 msgid "" "Command and environment functions take the following arguments (in addition " "to the $self object):" msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:1211 msgid "An array of (type, argument) tuples" msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:1213 msgid "The current environment" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:1217 msgid "" "The first 3 arguments are extracted by get_leading_command or " "get_trailing_command." msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:1220 msgid "" "Command and environment functions return the translation of the command with " "its arguments and a new environment." msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:1223 msgid "" "Environment functions are called when a \\begin command is found. They are " "called with the \\begin command and its arguments." msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:1226 msgid "" "The TeX module only proposes one command function and one environment " "function: generic_command and generic_environment." msgstr "" # type: verbatim #: lib/Locale/Po4a/TeX.pm:1229 #, no-wrap msgid "" "generic_command uses the information specified by\n" "register_generic_command or by adding definition to the TeX file:\n" " % po4a: command I I\n" "\n" msgstr "" # type: verbatim #: lib/Locale/Po4a/TeX.pm:1233 #, no-wrap msgid "" "generic_environment uses the information specified by\n" "register_generic_environment or by adding definition to the TeX file:\n" " % po4a: environment I I\n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:1237 msgid "" "Both functions will only translate the parameters that were specified as " "translatable (with a '_'). generic_environment will append the name of the " "environment to the environment stack and generic_command will append the " "name of the command followed by an identifier of the parameter (like {#7} or " "[#2])." msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:1651 msgid "This module needs more tests." msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:1653 msgid "It was tested on a book and with the Python documentation." msgstr "" # type: =head1 #: lib/Locale/Po4a/TeX.pm:1655 lib/Locale/Po4a/Xml.pm:1531 msgid "TODO LIST" msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:1659 msgid "Automatic detection of new commands" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:1661 msgid "" "The TeX module could parse the newcommand arguments and try to guess the " "number of arguments, their type and whether or not they should be " "translated." msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:1665 msgid "Tranlation of the environment separator" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:1667 msgid "" "When \\item is used as an environment separator, the item argument is " "attached to the following string." msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:1670 msgid "Some commands should be added to the environment stack" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:1672 msgid "" "These commands should be specified by couples. This could allow to specify " "commands beginning or ending a verbatim environment." msgstr "" # type: =item #: lib/Locale/Po4a/TeX.pm:1676 msgid "Others" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:1678 msgid "Various other points are tagged TODO in the source." msgstr "" # type: =head1 #: lib/Locale/Po4a/TeX.pm:1682 msgid "KNOWN BUGS" msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:1684 msgid "Various points are tagged FIXME in the source." msgstr "" # type: textblock #: lib/Locale/Po4a/TeX.pm:1688 msgid "" "L, " "L, " "L." msgstr "" # type: textblock #: lib/Locale/Po4a/Texinfo.pm:26 msgid "" "Locale::Po4a::Texinfo - Convert Texinfo documents and derivates from/to PO " "files" msgstr "" # type: textblock #: lib/Locale/Po4a/Texinfo.pm:34 msgid "" "Locale::Po4a::Texinfo is a module to help the translation of Texinfo " "documents into other [human] languages." msgstr "" # type: textblock #: lib/Locale/Po4a/Texinfo.pm:37 msgid "" "This module contains the definitions of common Texinfo commands and " "environments." msgstr "" # type: textblock #: lib/Locale/Po4a/Texinfo.pm:42 msgid "This module is still beta. Please send feedback and feature requests." msgstr "" # type: textblock #: lib/Locale/Po4a/Text.pm:26 msgid "Locale::Po4a::Text - Convert text documents from/to PO files" msgstr "" # type: textblock #: lib/Locale/Po4a/Text.pm:34 msgid "" "Locale::Po4a::Text is a module to help the translation of text documents " "into other [human] languages." msgstr "" # type: textblock #: lib/Locale/Po4a/Text.pm:37 msgid "" "Paragraphs are splitted on empty lines (or lines containing only spaces or " "tabulations)." msgstr "" # type: textblock #: lib/Locale/Po4a/Text.pm:40 msgid "" "If a paragraph contains a line starting by a space (or tabulation), this " "paragraph won't be rewrapped." msgstr "" # type: =item #: lib/Locale/Po4a/Text.pm:65 msgid "B" msgstr "" # type: textblock #: lib/Locale/Po4a/Text.pm:67 msgid "Deactivate detection of bullets." msgstr "" # type: textblock #: lib/Locale/Po4a/Text.pm:69 msgid "" "By default, when a bullet is detected, the bullet paragraph is not " "considered as a verbatim paragraph (with the no-wrap flag in the PO file), " "but the module rewrap this paragraph in the generated PO file and in the " "translation." msgstr "" # type: =item #: lib/Locale/Po4a/Text.pm:77 msgid "B" msgstr "" # type: textblock #: lib/Locale/Po4a/Text.pm:79 msgid "" "Handle the header and footer of released versions, which only contain non " "translatable informations." msgstr "" # type: textblock #: lib/Locale/Po4a/Text.pm:225 msgid "Tested successfully on simple text files and NEWS.Debian files." msgstr "" # type: verbatim #: lib/Locale/Po4a/Text.pm:233 #, no-wrap msgid "" " Copyright 2005,2007 by Nicolas FRANÇOIS " ".\n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:34 msgid "Po4a TransTractor - Generic trans(lator ex)tractor." msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:42 msgid "" "This class is the ancestor of every po4a parsers used to parse a document to " "search translatable strings, extract them to a po file and replace them by " "their translation in the output document." msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:46 msgid "More formally, it takes the following arguments as input:" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:52 msgid "a document to translate ;" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:56 msgid "a po file containing the translations to use." msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:60 msgid "As output, it produces:" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:66 msgid "" "another po file, resulting of the extraction of translatable strings from " "the input document ;" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:71 msgid "" "a translated document, with the same structure than the one in input, but " "with all translatable strings replaced with the translations found in the po " "file provided in input." msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:77 msgid "Here is a graphical representation of this:" msgstr "" # type: verbatim #: lib/Locale/Po4a/TransTractor.pm:79 #, no-wrap msgid "" " Input document --\\ /---> Output document\n" " \\ / (translated)\n" " +-> parse() function -----+\n" " / \\\n" " Input po --------/ \\---> Output po\n" " (extracted)\n" "\n" msgstr "" # type: =head1 #: lib/Locale/Po4a/TransTractor.pm:86 msgid "FUNCTIONS YOUR PARSER SHOULD OVERRIDE" msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:90 msgid "parse()" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:92 msgid "" "This is where all the work takes place: the parsing of input documents, the " "generation of output, and the extraction of the translatable strings. This " "is pretty simple using the provided functions presented in the section " "\"INTERNAL FUNCTIONS\" below. See also the synopsis, which present an " "example." msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:98 msgid "" "This function is called by the process() function bellow, but if you choose " "to use the new() function, and to add content manually to your document, you " "will have to call this function yourself." msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:102 msgid "docheader()" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:104 msgid "" "This function returns the header we should add to the produced document, " "quoted properly to be a comment in the target language. See the section " "\"Educating developers about translations\", from L, for " "what it is good for." msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:119 msgid "" "The following example parses a list of paragraphs beginning with " "\"

\". For the sake of simplicity, we assume that the document is well " "formatted, i.e. that '

' tags are the only tags present, and that this tag " "is at the very beginning of each paragraph." msgstr "" # type: verbatim #: lib/Locale/Po4a/TransTractor.pm:124 #, no-wrap msgid "" " sub parse {\n" " my $self = shift;\n" "\n" msgstr "" # type: verbatim #: lib/Locale/Po4a/TransTractor.pm:127 #, no-wrap msgid "" " PARAGRAPH: while (1) {\n" " my ($paragraph,$pararef)=(\"\",\"\");\n" " my $first=1;\n" " my ($line,$lref)=$self->shiftline();\n" " while (defined($line)) {\n" "\t if ($line =~ m/

/ && !$first--; ) {\n" "\t # Not the first time we see

. \n" "\t # Reput the current line in input,\n" "\t # and put the built paragraph to output\n" "\t $self->unshiftline($line,$lref);\n" "\t \n" msgstr "" # type: verbatim #: lib/Locale/Po4a/TransTractor.pm:138 #, no-wrap msgid "" "\t # Now that the document is formed, translate it:\n" "\t # - Remove the leading tag\n" "\t $paragraph =~ s/^

//s;\n" "\n" msgstr "" # type: verbatim #: lib/Locale/Po4a/TransTractor.pm:142 #, no-wrap msgid "" "\t # - push to output the leading tag (untranslated) and the\n" "\t # rest of the paragraph (translated)\n" "\t $self->pushline( \"

\"\n" " . $document->translate($paragraph,$pararef)\n" " );\n" "\n" msgstr "" # type: verbatim #: lib/Locale/Po4a/TransTractor.pm:148 #, no-wrap msgid "" " \t next PARAGRAPH;\n" "\t } else {\n" "\t # Append to the paragraph\n" "\t $paragraph .= $line;\n" "\t $pararef = $lref unless(length($pararef));\n" "\t }\n" "\n" msgstr "" # type: verbatim #: lib/Locale/Po4a/TransTractor.pm:155 #, no-wrap msgid "" " # Reinit the loop\n" " ($line,$lref)=$self->shiftline();\n" " }\n" " # Did not get a defined line? End of input file.\n" " return;\n" " }\n" " } \n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:163 msgid "" "Once you've implemented the parse function, you can use your document class, " "using the public interface presented in the next section." msgstr "" # type: =head1 #: lib/Locale/Po4a/TransTractor.pm:166 msgid "PUBLIC INTERFACE for scripts using your parser" msgstr "" # type: =head2 #: lib/Locale/Po4a/TransTractor.pm:168 msgid "Constructor" msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:172 msgid "process(%)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:174 msgid "" "This function can do all you need to do with a po4a document in one " "invocation. Its arguments must be packed as a hash. ACTIONS:" msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:179 msgid "a." msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:181 msgid "Reads all the po files specified in po_in_name" msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:183 msgid "b." msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:185 msgid "Reads all original documents specified in file_in_name" msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:187 msgid "c." msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:189 msgid "Parses the document" msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:191 msgid "d." msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:193 msgid "Reads and applies all the addenda specified" msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:195 msgid "e." msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:197 msgid "Writes the translated document to file_out_name (if given)" msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:199 msgid "f." msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:201 msgid "Writes the extracted po file to po_out_name (if given)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:205 msgid "ARGUMENTS, beside the ones accepted by new() (with expected type):" msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:209 msgid "file_in_name (@)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:211 msgid "List of filenames where we should read the input document." msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:213 msgid "file_in_charset ($)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:215 msgid "" "Charset used in the input document (if it isn't specified, it will try to " "detect it from the input document)." msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:218 msgid "file_out_name ($)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:220 msgid "Filename where we should write the output document." msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:222 msgid "file_out_charset ($)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:224 msgid "" "Charset used in the output document (if it isn't specified, it will use the " "po file charset)." msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:227 msgid "po_in_name (@)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:229 msgid "" "List of filenames where we should read the input po files from, containing " "the translation which will be used to translate the document." msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:232 msgid "po_out_name ($)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:234 msgid "" "Filename where we should write the output po file, containing the strings " "extracted from the input document." msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:237 msgid "addendum (@)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:239 msgid "List of filenames where we should read the addenda from." msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:241 msgid "addendum_charset ($)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:243 msgid "Charset for the addenda." msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:247 msgid "new(%)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:249 msgid "Create a new Po4a document. Accepted options (but be in a hash):" msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:253 msgid "verbose ($)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:255 msgid "Sets the verbosity." msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:257 msgid "debug ($)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:259 msgid "Sets the debugging." msgstr "" # type: =head2 #: lib/Locale/Po4a/TransTractor.pm:374 msgid "Manipulating document files" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:380 msgid "" "Add another input document at the end of the existing one. The argument is " "the filename to read." msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:383 msgid "" "Please note that it does not parse anything. You should use the parse() " "function when you're done with packing input files into the document." msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:423 msgid "Write the translated document to the given filename." msgstr "" # type: =head2 #: lib/Locale/Po4a/TransTractor.pm:459 msgid "Manipulating po files" msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:463 msgid "readpo($)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:465 msgid "" "Add the content of a file (which name is passed in argument) to the existing " "input po. The old content is not discarded." msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:468 msgid "writepo($)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:470 msgid "Write the extracted po file to the given filename." msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:472 msgid "stats()" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:474 msgid "" "Returns some statistics about the translation done so far. Please note that " "it's not the same statistics than the one printed by msgfmt " "--statistic. Here, it's stats about recent usage of the po file, while " "msgfmt reports the status of the file. It is a wrapper to the " "Locale::Po4a::Po::stats_get function applied to the input po file. Example " "of use:" msgstr "" # type: verbatim #: lib/Locale/Po4a/TransTractor.pm:481 #, no-wrap msgid "" " [normal use of the po4a document...]\n" "\n" msgstr "" # type: verbatim #: lib/Locale/Po4a/TransTractor.pm:483 #, no-wrap msgid "" " ($percent,$hit,$queries) = $document->stats();\n" " print \"We found translations for $percent\\% ($hit from $queries) of " "strings.\\n\";\n" "\n" msgstr "" # type: =head2 #: lib/Locale/Po4a/TransTractor.pm:508 msgid "Manipulating addenda" msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:512 msgid "addendum($)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:514 msgid "" "Please refer to L for more information on what addenda are, " "and how translators should write them. To apply an addendum to the " "translated document, simply pass its filename to this function and you are " "done ;)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:518 msgid "This function returns a non-null integer on error." msgstr "" # type: =head2 #: lib/Locale/Po4a/TransTractor.pm:692 msgid "Getting input, providing output" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:694 msgid "" "Four functions are provided to get input and return output. They are very " "similar to shift/unshift and push/pop. The first pair is about input, while " "the second is about output. Mnemonic: in input, you are interested in the " "first line, what shift gives, and in output you want to add your result at " "the end, like push does." msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:702 msgid "shiftline()" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:704 msgid "" "This function returns the next line of the doc_in to be parsed and its " "reference (packed as an array)." msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:707 msgid "unshiftline($$)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:709 msgid "Unshifts a line of the input document and its reference." msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:711 msgid "pushline($)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:713 msgid "Push a new line to the doc_out." msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:715 msgid "popline()" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:717 msgid "Pop the last pushed line from the doc_out." msgstr "" # type: =head2 #: lib/Locale/Po4a/TransTractor.pm:733 msgid "Marking strings as translatable" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:735 msgid "One function is provided to handle the text which should be translated." msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:739 msgid "translate($$$)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:741 msgid "Mandatory arguments:" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:747 msgid "A string to translate" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:751 msgid "The reference of this string (ie, position in inputfile)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:755 msgid "" "The type of this string (ie, the textual description of its structural role " "; used in Locale::Po4a::Po::gettextization() ; see also L, " "section I)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:761 msgid "" "This function can also take some extra arguments. They must be organized as " "a hash. For example:" msgstr "" # type: verbatim #: lib/Locale/Po4a/TransTractor.pm:764 #, no-wrap msgid "" " $self->translate(\"string\",\"ref\",\"type\",\n" "\t\t 'wrap' => 1);\n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:771 msgid "" "boolean indicating whether we can consider that whitespaces in string are " "not important. If yes, the function canonizes the string before looking for " "a translation or extracting it, and wraps the translation." msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:781 msgid "An extra comment to add to the entry." msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:785 msgid "Actions:" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:791 msgid "Pushes the string, reference and type to po_out." msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:795 msgid "" "Returns the translation of the string (as found in po_in) so that the parser " "can build the doc_out." msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:800 msgid "" "Handles the charsets to recode the strings before sending them to po_out and " "before returning the translations." msgstr "" # type: =head2 #: lib/Locale/Po4a/TransTractor.pm:900 msgid "Misc functions" msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:904 msgid "verbose()" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:906 msgid "" "Returns if the verbose option was passed during the creation of the " "TransTractor." msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:919 msgid "debug()" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:921 msgid "" "Returns if the debug option was passed during the creation of the " "TransTractor." msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:930 msgid "detected_charset($)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:932 msgid "" "This tells TransTractor that a new charset (the first argument) has been " "detected from the input document. It can usually be read from the document " "header. Only the first charset will remain, coming either from the process() " "arguments or detected from the document." msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:956 msgid "get_out_charset()" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:958 msgid "" "This function will return the charset that should be used in the output " "document (usually useful to substitute the input document's detected charset " "where it has been found)." msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:962 msgid "" "It will use the output charset specified in the command line. If it wasn't " "specified, it will use the input po's charset, and if the input po has the " "default \"CHARSET\", it will return the input document's charset, so that no " "encoding is performed." msgstr "" # type: =item #: lib/Locale/Po4a/TransTractor.pm:993 msgid "recode_skipped_text($)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:995 msgid "" "This function returns the recoded text passed as argument, from the input " "document's charset to the output document's one. This isn't needed when " "translating a string (translate() recodes everything itself), but it is when " "you skip a string from the input document and you want the output document " "to be consistent with the global encoding." msgstr "" # type: =head1 #: lib/Locale/Po4a/TransTractor.pm:1052 msgid "FUTURE DIRECTIONS" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:1054 msgid "" "One shortcoming of the current TransTractor is that it can't handle " "translated document containing all languages, like debconf templates, or " ".desktop files." msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:1058 msgid "To address this problem, the only interface changes needed are:" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:1064 msgid "take a hash as po_in_name (a list per language)" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:1068 msgid "add an argument to translate to indicate the target language" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:1072 msgid "" "make a pushline_all function, which would make pushline of its content for " "all language, using a map-like syntax:" msgstr "" # type: verbatim #: lib/Locale/Po4a/TransTractor.pm:1075 #, no-wrap msgid "" " $self->pushline_all({ \"Description[\".$langcode.\"]=\".\n" "\t\t\t $self->translate($line,$ref,$langcode) \n" "\t\t });\n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/TransTractor.pm:1081 msgid "Will see if it's enough ;)" msgstr "" # type: verbatim #: lib/Locale/Po4a/TransTractor.pm:1085 #, no-wrap msgid "" " Denis Barbier \n" " Martin Quinson (mquinson#debian.org)\n" " Jordi Vilalta \n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/Xhtml.pm:31 msgid "Locale::Po4a::Xhtml - Convert Xhtml documents from/to PO files" msgstr "" # type: textblock #: lib/Locale/Po4a/Xhtml.pm:35 msgid "" "The goal of the po4a (po for anything) project is to ease translations (and " "more interestingly, the maintenance of translations) using gettext tools on " "areas where they were not originally expected like documentation." msgstr "" # type: textblock #: lib/Locale/Po4a/Xhtml.pm:39 msgid "" "Locale::Po4a::Xhtml is a module to help the translation of Xhtml documents " "into other [human] languages." msgstr "" # type: textblock #: lib/Locale/Po4a/Xhtml.pm:42 msgid "" "Please note that this module is still experimental. It is not distributed in " "the official po4a releases since we don't feel it to be mature enough. If " "you insist on trying, check the CVS out." msgstr "" # type: =item #: lib/Locale/Po4a/Xhtml.pm:52 msgid "B[=I]" msgstr "" # type: textblock #: lib/Locale/Po4a/Xhtml.pm:54 msgid "" "Include files specified by an include SSI (Server Side Includes) element " "(e.g. )." msgstr "" # type: textblock #: lib/Locale/Po4a/Xhtml.pm:57 msgid "B You should use it only for static files." msgstr "" # type: textblock #: lib/Locale/Po4a/Xhtml.pm:59 msgid "" "An additional I parameter can be specified. It specifies the root " "path to find files included by a B attribute." msgstr "" # type: textblock #: lib/Locale/Po4a/Xhtml.pm:69 msgid "It is derived from Jordi's DocBook module." msgstr "" # type: textblock #: lib/Locale/Po4a/Xhtml.pm:71 msgid "" "\"It works for me\", which means I use it successfully on my personal Web " "site. However, YMMV: please let me know if something doesn't work for " "you. In particular, tables are getting no testing whatsoever, as we don't " "use them." msgstr "" # type: verbatim #: lib/Locale/Po4a/Xhtml.pm:81 #, no-wrap msgid "" " Yves Rütschlé \n" " Nicolas François \n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/Xhtml.pm:86 msgid "Copyright (c) 2004 by Yves Rütschlé " msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:32 msgid "Locale::Po4a::Xml - Convert XML documents and derivates from/to PO files" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:40 msgid "" "Locale::Po4a::Xml is a module to help the translation of XML documents into " "other [human] languages. It can also be used as a base to build modules for " "XML-based documents." msgstr "" # type: =head1 #: lib/Locale/Po4a/Xml.pm:156 msgid "TRANSLATING WITH PO4A::XML" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:158 msgid "" "This module can be used directly to handle generic XML documents. This will " "extract all tag's content, and no attributes, since it's where the text is " "written in most XML based documents." msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:189 msgid "" "The global debug option causes this module to show the excluded strings, in " "order to see if it skips something important." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:196 msgid "nostrip" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:198 msgid "Prevents it to strip the spaces around the extracted strings." msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:202 msgid "" "Canonizes the string to translate, considering that whitespaces are not " "important, and wraps the translated document. This option can be overridden " "by custom tag options. See the \"tags\" option below." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:206 msgid "caseinsensitive" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:208 msgid "" "It makes the tags and attributes searching to work in a case insensitive " "way. If it's defined, it will treat EBooKElaNG and " "EBOOKELang as EbookElang." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:211 msgid "includeexternal" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:213 msgid "" "When defined, external entities are included in the generated (translated) " "document, and for the extraction of strings. If it's not defined, you will " "have to translate external entities separately as independent documents." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:218 msgid "ontagerror" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:220 msgid "" "This option defines the behavior of the module when it encounter a invalid " "closing tag (a tag is closed, which does not match the last opening tag). " "It can take the following values:" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:228 msgid "This is the default value. The module will exit with an error." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:231 msgid "I" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:233 msgid "The module will continue, and will issue a warning." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:235 msgid "I" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:237 msgid "The module will continue without any warnings." msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:241 msgid "" "Be careful when using this option. It is generally recommended to fix the " "input file." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:244 msgid "tagsonly" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:246 msgid "" "Extracts only the specified tags in the \"tags\" option. Otherwise, it will " "extract all the tags except the ones specified." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:249 msgid "doctype" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:251 msgid "" "String that will try to match with the first line of the document's doctype " "(if defined). If it doesn't, the document will be considered of a bad type." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:254 msgid "tags" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:256 msgid "" "Space-separated list of the tags you want to translate or skip. By default, " "the specified tags will be excluded, but if you use the \"tagsonly\" option, " "the specified tags will be the only ones included. The tags must be in the " "form EaaaE, but you can join some (EbbbEEaaaE) to " "say that the content of the tag EaaaE will only be translated when " "it's into a EbbbE tag." msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:262 msgid "" "You can also specify some tag options putting some characters in front of " "the tag hierarchy. For example, you can put 'w' (wrap) or 'W' (don't wrap) " "to override the default behavior specified by the global \"wrap\" option." msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:266 msgid "Example: WEchapterEEtitleE" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:270 msgid "" "Space-separated list of the tag's attributes you want to translate. You can " "specify the attributes by their name (for example, \"lang\"), but you can " "prefix it with a tag hierarchy, to specify that this attribute will only be " "translated when it's into the specified tag. For example: " "EbbbEEaaaElang specifies that the lang attribute will only " "be translated if it's into an EaaaE tag, and it's into a " "EbbbE tag." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:277 msgid "inline" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:279 msgid "" "Space-separated list of the tags you want to treat as inline. By default, " "all tags break the sequence. This follows the same syntax as the tags " "option." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:282 msgid "nodefault" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:284 msgid "" "Space separated list of tags that the module should not try to set by " "default in the \"tags\" or \"inline\" category." msgstr "" # type: =head2 #: lib/Locale/Po4a/Xml.pm:344 msgid "DEFINE WHAT TAGS AND ATTRIBUTES TO TRANSLATE" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:346 msgid "" "The simplest customization is to define which tags and attributes you want " "the parser to translate. This should be done in the initialize function. " "First you should call the main initialize, to get the command-line options, " "and then, append your custom definitions to the options hash. If you want " "to treat some new options from command line, you should define them before " "calling the main initialize:" msgstr "" # type: verbatim #: lib/Locale/Po4a/Xml.pm:353 #, no-wrap msgid "" " $self->{options}{'new_option'}='';\n" " $self->SUPER::initialize(%options);\n" " $self->{options}{'tags'}.='

';\n" " $self->{options}{'attributes'}.=' <p>lang id';\n" " $self->{options}{'inline'}.=' <br>';\n" " $self->treat_options;\n" "\n" msgstr "" # type: =head2 #: lib/Locale/Po4a/Xml.pm:360 msgid "OVERRIDING THE found_string FUNCTION" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:362 msgid "" "Another simple step is to override the function \"found_string\", which " "receives the extracted strings from the parser, in order to translate them. " "There you can control which strings you want to translate, and perform " "transformations to them before or after the translation itself." msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:367 msgid "" "It receives the extracted text, the reference on where it was, and a hash " "that contains extra information to control what strings to translate, how to " "translate them and to generate the comment." msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:371 msgid "" "The content of these options depends on the kind of string it is (specified " "in an entry of this hash):" msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:376 msgid "type=\"tag\"" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:378 msgid "" "The found string is the content of a translatable tag. The entry " "\"tag_options\" contains the option characters in front of the tag hierarchy " "in the module \"tags\" option." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:382 msgid "type=\"attribute\"" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:384 msgid "" "Means that the found string is the value of a translatable attribute. The " "entry \"attribute\" has the name of the attribute." msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:389 msgid "" "It must return the text that will replace the original in the translated " "document. Here's a basic example of this function:" msgstr "" # type: verbatim #: lib/Locale/Po4a/Xml.pm:392 #, no-wrap msgid "" " sub found_string {\n" " my ($self,$text,$ref,$options)=@_;\n" " $text = $self->translate($text,$ref,\"type \".$options->{'type'},\n" " 'wrap'=>$self->{options}{'wrap'});\n" " return $text;\n" " }\n" "\n" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:399 msgid "" "There's another simple example in the new Dia module, which only filters " "some strings." msgstr "" # type: =head2 #: lib/Locale/Po4a/Xml.pm:431 msgid "MODIFYING TAG TYPES (TODO)" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:433 msgid "" "This is a more complex one, but it enables a (almost) total customization. " "It's based in a list of hashes, each one defining a tag type's behavior. The " "list should be sorted so that the most general tags are after the most " "concrete ones (sorted first by the beginning and then by the end keys). To " "define a tag type you'll have to make a hash with the following keys:" msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:441 msgid "beginning" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:443 msgid "Specifies the beginning of the tag, after the \"E<lt>\"." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:445 msgid "end" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:447 msgid "Specifies the end of the tag, before the \"E<gt>\"." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:449 msgid "breaking" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:451 msgid "" "It says if this is a breaking tag class. A non-breaking (inline) tag is one " "that can be taken as part of the content of another tag. It can take the " "values false (0), true (1) or undefined. If you leave this undefined, " "you'll have to define the f_breaking function that will say whether a " "concrete tag of this class is a breaking tag or not." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:457 msgid "f_breaking" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:459 msgid "" "It's a function that will tell if the next tag is a breaking one or not. It " "should be defined if the \"breaking\" option is not." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:462 msgid "f_extract" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:464 msgid "" "If you leave this key undefined, the generic extraction function will have " "to extract the tag itself. It's useful for tags that can have other tags or " "special structures in them, so that the main parser doesn't get mad. This " "function receives a boolean that says if the tag should be removed from the " "input stream or not." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:470 msgid "f_translate" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:472 msgid "" "This function receives the tag (in the get_string_until() format) and " "returns the translated tag (translated attributes or all needed " "transformations) as a single string." msgstr "" # type: =head2 #: lib/Locale/Po4a/Xml.pm:729 msgid "WORKING WITH TAGS" msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:733 msgid "get_path()" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:735 msgid "" "This function returns the path to the current tag from the document's root, " "in the form E<lt>htmlE<gt>E<lt>bodyE<gt>E<lt>pE<gt>." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:749 msgid "tag_type()" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:751 msgid "" "This function returns the index from the tag_types list that fits to the " "next tag in the input stream, or -1 if it's at the end of the input file." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:796 msgid "extract_tag($$)" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:798 msgid "" "This function returns the next tag from the input stream without the " "beginning and end, in an array form, to maintain the references from the " "input file. It has two parameters: the type of the tag (as returned by " "tag_type) and a boolean, that indicates if it should be removed from the " "input stream." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:821 msgid "get_tag_name(@)" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:823 msgid "" "This function returns the name of the tag passed as an argument, in the " "array form returned by extract_tag." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:834 msgid "breaking_tag()" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:836 msgid "" "This function returns a boolean that says if the next tag in the input " "stream is a breaking tag or not (inline tag). It leaves the input stream " "intact." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:859 msgid "treat_tag()" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:861 msgid "" "This function translates the next tag from the input stream. Using each tag " "type's custom translation functions." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:887 msgid "tag_in_list($@)" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:889 msgid "" "This function returns a string value that says if the first argument (a tag " "hierarchy) matches any of the tags from the second argument (a list of tags " "or tag hierarchies). If it doesn't match, it returns 0. Else, it returns the " "matched tag's options (the characters in front of the tag) or 1 (if that tag " "doesn't have options)." msgstr "" # type: =head2 #: lib/Locale/Po4a/Xml.pm:933 msgid "WORKING WITH ATTRIBUTES" msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:937 msgid "treat_attributes(@)" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:939 msgid "" "This function handles the translation of the tags' attributes. It receives " "the tag without the beginning / end marks, and then it finds the attributes, " "and it translates the translatable ones (specified by the module option " "\"attributes\"). This returns a plain string with the translated tag." msgstr "" # type: =head2 #: lib/Locale/Po4a/Xml.pm:1332 msgid "WORKING WITH THE MODULE OPTIONS" msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:1336 msgid "treat_options()" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:1338 msgid "" "This function fills the internal structures that contain the tags, " "attributes and inline data with the options of the module (specified in the " "command-line or in the initialize function)." msgstr "" # type: =head2 #: lib/Locale/Po4a/Xml.pm:1381 msgid "GETTING TEXT FROM THE INPUT DOCUMENT" msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:1385 msgid "get_string_until($%)" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:1387 msgid "" "This function returns an array with the lines (and references) from the " "input document until it finds the first argument. The second argument is an " "options hash. Value 0 means disabled (the default) and 1, enabled." msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:1391 msgid "The valid options are:" msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:1395 msgid "include" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:1397 msgid "This makes the returned array to contain the searched text" msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:1399 msgid "remove" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:1401 msgid "This removes the returned stream from the input" msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:1403 msgid "unquoted" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:1405 msgid "This ensures that the searched text is outside any quotes" msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:1477 msgid "skip_spaces(\\@)" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:1479 msgid "" "This function receives as argument the reference to a paragraph (in the " "format returned by get_string_until), skips his heading spaces and returns " "them as a simple string." msgstr "" # type: =item #: lib/Locale/Po4a/Xml.pm:1503 msgid "join_lines(@)" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:1505 msgid "" "This function returns a simple string with the text from the argument array " "(discarding the references)." msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:1525 msgid "This module can translate tags and attributes." msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:1527 msgid "Support for entities and included files is in the TODO list." msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:1529 msgid "The writing of derivate modules is rather limited." msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:1533 msgid "DOCTYPE (ENTITIES)" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:1535 msgid "" "There is a minimal support for the translation of entities. They are " "translated as a whole, and tags are not taken into account. Multilines " "entities are not supported and entities are always rewrapped during the " "translation." msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:1540 msgid "INCLUDED FILES" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:1542 msgid "" "MODIFY TAG TYPES FROM INHERITED MODULES (move the tag_types structure inside " "the $self hash?)" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:1545 msgid "breaking tag inside non-breaking tag (possible?) causes ugly comments" msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:1549 msgid "" "L<po4a(7)|po4a.7>, " "L<Locale::Po4a::TransTractor(3pm)|Locale::Po4a::TransTractor>." msgstr "" # type: textblock #: lib/Locale/Po4a/Xml.pm:1557 msgid "Copyright (c) 2004 by Jordi Vilalta E<lt>jvprat@gmail.comE<gt>" msgstr "" # type: textblock #: po4a:15 msgid "po4a - update both the po files and translated documents in one shot" msgstr "" # type: textblock #: po4a:19 msgid "po4a [-dhvV] E<lt>config_fileE<gt>" msgstr "" # type: textblock #: po4a:27 msgid "" "The C<po4a> program is in charge of updating both the po files (to sync them " "to the original documents) and the translated documents (to sync them to the " "po files). The main point is to make the use of po4a easier without having " "to remember of the command line options." msgstr "" # type: textblock #: po4a:32 msgid "" "It also allows you to mix documents having different formats into the same " "pot file so that you can have only one such file per project." msgstr "" # type: textblock #: po4a:35 msgid "" "This behaviour can be mimicked by the other tools of the po4a suite (for " "example with makefiles), but it is rather difficult to do, and exhausting to " "redo the same complicated makefiles for each project using po4a." msgstr "" # type: textblock #: po4a:39 msgid "" "The dataflow can be summarized as follow. Any changes to the master document " "will be reflected in the po files, and all changes to the po files (either " "manual or caused by previous step) will be reflected in translation " "documents." msgstr "" # type: verbatim #: po4a:44 #, no-wrap msgid "" " master document --> po files --> translations\n" "\n" msgstr "" # type: textblock #: po4a:46 msgid "" "The dataflow cannot be inversed in this tool, and changes in translations " "are overwritten by the content of the po files. As a matter of fact, this " "tool cannot be used to convert existing translations to the po4a system. For " "that task, please refer to L<po4a-gettextize(1)>." msgstr "" # type: =head1 #: po4a:51 msgid "CONFIGURATION FILE SYNTAX" msgstr "" # type: textblock #: po4a:53 msgid "" "The (mandatory) argument is the path to the configuration file to use. Its " "syntax aims at being simple and close to the configuration files used by the " "intl-tools projects." msgstr "" # type: textblock #: po4a:57 msgid "" "Comments in this files are noted by the char '#'. It comments everything " "until the end of the line. Lines can be continued by escaping the end of " "line. All non blank lines must begin with a [] command, followed by its " "arguments. (sound difficult said that way, but it is rather easy, I hope ;)" msgstr "" # type: =head2 #: po4a:62 msgid "Specifying the template languages" msgstr "" # type: textblock #: po4a:64 msgid "" "This is an optional command that can simplify the whole config file, and " "will make it more scalable. You have to specify a list of the languages in " "which you want to translate the documents. This is as simple as:" msgstr "" # type: verbatim #: po4a:68 #, no-wrap msgid "" " [po4a_langs] fr de\n" "\n" msgstr "" # type: textblock #: po4a:70 msgid "" "This will enable you to expand $lang to all the specified languages in the " "rest of the config file." msgstr "" # type: =head2 #: po4a:73 msgid "Specifying the paths to translator inputs" msgstr "" # type: textblock #: po4a:75 msgid "" "First, you have to specify where the translator input files (ie, the files " "used by translators to do their job) are located. It can be done by such a " "line:" msgstr "" # type: verbatim #: po4a:78 #, no-wrap msgid "" " [po4a_paths] doc/l10n/project.doc.pot fr:doc/l10n/fr.po de:doc/l10n/de.po\n" "\n" msgstr "" # type: textblock #: po4a:80 msgid "" "The command is thus 'po4a_paths'. The first argument is the path to the pot " "file to use. All subsequent arguments are of the self-explanationary form:" msgstr "" # type: verbatim #: po4a:83 #, no-wrap msgid "" " <lang>:<path to the po file for this lang>\n" "\n" msgstr "" # type: textblock #: po4a:85 po4a:115 msgid "" "If you've defined the template languages, you can rewrite the line above " "this way:" msgstr "" # type: verbatim #: po4a:88 #, no-wrap msgid "" " [po4a_paths] doc/l10n/project.doc.pot $lang:doc/l10n/$lang.po\n" "\n" msgstr "" # type: textblock #: po4a:90 msgid "" "You can also use $master to refer to the document basename. In this case, " "po4a will use a splitted mode: one POT and one PO (for each language) will " "be created for each document specified in the po4a configuration file. See " "the B<Splitted mode> section." msgstr "" # type: verbatim #: po4a:95 #, no-wrap msgid "" " [po4a_paths] doc/$master/$master.pot $lang:doc/$master/$lang.po\n" "\n" msgstr "" # type: =head2 #: po4a:97 msgid "Specifying the documents to translate" msgstr "" # type: textblock #: po4a:99 msgid "" "You now naturally have to specify which documents are translated, their " "format, and where to put the translations. It can be made by such lines:" msgstr "" # type: verbatim #: po4a:102 #, no-wrap msgid "" " [type: sgml] doc/my_stuff.sgml fr:doc/fr/mon_truc.sgml \\\n" " de:doc/de/mein_cram.sgml\n" " [type: pod] script fr:doc/fr/script.1 de:doc/de/script.1 \\\n" " add_fr:doc/l10n/script.fr.add\n" "\n" msgstr "" # type: textblock #: po4a:107 msgid "" "This should be rather self-explanatory also. Note that in the second case, " "doc/l10n/script.fr.add is an addendum to add to the French version of this " "document. Please refer to po4a(7) for more information about the addenda." msgstr "" # type: textblock #: po4a:111 msgid "More formally, the format is:" msgstr "" # type: verbatim #: po4a:113 #, no-wrap msgid "" " [type: <format>] <master_doc> <lang>:<localized_doc>* " "add_<lang>:<addendum>*\n" "\n" msgstr "" # type: verbatim #: po4a:118 #, no-wrap msgid "" " [type: pod] script $lang:doc/$lang/script.1 \\\n" " add_fr:doc/l10n/script.fr.add\n" "\n" msgstr "" # type: textblock #: po4a:121 msgid "" "If all the languages had addenda with similar paths, you could also write " "something like:" msgstr "" # type: verbatim #: po4a:124 #, no-wrap msgid "" " [type: pod] script $lang:doc/$lang/script.1 \\\n" " add_$lang:doc/l10n/script.$lang.add\n" "\n" msgstr "" # type: =head2 #: po4a:127 msgid "Specifying options for the modules" msgstr "" # type: textblock #: po4a:129 msgid "" "po4a accepts options that will be passed to the module. These options are " "module specific and are specified with the -o switch." msgstr "" # type: textblock #: po4a:132 msgid "" "If you need a specific option for one of the document you want to translate, " "you can also specify it in the configuration file. Options are introduced by " "the I<opt> keyword. The argument of the I<opt> keyword must be quoted with " "double quotes if it contains a space (e.g. if you specify multiple options, " "or an option with an argument). You can also specify options that will only " "apply to a specific language by using the opt_I<lang> keyword." msgstr "" # type: verbatim #: po4a:140 #, no-wrap msgid "" "Here is an example:\n" " [type:man] data-05/test2_man.1 $lang:tmp/test2_man.$lang.1 \\\n" " opt:\"-k 75\" opt_it:\"-L UTF-8\" opt_fr:-v\n" "\n" msgstr "" # type: verbatim #: po4a:144 #, no-wrap msgid "" "Arguments may contain spaces if you use single quotes or escaped double\n" "quotes:\n" " [po4a_alias:man] man opt:\"-o \\\"mdoc=NAME,SEE ALSO\\\" -k 20\"\n" "\n" msgstr "" # type: textblock #: po4a:148 msgid "" "If you want to specify the same options for many documents, you may want to " "use an alias (see the B<Specifying aliases> section below)." msgstr "" # type: verbatim #: po4a:151 #, no-wrap msgid "" "You can also set options for all the documents specified in the\n" "configuration file:\n" " [options] opt:\"...\" opt_fr:\"...\"\n" "\n" msgstr "" # type: =head2 #: po4a:155 msgid "Specifying aliases" msgstr "" # type: textblock #: po4a:157 msgid "" "If you must specify the same options for multiple files, you may be " "interested in defining a module alias. This can be done this way:" msgstr "" # type: textblock #: po4a:160 msgid "[po4a_alias:test] man opt:\"-k 21\" opt_es:\"-o debug=splitargs\"" msgstr "" # type: textblock #: po4a:162 msgid "" "This define a module alias named I<test>, based on the I<man> module, with " "the I<-k 21> apply to all the languages and with I<-o debug=splitargs> " "applied to the Spanish translation." msgstr "" # type: textblock #: po4a:166 msgid "This module alias can then be use like a regular module:" msgstr "" # type: verbatim #: po4a:168 #, no-wrap msgid "" "[type:test] data-05/test2_man.1 $lang:tmp/test2_man.$lang.1 \\\n" " opt_it:\"-L UTF-8\" opt_fr:-v\n" "\n" msgstr "" # type: textblock #: po4a:171 msgid "Note that you can specify additional options on a per file basis." msgstr "" # type: =head2 #: po4a:173 msgid "Splitted mode" msgstr "" # type: textblock #: po4a:175 msgid "The splitted mode is used when $master is used in the [po4a_paths] line." msgstr "" # type: textblock #: po4a:177 msgid "" "When the splitted mode is used, a temporary big POT and temporary big POs " "are used. This permits to share the translations between all the POs." msgstr "" # type: textblock #: po4a:180 msgid "" "If two POs have different translations for the same string, po4a will mark " "this string as fuzzy and will submit both translations in all the POs which " "contain this string. Then, when a translator updates the translation and " "removes the fuzzy tag in one PO, the translation of this string will be " "updated in every POs automatically." msgstr "" # type: SH #: po4a:186 po4a-gettextize:57 po4a-normalize:35 po4a-translate:34 scripts/po4aman-display-po.1:18 #, no-wrap msgid "OPTIONS" msgstr "" # type: =item #: po4a:190 po4a-translate:81 msgid "-k, --keep" msgstr "" # type: textblock #: po4a:192 po4a-translate:83 msgid "" "Minimal threshold for translation percentage to keep (ie, write) the " "resulting file (default: 80). Ie, by default, files have to be translated at " "at least 80% to get written." msgstr "" # type: =item #: po4a:196 po4a-gettextize:96 po4a-normalize:45 po4a-translate:91 po4a-updatepo:80 msgid "-h, --help" msgstr "" # type: textblock #: po4a:198 po4a-gettextize:98 po4a-normalize:47 po4a-translate:93 po4a-updatepo:82 msgid "Show a short help message." msgstr "" # type: =item #: po4a:200 po4a-gettextize:71 po4a-normalize:58 po4a-translate:59 po4a-updatepo:55 msgid "-M, --master-charset" msgstr "" # type: textblock #: po4a:202 msgid "" "Charset of the files containing the documents to translate. Note that all " "master documents must use the same charset for now. This is a known " "limitation, and we are working on solving this." msgstr "" # type: =item #: po4a:206 po4a-gettextize:81 po4a-translate:67 msgid "-L, --localized-charset" msgstr "" # type: textblock #: po4a:208 msgid "" "Charset of the files containing the localized documents. Note that all " "translated documents will use the same charset for now. This is a known " "limitation, and we are working on solving this." msgstr "" # type: =item #: po4a:212 po4a-translate:50 msgid "-A, --addendum-charset" msgstr "" # type: textblock #: po4a:214 po4a-translate:52 msgid "" "Charset of the addenda. Note that all the addenda should be in the same " "charset." msgstr "" # type: =item #: po4a:217 po4a-gettextize:104 po4a-normalize:62 po4a-translate:99 po4a-updatepo:88 msgid "-V, --version" msgstr "" # type: textblock #: po4a:219 po4a-gettextize:106 po4a-normalize:64 po4a-translate:101 po4a-updatepo:90 msgid "Display the version of the script and exit." msgstr "" # type: =item #: po4a:221 po4a-gettextize:108 po4a-translate:103 po4a-updatepo:92 msgid "-v, --verbose" msgstr "" # type: textblock #: po4a:223 po4a-gettextize:110 po4a-translate:105 po4a-updatepo:94 msgid "Increase the verbosity of the program." msgstr "" # type: =item #: po4a:225 msgid "-q, --quiet" msgstr "" # type: textblock #: po4a:227 msgid "Decrease the verbosity of the program." msgstr "" # type: =item #: po4a:229 po4a-gettextize:112 po4a-translate:107 po4a-updatepo:96 msgid "-d, --debug" msgstr "" # type: textblock #: po4a:231 po4a-gettextize:114 po4a-translate:109 po4a-updatepo:98 msgid "Output some debugging information." msgstr "" # type: =item #: po4a:233 msgid "-f, --force" msgstr "" # type: textblock #: po4a:235 msgid "" "Always generate the POT and PO files, even if po4a considers it is not " "necessary." msgstr "" # type: textblock #: po4a:238 msgid "The default behavior (when --force is not specified) is the following:" msgstr "" # type: textblock #: po4a:242 msgid "" "If the POT file already exists, it is regenerated if a master document or " "the configuration file is more recent. The POT file is also written in a " "temporary document and po4a verifies that the changes are really needed." msgstr "" # type: textblock #: po4a:247 msgid "" "Also, a translation is regenerated only if its master document, the PO file, " "one of its addenda or the configuration file is more recent. To avoid " "trying to regenerate translations which do not pass the threshold test (see " "B<--keep>), a file with the '.po4a-stamp' extension can be created (see " "B<--stamp>)." msgstr "" # type: textblock #: po4a:255 msgid "" "If a master document includes files, you should use the B<--force> flag " "because the modification time of these included files are not taken into " "account." msgstr "" # type: textblock #: po4a:259 msgid "The PO files are always re-generated based on the POT with B<msgmerge -U>." msgstr "" # type: =item #: po4a:261 msgid "--stamp" msgstr "" # type: textblock #: po4a:263 msgid "" "Tells po4a to create stamp files when a translation is not generated because " "it it does not reach the threshold. These stamp files are named according to " "the expected translated document, with the I<.po4a-stamp> extension." msgstr "" # type: textblock #: po4a:268 msgid "" "Note: This only activates the creation of the I<.po4a-stamp> files. The " "stamp files are always used if they exist, and they are removed with " "B<--rm-translations> or when the file is finally translated." msgstr "" # type: =item #: po4a:272 msgid "--no-translations" msgstr "" # type: textblock #: po4a:274 msgid "Do not generate the translated documents, only update the POT and PO files." msgstr "" # type: =item #: po4a:276 msgid "--rm-translations" msgstr "" # type: textblock #: po4a:278 msgid "Remove the translated files (implies --no-translations)." msgstr "" # type: =item #: po4a:280 msgid "--no-backups" msgstr "" # type: textblock #: po4a:282 msgid "Do not generate the .po~ backup files." msgstr "" # type: =item #: po4a:284 msgid "--rm-backups" msgstr "" # type: textblock #: po4a:286 msgid "Remove the .po~ backup files (implies --no-backups)." msgstr "" # type: =item #: po4a:288 msgid "--variable I<var>=I<value>" msgstr "" # type: textblock #: po4a:290 msgid "" "Define a variable that will be expanded in the po4a configuration file. " "Every occurrence of I<$(var)> will be replaced by I<value>. This option can " "be used multiple times." msgstr "" # type: =item #: po4a:294 msgid "--msgid-bugs-address email@address" msgstr "" # type: textblock #: po4a:296 msgid "" "Set the report address for msgid bugs. By default, the created POT files " "have no Report-Msgid-Bugs-To fields." msgstr "" # type: =item #: po4a:299 msgid "--copyright-holder string" msgstr "" # type: textblock #: po4a:301 msgid "" "Set the copyright holder in the POT header. The default value is \"Free " "Software Foundation, Inc.\"" msgstr "" # type: =item #: po4a:304 po4a-updatepo:76 msgid "--msgmerge-opt options" msgstr "" # type: textblock #: po4a:306 po4a-updatepo:78 msgid "Extra options for msgmerge." msgstr "" # type: =item #: po4a:308 po4a-updatepo:71 msgid "--previous" msgstr "" # type: textblock #: po4a:310 po4a-updatepo:73 msgid "" "This option adds '--previous' to the options passed to msgmerge. It " "requires gettext 0.16 or later." msgstr "" # type: =head1 #: po4a:315 msgid "SHORTCOMINGS" msgstr "" # type: textblock #: po4a:321 msgid "Duplicates some code with the po4a-* programs." msgstr "" # type: textblock #: po4a:325 msgid "Patch welcome ;)" msgstr "" # type: textblock #: po4a:329 msgid "" "L<po4a(7)>, L<po4a-gettextize(1)>, L<po4a-updatepo(1)>, " "L<po4a-translate(1)>, L<po4a-normalize(1)>." msgstr "" # type: textblock #: po4a:338 po4a-gettextize:129 po4a-normalize:79 po4a-translate:144 msgid "Copyright 2002, 2003, 2004 by SPI, inc." msgstr "" # type: textblock #: po4a-gettextize:15 msgid "" "po4a-gettextize - convert an original file (and its translation) to a po " "file" msgstr "" # type: textblock #: po4a-gettextize:19 msgid "" "po4a-gettextize -f E<lt>fmtE<gt> -m E<lt>master.docE<gt> [-l " "E<lt>XX.docE<gt>] -p E<lt>XX.poE<gt>" msgstr "" # type: textblock #: po4a-gettextize:21 msgid "(XX.po is the output, all others are inputs)" msgstr "" # type: textblock #: po4a-gettextize:29 msgid "" "The C<po4a-gettextize> script is in charge of converting documentation files " "to po files. If you start a new translation, C<po4a-gettextize> will " "extract the translatable strings from the documentation file and write a pot " "file from it." msgstr "" # type: textblock #: po4a-gettextize:34 msgid "" "If you already have a translated file, C<po4a-gettextize> will try to " "extract the translations it contains and put them in place in the written po " "file. Be warned that very few intelligence is used in this process: the Nth " "string of the translated file is supposed to be the translation of the Nth " "string in the original. If it's not the case, you're dead. That's why it is " "very important that both files share exactly the same structure." msgstr "" # type: textblock #: po4a-gettextize:41 msgid "" "However, C<po4a-gettextize> will diagnose your death by detecting any " "desynchronisation between files, and reporting where they occur. In that " "case, you should edit manually the files to solve the reported " "disparity. Even if no error were reported, you should check carefully that " "the generated po file is correct (ie, that each msgstr is the translation of " "the associated msgid, and not the one before or after)." msgstr "" # type: textblock #: po4a-gettextize:48 msgid "" "Even if the script manages to do its job without any apparent problem, it " "still marks all extracted translations as fuzzy, to make sure that the " "translator will have a look at them, and detect any remaining problem." msgstr "" # type: textblock #: po4a-gettextize:52 msgid "" "If the master document has non-ascii characters, the new generated po file " "will be in utf-8, in order to allow non-standard characters in a culture " "independent way. Else (if the master document is completely in ascii), the " "generated po will use the encoding of the translated input document." msgstr "" # type: =item #: po4a-gettextize:61 po4a-normalize:53 po4a-translate:38 po4a-updatepo:46 msgid "-f, --format" msgstr "" # type: textblock #: po4a-gettextize:63 po4a-normalize:55 po4a-translate:40 po4a-updatepo:48 msgid "" "Format of the documentation you want to handle. Use the --help-format option " "to see the list of available formats." msgstr "" # type: =item #: po4a-gettextize:66 po4a-translate:55 po4a-updatepo:51 msgid "-m, --master" msgstr "" # type: textblock #: po4a-gettextize:68 msgid "" "File containing the master document to translate. You can use this option " "multiple times if you want to gettextize multiple documents." msgstr "" # type: textblock #: po4a-gettextize:73 po4a-normalize:60 po4a-translate:61 msgid "Charset of the file containing the document to translate." msgstr "" # type: =item #: po4a-gettextize:75 po4a-translate:63 msgid "-l, --localized" msgstr "" # type: textblock #: po4a-gettextize:77 msgid "" "File containing the localized (translated) document. If you provided " "multiple master files, you may wish to provide multiple localized file by " "using this option more than once." msgstr "" # type: textblock #: po4a-gettextize:83 po4a-translate:69 msgid "Charset of the file containing the localized document." msgstr "" # type: =item #: po4a-gettextize:85 po4a-translate:71 po4a-updatepo:60 msgid "-p, --po" msgstr "" # type: textblock #: po4a-gettextize:87 msgid "" "File where the message catalog should be written. If not given, the message " "catalog will be written to the standard output." msgstr "" # type: =item #: po4a-gettextize:90 po4a-normalize:39 po4a-translate:75 po4a-updatepo:65 msgid "-o, --option" msgstr "" # type: textblock #: po4a-gettextize:92 po4a-normalize:41 po4a-translate:77 msgid "" "Extra option(s) to pass to the format plugin. Specify each option in the " "'name=value' format. See the documentation of each plugin for more " "information about the valid options and their meanings." msgstr "" # type: =item #: po4a-gettextize:100 po4a-normalize:49 po4a-translate:95 po4a-updatepo:84 msgid "--help-format" msgstr "" # type: textblock #: po4a-gettextize:102 po4a-normalize:51 po4a-translate:97 msgid "List the documentation format understood by po4a." msgstr "" # type: textblock #: po4a-gettextize:120 msgid "L<po4a(7)>, L<po4a-updatepo(1)>, L<po4a-translate(1)>, L<po4a-normalize(1)>." msgstr "" # type: textblock #: po4a-normalize:15 msgid "" "po4a-normalize - normalize a documentation file by parsing it in po4a, and " "writing it back" msgstr "" # type: textblock #: po4a-normalize:19 msgid "po4a-normalize -f E<lt>fmtE<gt> E<lt>master.docE<gt>" msgstr "" # type: textblock #: po4a-normalize:27 msgid "" "The C<po4a-normalize> script is a debugging tool used to make sure that po4a " "don't change the document when it's not supposed to. Only use it if you're " "developing a new module, or if you doubt the sanity of the tools." msgstr "" # type: textblock #: po4a-normalize:31 msgid "" "The generated document will be written to po4a-normalize.output while the " "generated po file will be written to po4a-normalize.po. No way to change " "that ;)" msgstr "" # type: textblock #: po4a-normalize:70 msgid "" "L<po4a(7)>, L<po4a-updatepo(1)>, L<po4a-translate(1)>, " "L<po4a-gettextize(1)>." msgstr "" # type: textblock #: po4a-translate:15 msgid "po4a-translate - convert a po file back to documentation format" msgstr "" # type: textblock #: po4a-translate:19 msgid "" "po4a-translate -f E<lt>fmtE<gt> -m E<lt>master.docE<gt> -p E<lt>XX.poE<gt> " "-l E<lt>XX.docE<gt>" msgstr "" # type: textblock #: po4a-translate:21 msgid "(XX.doc is the output, all others are inputs)" msgstr "" # type: textblock #: po4a-translate:29 msgid "" "The C<po4a-translate> script is in charge of converting the translation " "(which was done in a po file) under the documentation format back. The " "provided C<po> file should be the translation of the C<pot> file which were " "produced by po4a-gettextize(1)." msgstr "" # type: =item #: po4a-translate:43 msgid "-a, --addendum" msgstr "" # type: textblock #: po4a-translate:45 msgid "" "Add a file to the resulting file (to put translator's name or a section " "\"About this translation\", for example). The first line of the file to " "insert should be a PO4A header indicating where it should be added (see " "section I<HOWTO add extra text to translations> in po4a(7))." msgstr "" # type: textblock #: po4a-translate:57 msgid "File containing the master document to translate." msgstr "" # type: textblock #: po4a-translate:65 msgid "File where the localized (translated) document should be written." msgstr "" # type: textblock #: po4a-translate:73 msgid "File from which the message catalog should be read." msgstr "" # type: =item #: po4a-translate:87 msgid "-w, --width" msgstr "" # type: textblock #: po4a-translate:89 msgid "Column at which we should wrap the resulting file." msgstr "" # type: =head1 #: po4a-translate:113 msgid "Adding content (beside translations) to generated files" msgstr "" # type: textblock #: po4a-translate:115 msgid "" "To add some extra content to the generated document beside what you " "translated (like the name of the translator, or a \"about this translation\" " "section), you should use the C<--addendum> option." msgstr "" # type: textblock #: po4a-translate:119 msgid "" "The first line of the addendum must be a header indicating where to put it " "in the document (it can be before or after a given part of the document). " "The rest of the file will be added verbatim to the resulting file without " "further processing." msgstr "" # type: textblock #: po4a-translate:124 msgid "" "Note that if po4a-translate fails to add one of the given files, it discards " "the whole translation (because the missing file could be the one indicating " "the author, what would prevent the users to contact him to report bugs in " "the translation)." msgstr "" # type: textblock #: po4a-translate:129 msgid "" "The header has a pretty rigid syntax. For more information on how to use " "this feature and how it works, please refer to the po4a(7) man page." msgstr "" # type: textblock #: po4a-translate:134 msgid "" "L<po4a(7)>, L<po4a-gettextize(1)>, L<po4a-updatepo(1)>, " "L<po4a-normalize(1)>." msgstr "" # type: textblock #: po4a-updatepo:15 msgid "po4a-updatepo - update the translation (in po format) of documentation" msgstr "" # type: textblock #: po4a-updatepo:19 msgid "" "po4a-updatepo -f E<lt>fmtE<gt> (-m E<lt>master.docE<gt>)+ (-p " "E<lt>XX.poE<gt>)+" msgstr "" # type: textblock #: po4a-updatepo:21 msgid "(XX.po are the outputs, all others are inputs)" msgstr "" # type: textblock #: po4a-updatepo:29 msgid "" "The C<po4a-updatepo> script is in charge of updating po files to make them " "reflect the changes made to the original documentation file. For that, it " "converts the documentation file to a pot file, and call L<msgmerge(1)> on " "this new pot and on the provided po files." msgstr "" # type: textblock #: po4a-updatepo:34 msgid "" "It is possible to give more than one po file (if you want to update several " "languages at once), and several documentation files (if you want to store " "the translations of several documents in the same po file)." msgstr "" # type: textblock #: po4a-updatepo:38 msgid "" "If the master document has non-ascii characters, it will convert the po " "files to utf-8 (if they weren't already), in order to allow non-standard " "characters in a culture independent way." msgstr "" # type: =head1 #: po4a-updatepo:42 msgid "COMMAND-LINE OPTIONS" msgstr "" # type: textblock #: po4a-updatepo:53 msgid "File(s) containing the master document to translate." msgstr "" # type: textblock #: po4a-updatepo:57 msgid "" "Charset of the files containing the document to translate. Note that all " "files must have the same charset." msgstr "" # type: textblock #: po4a-updatepo:62 msgid "" "Po file(s) to update. If these files do not exist, they are created by " "C<po4a-updatepo>." msgstr "" # type: textblock #: po4a-updatepo:67 msgid "" "Extra option(s) to pass to the format plugin and other po4a internal " "module. Specify each option in the 'name=value' format. See the " "documentation of each plugin for more information about the valid options " "and their meanings." msgstr "" # type: textblock #: po4a-updatepo:86 msgid "List the documentation format handled by po4a." msgstr "" # type: textblock #: po4a-updatepo:104 msgid "" "L<po4a(7)>, L<po4a-gettextize(1)>, L<po4a-translate(1)>, " "L<po4a-normalize(1)>." msgstr "" # type: textblock #: po4a-updatepo:113 msgid "Copyright 2002, 2003, 2004, 2005 by SPI, inc." msgstr "" # type: textblock #: scripts/msguntypot:20 msgid "msguntypot - update po files when a typo is fixed in pot file" msgstr "" # type: textblock #: scripts/msguntypot:24 msgid "msguntypot -o E<lt>old_potE<gt> -n E<lt>new_potE<gt> pofiles..." msgstr "" # type: textblock #: scripts/msguntypot:28 msgid "" "When you fix a trivial error which surely doesn't affect translations (e.g. " "a typo) in a .pot file, you should unfuzzy the corresponding msgstr in the " "translated .po files to avoid so extra work to the translators." msgstr "" # type: textblock #: scripts/msguntypot:32 msgid "" "This task is difficult and error prone when done manually, and this tool is " "there to help doing so correctly. You just need to provide the two versions " "of the pot file: before the edition and after as marked in the above " "synopsis, and it all becomes automatic." msgstr "" # type: =head1 #: scripts/msguntypot:37 msgid "HOW TO USE IT" msgstr "" # type: textblock #: scripts/msguntypot:39 msgid "" "In short, when you discover a typo in one of your [english] message, do the " "following:" msgstr "" # type: =item #: scripts/msguntypot:44 scripts/msguntypot:65 msgid "- Regenerate your pot and po files." msgstr "" # type: verbatim #: scripts/msguntypot:46 #, no-wrap msgid "" " make -C po/ update-po # for message program translations\n" " debconf-updatepo # for debconf translations\n" " po4a po4a.conf # for po4a based documentation translations\n" "\n" msgstr "" # type: textblock #: scripts/msguntypot:50 msgid "" "or something else, depending on your project's building settings. You know " "how to make sure your pot an po files are uptodate, don't you??" msgstr "" # type: =item #: scripts/msguntypot:53 msgid "- Make a copy of your pot file." msgstr "" # type: verbatim #: scripts/msguntypot:55 #, no-wrap msgid "" " cp myfile.pot myfile.pot.orig\n" "\n" msgstr "" # type: =item #: scripts/msguntypot:57 msgid "- Make a copy of all your files." msgstr "" # type: verbatim #: scripts/msguntypot:59 #, no-wrap msgid "" " mkdir po_fridge; cp *.po po_fridge\n" "\n" msgstr "" # type: =item #: scripts/msguntypot:61 msgid "- Fix your typo" msgstr "" # type: textblock #: scripts/msguntypot:63 msgid "$EDITOR the_file_in_which_there_is_a_typo" msgstr "" # type: textblock #: scripts/msguntypot:67 msgid "See above." msgstr "" # type: textblock #: scripts/msguntypot:71 msgid "" "At this point, the typo fix fuzzied all the translations, and this " "unfortunate change is the only one between the po files of your main " "directory and the one from the fridge. Here is how to solve this." msgstr "" # type: =item #: scripts/msguntypot:77 msgid "- Discard fuzzy translation, restore the ones from the fridge." msgstr "" # type: verbatim #: scripts/msguntypot:79 #, no-wrap msgid "" " cp po_fridge/*.po .\n" "\n" msgstr "" # type: =item #: scripts/msguntypot:81 msgid "" "- Manually merge the po files with the new pot file, but taking the useless " "fuzzy into account" msgstr "" # type: verbatim #: scripts/msguntypot:83 #, no-wrap msgid "" " msguntypot -o myfile.pot.orig -n myfile.pot *.po\n" "\n" msgstr "" # type: =item #: scripts/msguntypot:85 msgid "- Cleanups." msgstr "" # type: verbatim #: scripts/msguntypot:87 #, no-wrap msgid "" " rm -rf myfile.pot.orig po_fridge\n" "\n" msgstr "" # type: textblock #: scripts/msguntypot:91 msgid "" "You're done. The typo was eradicated from msgstr of both your pot and po " "files, and the po files were not fuzzyied in the process. Your translators " "love you already." msgstr "" # type: textblock #: scripts/msguntypot:97 msgid "" "Despite its name, this tool is not part of the gettext tool suite. It is " "instead part of po4a. More precisely, it's a random perl script using the " "fine po4a modules. For more information about po4a, please see:" msgstr "" # type: textblock #: scripts/msguntypot:101 msgid "L<po4a(7)>." msgstr "" # type: verbatim #: scripts/msguntypot:105 #, no-wrap msgid "" " Martin Quinson (mquinson#debian,org)\n" "\n" msgstr "" # type: TH #: scripts/po4aman-display-po.1:1 #, no-wrap msgid "PO4AMAN-DISPLAY-PO" msgstr "" # type: TH #: scripts/po4aman-display-po.1:1 #, no-wrap msgid "2006-04-08" msgstr "" # type: TH #: scripts/po4aman-display-po.1:1 scripts/po4aman-display-po.1:1 #, no-wrap msgid "Po4a Tools" msgstr "" # type: Plain text #: scripts/po4aman-display-po.1:4 msgid "po4aman-display-po - display a translated man page according to a PO" msgstr "" # type: Plain text #: scripts/po4aman-display-po.1:13 msgid "" "B<po4aman-display-po> B<-p> I<PO_FILE> [B<-m> I<MASTER_FILE>] [B<-o> " "I<PO4A_OPT>]" msgstr "" # type: Plain text #: scripts/po4aman-display-po.1:17 msgid "" "B<po4aman-display-po> can be used by a translator who wants to check how the " "man page being translated in a PO will be displayed." msgstr "" # type: TP #: scripts/po4aman-display-po.1:19 #, no-wrap msgid "B<-p >I<PO_FILE>" msgstr "" # type: Plain text #: scripts/po4aman-display-po.1:22 msgid "The PO file containing the translations." msgstr "" # type: TP #: scripts/po4aman-display-po.1:22 #, no-wrap msgid "B<-m >I<MASTER_FILE>" msgstr "" # type: Plain text #: scripts/po4aman-display-po.1:28 msgid "" "The original man page. It can be the absolute or relative path to the " "original man page (gzipped or not), the name the man page or the name and " "section of the man page (using the man.section format)." msgstr "" # type: Plain text #: scripts/po4aman-display-po.1:32 msgid "" "When the master document is not provided with the B<-m> option, " "B<po4aman-display-po> tries to find the original man page based on the line " "reference of the first string in the PO." msgstr "" # type: TP #: scripts/po4aman-display-po.1:32 #, no-wrap msgid "B<-o >I<PO4A_OPT>" msgstr "" # type: Plain text #: scripts/po4aman-display-po.1:35 msgid "Some options to pass to B<po4a-translate>." msgstr "" # type: SH #: scripts/po4aman-display-po.1:36 #, no-wrap msgid "AUTHOR" msgstr "" # type: Plain text #: scripts/po4aman-display-po.1:37 msgid "Thomas Huriaux" msgstr ""