chiark / gitweb /
Sec "Handling debconf translations", updates from Martin Quinson
[developers-reference.git] / developers-reference.sgml
index abe9bcb4835533514026383272aa1749ea60d9b2..6624ddd7d034fa889860dcf9f4e41c1e066ae728 100644 (file)
@@ -6,7 +6,7 @@
   <!entity % commondata  SYSTEM "common.ent" > %commondata;
 
   <!-- CVS revision of this document -->
-  <!entity cvs-rev "$Revision: 1.138 $">
+  <!entity cvs-rev "$Revision: 1.141 $">
   <!-- if you are translating this document, please notate the CVS
        revision of the developers reference here -->
   <!--
@@ -1120,14 +1120,15 @@ if they respect themselves all the criteria);
 The scripts are generating some output files to explain why some packages
 are kept out of testing. They are available at <url
 id="&url-testing-maint;">. Alternatively, it is possible to use
-the <prgn>grep-excuses</prgn> program part of the
-<package>devscripts</package> package. It can be easily put in a crontab
+the <prgn>grep-excuses</prgn> program which is in the
+<package>devscripts</package> package. It can be easily put in a
+<manref name="crontab" section="5">
 to keep someone informed of the progression of his packages in <em>testing</em>.
        <p>
 The <file>update_excuses</file> file does not always give the precise reason
 why the package is refused, one may have to find it on their own by looking
 what would break with the inclusion of the package. The <url
-id="&url-testing-faq;" name="testing FAQ"> gives some more information
+id="&url-testing-maint;" name="testing overview"> gives some more information
 about the usual problems which may be causing such troubles.
        <p>
 Sometimes, some packages never enter <em>testing</em> because the set of
@@ -2999,36 +3000,34 @@ hand crafted rules file.
 
        <sect1 id="handling-debconf-translations">Handling debconf translations
        <p>
-Like porters, translators have a difficult task.  Since they work on many
-packages, they cannot keep track of every change in packages in order to
-be informed when a translated string is outdated.  Fortunately
-<package>debconf</package> can automatically report outdated translations,
-if package maintainers follow some basic guidelines described below.
-       <p>
-Translators can use <prgn>debconf-getlang</prgn> (package
-<package>debconf-utils</package>) to write a <file>templates.xx</file>
-file containing both English and localized fields (where <em>xx</em> is
-the language code, may be followed by a country code).  This file can be
-put into the <file>debian</file> subdirectory without any change.
-       <p>
-When building a binary package, <file>debian/templates.xx</file> files are
-merged along with <file>debian/templates</file> to generate the
-<file>templates</file> file contained in the binary package.  This is
-automatically done by <prgn>dh_installdebconf</prgn> (package
-<package>debhelper</package>). If you do not use debhelper, you can
-do the same with <prgn>debconf-mergetemplate</prgn>
-(package <package>debconf-utils</package>). 
-       <p>
-When the package maintainer needs to update the templates file, they only
-change <file>debian/templates</file>.  When English strings in this file
-and in <file>debian/templates.xx</file> differ, translators do know that
-their translation is outdated.
-       <p>
-Please see the page about
-<url id="&url-debconf-l10n-help;" name="localizing debconf templates files">
-at the Debian web site, it contains more detailed instructions, including a
-full example.
-
+Like porters, translators have a difficult task.  They work on many
+packages and must collaborate with many different
+maintainers. Moreover, most of the time, they are not native English
+speaker, so you may need to be particularly patient with them.
+       <p>
+The goal of <package>debconf</package> was to make packages
+configuration easier for maintainers and for users.  Originally,
+translation of debconf templates was handled with
+<prgn>debconf-mergetemplate</prgn> from the
+<package>debconf-utils</package> package.  Since
+<package>debconf</package> version 1.2.9,
+<prgn>debconf-mergetemplate</prgn> has been deprecated and a new
+system called <package>po-debconf</package> is strongly
+encouraged. This new method is much easier both for the maintainer and
+the translators, and you should upgrade your packages to use it.
+Transition scripts are provided.
+       <p>
+Using <package>po-debconf</package>, the translation is stored in
+<file>po</file> files (drawing from <prgn>gettext</prgn> translation
+techniques).  Special template files contain the original messages and
+mark which fields should be translated. When you change the original,
+calling the <prgn>debconf-updatepo</prgn> script with no argument is
+enough to mark the translation as needing attention from the
+translators. Then, at build time, use the
+<prgn>dh_installdebconf</prgn> program take care of all the needed
+magic to add the template along with the up-to-date translations into
+the binary packages.  Refer to the <manref name="po-debconf"
+section="7"> manual page for details.
 
     <sect id="specific-practices">
        <heading>Specific packaging practices</heading>
@@ -3346,7 +3345,7 @@ means being a mentor.
        <p>
 Once the package meets Debian standards, build the package with
 <example>dpkg-buildpackage -us -uc</example> and sign it
-with <example>debsign -m &lt;your-email-addr&gt; &lt;changes-file&gt;</example>
+with <example>debsign -m"<var>FULLNAME</var> <var>email-addr</var>" <var>changes-file</var></example>
 before uploading it to the incoming directory.
        <p>
 The Maintainer field of the <file>control</file> file and the