[horizon][i18n][infra] Renaming Chinese locales in Django from zh-cn/zh-tw to zh-hans/zh-hant

Akihiro Motoki amotoki at gmail.com
Tue Feb 2 14:21:30 UTC 2021


The horizon team is planning to switch Chinese language codes in
Django codes from zh-cn/zh-tw to zh-hans/zh-hant. Django, a framework
used in horizon, recommends to use them since more than 5 years ago

This change touches Chinese locales in the dashbaord codes of horizon
and its plugins only. It does not change Chinese locales in other
translations like documentations and non-Django python codes. This is
to minimize the impact to other translations and the translation

### What are/are not changed in repositories

* horizon and horizon plugins
  * locales in the dashboard codes are renamed from zh-cn/zh-tw to
  * locales in doc/ and releasenotes/ are not changed
* other repositories
  * no locale change happens

* This leads to a situation that we have two different locales in
horizon and plugin repositories (zh-hans/hant in the code folders and
zh-cn/tw in doc and releasenotes folders), but it affects only
developers and does not affect horizon consumers (operators/users) and
* In addition, documentations are translated in OpenStack-wide (not
only in horizon and plugins). By keeping locales in docs, locales in
documentation translations will be consistent.

### Impact on Zanata

In Zanata (the translation platform), zh-cn/zh-tw continue to be used,
so no change is visible to translators.
The infra job proposes zh-cn/zh-tw GUI translatoins as zh-hans/zh-hant
translations to horizon and plugin repositories.

The alternative is to create the corresponding language teams
(zh-hans/zh-hant) in Zanata, but it affects Chinese translators a lot.
They need to join two language teams to translate horizon
(zh-hans/zh-hant) and docs (zh-cn/zh-tw). It makes translator workflow
complicated. The proposed way has no impact on translators and they
can continue the current translation process and translate both
horizon and docs under a single language code.

### Changes in the infra scripts

Converting Chinese locales of dashboard translations from zh-cn/zh-tw
to zh-hans/zh-hant is handled by the periodic translation job.
propose_translation_update job is responsible for this.

* Move zh-cn/zh-tw translations related to Django codes in horizon and
its plugins from zanata to zh-hans/hant directory.
* This should happen in the master branch (+ future stable branhces
such as stable/wallaby).

### Additional Remarks

I18n SIG respects all language team coordinators & members, and is
looking forward to seeing discussions and/or active contributions from
the language teams.

Currently all language codes follow the ISO 639-1 standard (language
codes with relevant country codes), but the change introduces new
language code forms like zh-hans/zh-hant. This follows IETF BCP 47
which recommends a combination of language codes and ISO 15924 script
code (four letters). We now have two different language codes in
OpenStack world. This is just to minimize the impact on the existing
translations. It is not ideal. We are open for further discussion on
language codes and translation support.

### References

[1] https://code.djangoproject.com/ticket/18419
[2] https://www.djbook.ru/rel1.7/releases/1.7.html#language-codes-zh-cn-zh-tw-and-fy-nl

Akihiro Motoki (irc: amotoki)

More information about the openstack-discuss mailing list