On Mon, Mar 24, 2014 at 5:46 AM, Łukasz Jernaś <deejay1@srem.org> wrote:
23 mar 2014 21:25 "Andreas Jaeger" <aj@suse.com> napisał(a):
On 03/23/2014 09:20 PM, Andreas Jaeger wrote:
Looking at my patch to import back the Horizon translations (https://review.openstack.org/#/c/82176) and the comments by Akihiro Motoki, I notice that horizon has no command to update the message catalogs.
For all other projects, we basically do the following as part of the propose job: * Download all translation PO files from transifex * Update POT file * Update PO files based on pot file ("python setup.py update_catalogs") * Upload POT and PO files to transifex
Horizon does not implement update_catalogs at all. Is this step really needed or is something that transifex does for us and thus we could remove the step?
Yes. As long as there is no update in POT file, there is no need to update PO files based on PO file. When PO file is uploaded to Transifex, Transifex merges translation data with upload PO file. In my understanding, new POT files are uploaded by upstream_translation post job and they are kept up-to-date, so there is no need to update PO files in propose_translation job. Precisely speaking, ./run_tests.sh --makemessages for specific language does the same job for update_catalogs for other projects. Horizon uses Django framework and does not use babel to manage PO/POT files. This is the reason Horizon's POT files don't have .pot suffix. I think update_catalogs in other projects propose_translation job tries to keep POT and PO consistent, but it brings no additional values because if there is new strings in POT there is no translation for new strings even if update_catalog is done and gettext mechanism works well even if there is a inconsistent points between PO and POT.
Also, do we really need to push the POT file to transifex? It should be done as part of the uptream_translation post job, isn't it?
Yes, the POT file should only be updated/uploaded in the post gate if it changes.
Yes, as Lukasz commented. Thanks, Akihiro