Skip to content

Commit

Permalink
i18n: Fixed i18n_test by setting the LANGUAGE env variable
Browse files Browse the repository at this point in the history
When I ran i18n_test, I had failures on 'ja_JP' and 'de_DE' tests. After
a little search, it turns out that gettext was unable to find the proper
mo files. cola's approach to setting up its translation is to set
environement variables and then call `translation()` without a
`languages` argument.

Before this patch, the environment variables we set were "LANG" and
"LC_MESSAGES". However, this is what Python doc for `find()` says:

"""
If languages is not given, then the following environment variables are
searched: LANGUAGE, LC_ALL, LC_MESSAGES, and LANG. The first one
returning a non-empty value is used for the languages variable.
"""

Therefore, non-empty "LANGUAGE" or "LC_ALL" env variables would
mess up our translation.

I've added a line setting "LANGUAGE" (in addition to the two others
already there) and it fixed the tests for me.

Signed-off-by: Virgil Dupras <hsoft@hardcoded.net>
  • Loading branch information
Virgil Dupras committed Feb 16, 2014
1 parent 42caccb commit 47de7b8
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions cola/i18n.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ def install(locale):
if sys.platform == 'win32':
_check_win32_locale()
if locale:
compat.setenv('LANGUAGE', locale)
compat.setenv('LANG', locale)
compat.setenv('LC_MESSAGES', locale)
_install_custom_language()
Expand Down

0 comments on commit 47de7b8

Please sign in to comment.