minigalaxy icon indicating copy to clipboard operation
minigalaxy copied to clipboard

When env variable LANG is set, translations don't load

Open sharkwouter opened this issue 3 years ago • 0 comments

Crystal reported on Discord that is LANG is set to C, the Minigalaxy crashes with the following error:

Traceback (most recent call last):
  File "/usr/bin/minigalaxy", line 64, in <module>
    main()
  File "/usr/bin/minigalaxy", line 54, in main
    from minigalaxy.ui.gtk import Gtk
  File "/usr/lib/python3.9/site-packages/minigalaxy/ui/__init__.py", line 3, in <module>
    from minigalaxy.ui.window import Window             # noqa: F401
  File "/usr/lib/python3.9/site-packages/minigalaxy/ui/window.py", line 4, in <module>
    from minigalaxy.ui.login import Login
  File "/usr/lib/python3.9/site-packages/minigalaxy/ui/login.py", line 3, in <module>
    from minigalaxy.translation import _
  File "/usr/lib/python3.9/site-packages/minigalaxy/translation.py", line 32, in <module>
    lang = gettext.translation(TRANSLATION_DOMAIN, LOCALE_DIR, languages=[default_locale], fallback=True)
  File "/usr/lib/python3.9/gettext.py", line 587, in translation
    mofiles = find(domain, localedir, languages, all=True)
  File "/usr/lib/python3.9/gettext.py", line 558, in find
    for nelang in _expand_lang(lang):
  File "/usr/lib/python3.9/gettext.py", line 213, in _expand_lang
    loc = locale.normalize(loc)
  File "/usr/lib/python3.9/locale.py", line 403, in normalize
    code = localename.lower()
AttributeError: 'NoneType' object has no attribute 'lower'

I suggest unsetting the LANG and making sure default locale cannot be C.

sharkwouter avatar Nov 09 '21 08:11 sharkwouter