[Xfce-i18n] Get xfce-goodies po/pot files

Daichi Kawahata daichi at xfce.org
Sat Feb 18 09:32:56 CET 2006

On Sat, 18 Feb 2006 15:31:47 +1030
Clytie Siddall wrote:

> Hello everybody :)

> >  SZERVÁC_Attila  <sas at 321.hu> wrote (in part):
> >  some plugins have i18n support, but no have pot file is the
> > po dir (correctly)
> I'm a little confused.
> Are you saying that it's correct for modules not to have a .pot
> file in their .po directory, when they want that file translated?

Basically, Xfce-goodies doesn't go the same with Xfce and it has
separated plugins/modules within it, each of them has own developer/
maintainer, furthermore, some get ported to the new Xfce-panel with
i18n support while some still remain old plugin without i18n support.

That makes somewhat Xfce-goodies difficult for us when it comes with
one-stop translation (POT/PO) module like po-goodies. FYI, you can
assume Xfce main repository has that module, see link below:


by grabbing the modules, you can get POT files in both 4.2, trunk
tree except Xffms' in trunk. As for the goodies, I think they
should be i18nized if they show us the strings in the UI too.
If you find non-i18n supported plugins while should be, file a
bug at http://bugzilla.xfce.org (product name: Xfce Panel Plugins)
or ask the authors directly.

> This is inconvenient at least. We have an increasing number of  
> volunteer translators willing to translate PO files, but not
> willing to execute command-line tasks to do so. The more we
> simplify the translation process, the more volunteer effort we
> get.

That may the point I disagree, when a translator finishes the
translation, to check typo/fitting etc. in the actual situations,
in other words, in the running applications, at least he/she needs
to issue the command `make install' from the command line even if
the location to install is the home directory (due to lack of root
permission). If a translator want to check the latest trunk
application, he/she needs to install it from the source.

Let me say, the translations will be completed with the running
applications, that is, if you're considering the separating PO/POT
files from the source tree, only having blind-translation them
brings a convenience for the new volunteers, it'll bring the another
(a string inconsistency, style mismatch etc.) instead. Actually,
an increasing a number of translators doesn't always help.

Please tell them minimum command lines to get the application
installed from the source, or probably you/someone take a role of
a proof-reader/checker if the only GUI-familiar volunteer submits
a PO file. A translation itself isn't that difficult, the management
(style unification, consistency etc.) would be, of course it's up to
the responsible translator in each languages.

> It would really help for the internationalization process to
> include generating a .pot file, if that is not already the case. :)

As I have a permission to import a missing POT files, let me know
when you'll encounter them.
> I'm also puzzled about the modules which do not have po directories.  
> Does this mean they don't want any translations?

If you were talking about the goodies, yes I was also puzzled,
again, they're a mixture of old/new Xfce panel API, an i18n
supported/non-supported. As I have a job title regarding i18n related
stuffs in Xfce-goodies as well, currently I'm trying to get them
workable for the translators, time is limited though.

> > Stavros Giannouris <stavrosg2002 at freemail.gr> wrote (in conclusion):
> > After creating the *.pot file, you should run
> > $ msginit
> > which will use the $LANG env.variable to determine your language
> > and create the correct (but untranslated) .po file for you.
> > You should use msginit in every case, since some things (notably  
> > plural forms) will not be set up correctly when just renaming the
> > .pot, and the resulting file will be broken.
> Is this Xfce-specific?

Nope, it's just a GNU gettext style (the nearest way to create
the initial PO file, it's a part of gettext), as far as I know,
except KDE, it can be recommended even in GNOME, a project uses
wxWidgets (it uses `locale' directory instead of `po'.). Having
said that however, it's up to you as well to chose a way to
create the initial PO file if necessary information is given
(see example below).

> Most translators (if not all) have their computers set up for
> their specific language, and have a complete set of the
> appropriate headers for that language, project and team. Often,
> these are integrated in the translation editor used.
> At the Translation Project, Gnome, Debian, KDE and numerous  
> individual-program projects, renaming the POT file and inserting
> the appropriate headers works perfectly.
> msginit can produce the appropriate .po file for you, but it's a  
> fairly simple task manually, even for command-line allergic  
> translators. ;)

I'm not sure which header you were talking about, for example, in
Orage, if one follows the step below:

  From the POT file:

  # This file is distributed under the same license as the PACKAGE package.
  #, fuzzy
  msgid ""
  msgstr ""
  "Project-Id-Version: PACKAGE VERSION\n"
  "Report-Msgid-Bugs-To: \n"
  "POT-Creation-Date: 2006-01-26 19:58+0900\n"
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
  "Language-Team: LANGUAGE <LL at li.org>\n"
  "MIME-Version: 1.0\n"
  "Content-Type: text/plain; charset=CHARSET\n"
  "Content-Transfer-Encoding: 8bit\n"

  $ msginit (--locale=vi)

  # Vietnamese translations for orage package.
  # Copyright (C) 2006 THE orage'S COPYRIGHT HOLDER
  # This file is distributed under the same license as the orage package.
  # Daichi Kawahata <daichi at xfce.org>, 2006.
  msgid ""
  msgstr ""
  "Project-Id-Version: orage\n"
  "Report-Msgid-Bugs-To: \n"
  "POT-Creation-Date: 2006-01-26 19:58+0900\n"
  "PO-Revision-Date: 2006-02-18 15:45+0900\n"
  "Last-Translator: Daichi Kawahata <daichi at xfce.org>\n"
  "Language-Team: Vietnamese <gnomevi-list at lists.sourceforge.net>\n"
  "MIME-Version: 1.0\n"
  "Content-Type: text/plain; charset=ASCII\n"
  "Content-Transfer-Encoding: 8bit\n"
  "Plural-Forms: nplurals=1; plural=0;\n"

In the generated headers above, at least the charset should be
changed to UTF-8, if you have your translation team, Language-
Team also, however other than that, which would you change?
Although the problem using this command is, it requires generated
`configure' script to grab a package name put into `Project-Id-

At any rate, if only `po' directory is given, PO file editor
(KBabel, poEdit, gtranslator, vim, emacs) itself can't put the
correct headers, and manually modified header values would
include typo. inconsistency & invalid strings. Regarding headers,
it's not allowed their keeping initial values (because it must
break build-process due to the error of msgfmt), a missing
contact address.

Note that, that comes from my maintainer's view point, so if
you can give a consistency across the entire PO files in Xfce/
Xfce-goodies, I don't care changing the header above, in
contrast, if you only take care of specific applications and
PO files get clattered in header-wise by the multiple PO file
translators/maintainers, it might be the problem for me.

At last, in general, a translation process is still under
construction, especially if one want the separated module for
the translation only, I know KDE adopts such method but Xfce
isn't KDE. Nonetheless if you have an idea, don't hesitate to
post here.

And, welcome to Xfce-i18n!

Language Codes: http://www.w3.org/WAI/ER/IG/ert/iso639.htm
Country Codes: http://www.ics.uci.edu/pub/ietf/http/related/iso3166.txt

More information about the Xfce-i18n mailing list