LinuxGuruz
  • Last 5 Forum Topics
    Replies
    Views
    Last post


The Web Only This Site
  • BOOKMARK

  • ADD TO FAVORITES

  • REFERENCES


  • MARC

    Mailing list ARChives
    - Search by -
     Subjects
     Authors
     Bodies





    FOLDOC

    Computing Dictionary




  • Text Link Ads






  • LINUX man pages
  • Linux Man Page Viewer


    The following form allows you to view linux man pages.

    Command:

    po-debconf

    
    
    

    DESCRIPTION

           The goal of "debconf" was to make package configuration user-friendly.
           In order to achieve this, it is important to ensure that users will get
           the question in their own language.  Translators need a framework to
           easily work on translations without having to track package
           development; "po-debconf" was designed to be able to work with standard
           "gettext" tools when translating debconf templates files.
    
    
    

    ADDING I18N SUPPORT TO DEBCONF TEMPLATES FILES

           If you are adding debconf support to your package, you have written a
           templates file containing English text.  To add proper i18n support
           into your package, you need to:
    
           - Create debian/po/POTFILES.in
               This file contains the list of master templates.  It typically
               contains a single line:
    
                 [type: gettext/rfc822deb] templates
    
               Paths are relative to the parent directory.
    
           - Prepend an underscore before translatable fields in each template
               Normally "Description", "Choices" and sometimes "Default" fields
               can be translated.
    
           - Run debconf-updatepo
               This will create the debian/po/templates.pot file that translators
               will translate into their language.
    
           - Add a build dependency on "po-debconf" in debian/control
    
    
    

    UPDATE TEMPLATES

           In order to help translators, PO files in your package should always be
           up-to-date, otherwise they may waste their time translating unused
           strings.  For that, simply call the following command without
           arguments:
    
             $ debconf-updatepo
    
           You should run this command every time you change templates in English,
           but also when you receive new or updated translations, because
           translators may have worked on an obsolete PO file.
    
           If you rename, add or remove some templates files, remember also to
           edit debian/po/POTFILES.in accordingly, otherwise English strings are
           missing from PO files and will be displayed to users even if PO files
           are fully translated.
    
           The debconf-updatepo program is idempotent, it modifies PO files only
           if their content has been updated.  Thus the best way to provide up-to-
           date PO files in your source package is to call this command from the
           "clean" target of the debian/rules file.
           You have to make sure that when your package is compiled, translations
           will get into the built package. You can do that manually, or
           automatically using the dh_installdebconf script (make sure to have a
           versioned build dependency against "debhelper (>= 4.1.16)").
    
           To do that manually, you'll have to merge the templates and the
           translations at compile time (and to have a build depend against
           "po-debconf") like this:
    
             $ po2debconf debian/templates > debian/tmp/DEBIAN/templates
    
           BE CAREFUL: the two files called templates are not the same at all.
           The first one contains only the English text, with marks to denote some
           fields to be translated while the second contains all languages.  That
           is to say that you CANNOT keep only the merged templates, or you won't
           be able to deal with translations as people submit them to you.
    
    
    

    NEW MASTER TEMPLATES

           The new templates file source format is almost identical to one of
           distributed templates files, but translatable fields are prepended with
           an underscore.  Example:
    
             Template: debconf/frontend
             Type: select
             _Choices: Dialog, Readline, Gnome, Editor, Noninteractive
             Default: Dialog
             _Description: Interface to use for configuring packages:
              Packages that use debconf for configuration share a common look and
              feel.  You can select the type of user interface they use.
              .
              The dialog frontend is a full-screen, character based interface,
              while the readline frontend uses a more traditional plain text
              interface, and the gnome frontend is a modern X interface.  The
              editor frontend lets you configure things using your favorite text
              editor. The noninteractive frontend never asks you any questions.
    
       SPLITTING CHOICES LIST
           Since "po-debconf" 0.6.0, localized fields may contain two leading
           underscores.  In this case, the field value is supposed to be a comma
           separated list of values, which are put in separate msgids.  Thus if
           the previous example did contain
    
             __Choices: Dialog, Readline, Gnome, Editor, Noninteractive
    
           there would be 5 different msgids.  Note that spaces after commas are
           not significant.
    
           When a choices list never changes, "_Choices" may be considered fine.
           However, splitting such lists may help avoiding frequent mistakes in
           translations such as omitting a choice or using non-standard commas.
           For such reasons, the use of "__Choices" will ease translator's life
           and is strongly recommended.
             _Choices: Dialog, Readline, Gnome, Kde, Editor, Noninteractive
    
           Run debconf-gettextize with "--merge" and "--choices" flags to build PO
           files as if "__Choices" was written, and merge these PO files to
           existing ones:
    
             $ debconf-gettextize --merge --choices debian/foo
    
           Eventually you have to remove foo and manually edit debian/templates to
           replace "_Choices" by "__Choices" before debconf-updatepo is run.
    
       PUTTING IN COMMENTS FOR TRANSLATORS
           "Dpkg" maintainers decided that by convention lines beginning with a
           number sign ("#") are comments in debian/control files, and
           "po-debconf" follows this rule.  Since "po-debconf" 0.8.0, such
           comments are written into PO files, and can then contain valuable
           information for translators.  Incidentally all previous "po-debconf"
           versions ignore lines which do not contain a colon, thus if your
           comments does not contain any colons, there is no need to add a
           versioned build dependency against "po-debconf".  Here is an example:
    
             Template: debconf/button-yes
             Type: text
             # Translators, this text will appear on a button, so KEEP IT SHORT
             _Description: Yes
    
           Special comments have been introduced in "po-debconf" 1.0 to deal with
           strings which are composed of several items (as with Choices field) or
           paragraphs (like Description).  With these directives, developers have
           a better control over what is exposed to translators.  They are in the
           form "#flag:directive"; directives are detailed below.
    
           translate:spec, translate!:spec
              Mark only some items as translatable; spec is a comma separated list
              of numbers, it specifies which strings will be printed into PO
              files.  Ranges can also be defined via a minus sign (for instance
              "2-6"), and a star ("*") means all strings.  For instance, with
    
                Template: partman-basicfilesystems/fat_mountpoint
                Type: select
                #flag:translate:3,4
                __Choices: /dos, /windows, Enter manually, Do not mount it
                _Description: Mount point for this partition:
    
              "Enter manually" and "Do not mount it" will appear in PO files but
              not "/dos" and "/windows".  When an exclamation mark follows the
              translate keyword, spec specifies which strings will be discarded
              from PO files, all other strings are printed.  Previous example is
              similar to
    
                Template: partman-basicfilesystems/fat_mountpoint
                Type: select
                 ${ITEMS}
    
              But this is hazardous because context may be dropped from PO files,
              please add comments in this case so that translators are not
              confused.
    
           comment:spec, comment!:spec
              The comment just below this directive applies to the strings
              specified by spec, which is defined above.  By default, a comment
              written before a translatable field is printed along with all
              strings belonging to this field.  (Note: with "po-debconf" < 1.0,
              the comment was printed only with the first string)
    
                Template: arcboot-installer/prom-variables
                Type: note
                # Translators, the 4th string of this description has been dropped
                # from PO files.  It contains shell commands and should not be
                # translated.
                #flag:comment:3
                # "Stop for Maintenance" should be left in English
                #flag:translate!:4
                _Description: Setting PROM variables for Arcboot
                 If this is the first Linux installation on this machine, or if the
                 hard drives have been repartitioned, some variables need to be set
                 in the PROM before the system is able to boot normally.
                 .
                 At the end of this installation stage, the system will reboot.
                 After this, enter the command monitor from the "Stop for
                 Maintenance" option, and enter the following commands:
                 .
                    setenv OSLoader arcboot
                    setenv OSLoadFilename Linux
                 .
                 You will only need to do this once.  Afterwards, enter the "boot"
                 command or reboot the system to proceed to the next stage of the
                 installation.
    
              The example above has a comment without "#flag:comment" directive,
              where an implicit "#flag:comment:*" is added.  This comment appears
              with all strings, but the one about Stop for Maintenance is printed
              only before the relevant string.
    
           partial
              This keyword tells po2debconf to keep translated strings even if all
              strings have not been translated.  Please use with caution, this
              keyword has been introduced for very specific purposes.
    
       GIVING NOTICES TO TRANSLATORS BEFORE UPLOADING
           Usually translators notice on the status web pages (see below) that
           translations are outdated, and send patches which will be included in
           future uploads.  But developers are encouraged to ask maintainers of
           outdated translations for an update before an upload, for instance one
             po2debconf debian/templates > debian/tmp/DEBIAN/templates
             rm /tmp/{config,templates}.dat{,-old}
             debconf-loadtemplate debian/tmp/DEBIAN/templates
             DEBIAN_PRIORITY=low debconf -freadline debian/config configure 28.0
    
    
    

    CAVEATS

           ? "Debconf" 1.2.0 recognizes fields in the form Name-lang.encoding,
             e.g. "Description-de.ISO-8859-1" or "Choices-ru.KOI8-R".  By default
             po2debconf writes templates files in that new format.  Older
             "debconf" will ignore these fields, and English text is displayed.
             See po2debconf(1) to know how to change encoding and output format.
    
           ? A given English string may be given only one unique translation in a
             given language.  It is impossible to give two different translations,
             depending on the context.  To solve this issue, you have to add
             special markups to the different occurrences of a given string to
             make them different.  (These markers will only be visible to
             translators, and they will be removed from the string before being
             displayed to user)
    
             Such markers must be added to the end of the strings to translate,
             they must start with "[ " (a left bracket followed by a space) and
             end with "]" (right bracket), and may contain any character but
             brackets or new lines. For example "[ blahblah]" is a valid marker
             while "[ bla[bla]bla]" isn't. For Perl regexp addicts, the markers
             are recognized (and removed) using this rule:
    
               $msg =~ s/\[\s[^\[\]]*\]$//s;
    
           ? Spacing is not handled exactly the same way by "po-debconf" and
             "debconf-utils"; with the latter, paragraphs are reformatted when
             updating and merging translations, so "debconf-utils" is very smart
             and spaces are not considered as being part of strings when
             determining fuzzy entries.  (i.e., the ones needing translator's
             attention because the original changed)
    
             On the other hand "po-debconf" relies on "gettext" to detect fuzzy
             entries, and it does not treat spaces as special characters.  Thus
             superfluous spaces must be removed at end of lines in master
             templates files, or they will appear in PO and POT files.
    
             For the same reason, debconf-gettextize can mark text fuzzy because
             of mismatch with space characters, and translators have to manually
             unfuzzy such strings.  This only happens once when converting
             templates to "po-debconf" format, unless you randomly change spaces
             in master templates files, which will be painful for translators.
    
           ? Normally the Default: field must not be translated when template type
             is Select or Multiselect. Under rare circumstances (e.g. when
             selecting the default language for an application) localized values
             may be meaningful.
    
               _Description: Geneweb default language
    
             The default value also appears in the Choices field, and both have
             different translations: the former is an untranslated value chosen
             among Choices values, whereas the latter is a normal translation.  As
             "gettext" cannot have two different translations for the same msgid,
             both msgids must be different by using bracketed comments as
             described in a previous subsection.
    
             Prior to "po-debconf" 0.8.0, such comments were not available and
             maintainers had to replace the _Default: field by _DefaultChoice: in
             order to highlight such fields in PO files:
    
               #. DefaultChoice
               msgid ""
               "English[ default: do not translate bracketed material, put your "
               "own language here but UNTRANSLATED.  If it is not in the list, "
               "put English (without bracketed material)]"
               msgstr ""
               "Swedish"
    
             Plain comments in templates files are less error prone and are
             encouraged.
    
    
    

    STATUS WEB PAGES

           Statistics for "po-debconf" translations are available at
           http://www.debian.org/intl/l10n/po-debconf/
           <http://www.debian.org/intl/l10n/po-debconf/> (or from mirrors); they
           are automatically updated when new packages are uploaded.  Only
           packages shipping debian/po/templates.pot and debian/po/POTFILES.in
           files are considered, so you should make sure your source package
           provides them.
    
           Translators can grab PO and POT files from there, but they must always
           get in touch with the previous translator (her mail address can be
           found in the PO file) and/or their fellow translators on
           debian-l10n-<language>@lists.debian.org (if such a list does exist) to
           make sure that noone is currently working on the same translation, and
           read current bugreports against the package they are going to translate
           to see if a translation has already been reported.
    
           After translating these files, they should submit their work to the
           maintainer as bug report of severity wishlist with the patch tag.
    
    
    

    SEE ALSO

           debconf-gettextize(1), debconf-updatepo(1), dh_installdebconf(1),
           podebconf-report-po(1), po2debconf(1), debconf-devel(7).
    
    
    

    AUTHORS

             Martin Quinson <Martin.Quinson@ens-lyon.fr>
             Denis Barbier <barbier@linuxfr.org>
    
    
  • MORE RESOURCE


  • Linux

    The Distributions





    Linux

    The Software





    Linux

    The News



  • MARKETING






  • Toll Free

webmaster@linuxguruz.com
Copyright © 1999 - 2016 by LinuxGuruz