[openstack-dev] [All] [I18N] compiling translation message catalogs

Akihiro Motoki amotoki at gmail.com
Wed Oct 1 16:04:09 UTC 2014


Hi,

To display localized strings, we need to compile translated message
catalogs (PO files) into compiled one (MO files).
I would like to discuss and get a consensus who and when generate
compiled message catalogs.
Inputs from packagers are really appreciated.

[The current status]
* Horizon contains compile message catalogs in the git repo. (It is
just a history and there seems no strong reason to have compiled one
in the repo. There is a bug report on it.)
* Other all projects do not contain compiled message catalogs and have
only PO files.

[Possible choices]
I think there are several options. (there may be other options)
(a) OpenStack does not distribute compiled message catalogs, and only
provides a command (setup.py integration) to compile message catalogs.
Deployers or distributors need to compile message catalogs.
(b) Similar to (a), but compile message catalogs as a part of "pip install".
(c) OpenStack distributes compiled message catalogs as a part of the release.
    (c1) the git repo maintains compiled message catalogs.
    (c2) only tarball contains compiled message catalogs

Note that the current Horizon is (c1) and others are (a).

[Pros/Cons]
(a) It is a simplest way as OpenStack upstream.
     Packagers need to compile message catalogs and customize there scripts.
     Deployers who install openstack from the source need to compile them too.
(b) It might be a simple approach from users perspective. However to compile
     message catalogs during installation, we need to install required modules
     (like babel or django) before running installation (or require
them as the first
      citizen in setup.py "require"). I don't think it is much simpler
compared to
      option (a).
(c1) Compiled message catalogs are a kind of binary files and they can
      be generated from PO files. There is no need to manage two same data.
(c2) OpenStack is downloaded in several ways (release tarballs is not the
      only option), so I don't see much merits that the only tarball contains
      compiled message catalogs. A merit is that compiled message catalogs
      are available and there is no additional step users need to do.

My preference is (a), but would like to know broader opinions
especially from packagers.

Thanks,
Akihiro



More information about the OpenStack-dev mailing list