[OpenStack-Infra] Translation setup challenges
Akihiro Motoki
amotoki at gmail.com
Wed Dec 30 18:22:11 UTC 2015
Thanks for initiating this effort.
2015-12-29 6:28 GMT+09:00 Andreas Jaeger <aj at suse.com>:
> 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?
IMO it is better to keep a domain name. The domain name means a filename.
The domain name is specified in oslo.i18n wrapper and setup.cfg.
Changing the directory name helps a lot, but changing the basename helps little.
My proposal is $modulename/locale/$reponame, but either of them is okay to me.
> b) For dashboard repos, there's no common entry point yet and some are
> even setup like "python" repositories (designate-dashboard).
It is a good idea to add some common entry point (tox target).
> 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..
As far as I know it is not easy to change.
Looking at https://docs.djangoproject.com/en/1.9/topics/i18n/translation/#specialties-of-django-translation,
The django framework expects django and djangojs as a domain name.
Message catalogs should be placed in 'locale' directory under each
django application path,
i.e. $modulename/locale/. It works most dashboard repository, but
'horizon' repo is special.
Horizon repo uses two django applications, openstack_dashboard and
horizon and this means
we need horizon/locale and openstack_dashboard/locale.
If we forces $modulename/locale/, it breaks Horizon implementation.
# Horizon team explored to split openstack_dashboard and horizon, but
there seems no much value
# at the moment and the effort is now stopped (or abandoned).
> 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.
It sounds a good idea.
If 'translate' tag is specified in project-config/gerrit/projects.yaml,
it would be nice that POT file is generated automatically.
Akihiro
>
> --
> 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
>
>
> _______________________________________________
> OpenStack-Infra mailing list
> OpenStack-Infra at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra
More information about the OpenStack-Infra
mailing list