[OpenStack-Infra] Translation setup challenges

Andreas Jaeger aj at suse.com
Mon Dec 28 21:28:46 UTC 2015


Reading some IRC backlog and an incoming review with a new suggestion on 
how to do translations in the project, I decided to write some problems 
our current scripts have, together with questions and proposals. With 
the growing big tent and the automatic way to setup translations, we get 
more repos requesting translations - and more support requests.

Please read the description below and tell me what's wrong,what's 
missing, where you disagree - and how to move forward.

thanks,
Andreas

Setting up translations for new projects currently has the following
challenges:

a) For "python" repositories, we expect that the locale file is
    located at $repo/locale/$repo.pot - without any change possible.
    This leads to python-novaclient/locale/python-novaclient.pot and
    oslo.log/locale/oslo.log.i18n - in both cases the python module has
    a different name, novaclient and oslo_log.

    Currently everybody makes it wrong and we have to help them using
    the proper file names.

    Proposal:
    * Simplify location to use $modulename/locale/$modulename
      Can we determine modulename easily from the name in setup.cfg like
      in jenkins/scripts/pypi-extract-name.py?

b) For dashboard repos, there's no common entry point yet and some are
    even setup like "python" repositories (designate-dashboard).

    There's also no naming pattern on how to name files and everybody
    does it differently.

    Currently the django component is called djangjo.pot, the
    javascript one djangojs.pot.

    Question: Do we really need to do it this way or can we change it?

    We should have a single entrypoint for projects and a standard way
    to call them.

    Proposal: Define standard tox environement "extractmessages", it
    places translation files in (if django/djangojs are really the best
    names, I prefer to change them):
    * $modulename/locale/django.pot
    * $modulename/locale/djangojs.pot

    Can we determine modulename easily from the name in setup.cfg like
    in jenkins/scripts/pypi-extract-name.py? At least
    django_openstack_auth is setup differently..

c) Projects currently need to add the pot file initially, our scripts
    fail if the directory does not exist.

    Proposal: Make scripts robust so that they work even without
    initial pot file.

-- 
  Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi
   SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
    GF: Felix Imendörffer, Jane Smithard, Graham Norton,
        HRB 21284 (AG Nürnberg)
     GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126




More information about the OpenStack-Infra mailing list