New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How do I change the language ? #352

Closed
5bentz opened this Issue Feb 9, 2018 · 3 comments

Comments

Projects
None yet
2 participants
@5bentz

5bentz commented Feb 9, 2018

Hello,
Knowing French translations are available for QtPass, I would like to change the current language of the GUI. However I fail to understand how to do it.

I looked at the configuration. I read various documents: README, CONTRIBUTING, FAQ. I also tried to compile it myself & to read a bunch of Qt documentations about translations.

Have I missed a crucial configuration option?

Also, the following link in CONTRIBUTING is broken:
https://doc-snapshots.qt.io/qt5-5.6/linguist-translators.html
I guess the link could be replaced with http://doc.qt.io/qt-5/linguist-translators.html

Thanks for the awesome tool 👍

@tezeb

This comment has been minimized.

Contributor

tezeb commented Feb 9, 2018

@5bentz

This comment has been minimized.

5bentz commented Feb 10, 2018

I just thought about that in the bathroom :)
LANG failed, but the second try has been successful on my system (debian stable, English) 👍

$ LANGUAGE=fr_FR:fr qtpass 
$ LANGUAGE= LANG=fr_FR.UTF-8 qtpass

A reading of man gettext, section 2.3.3 Specifying a Priority List of Languages clarifies the handling of locales:

GNU ‘gettext’ gives preference to ‘LANGUAGE’ over ‘LC_ALL’
and ‘LANG’ for the purpose of message handling, but you still need to
have ‘LANG’ (or ‘LC_ALL’) set to the primary language; this is required
by other parts of the system libraries. For example, some Swedish users
who would rather read translations in German than English for when
Swedish is not available, set ‘LANGUAGE’ to ‘sv:de’ while leaving ‘LANG’
to ‘sv_SE’.

However, on my parents' computer, with all locales set to French, I cannot run QtPass in French! Interesting.

% locale                                                                                                                                                                                     
LANG=fr_FR.UTF-8
LANGUAGE=
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME=fr_FR.UTF_8
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY=fr_FR.UTF_8
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER=fr_FR.UTF_8
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS=fr_FR.UTF_8
LC_TELEPHONE=fr_FR.UTF_8
LC_MEASUREMENT=fr_FR.UTF_8
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=

Since the system is Ubuntu LTS, QtPass is still version 1.1.0. I'm gonna compile the last version.

Compilation problem. Strange... #346 should fix that. Cool. After reverting the culprint, here we go !

$  ~/git/QtPass/main (git)-[master] % ./qtpass

French ! Success ! The upstream works :] QtPass 1.1.6 from my debian-stable works too.

Now I'm wondering what I should do.
Contact Ubuntu's maintainer to update QtPass on LTS? Considering the new LTS version (18.04) will be released in 2 months from now...
I will use the last version I just compiled ;)

Thanks for the help. I will propose a PR.

@5bentz 5bentz closed this Feb 10, 2018

@5bentz

This comment has been minimized.

5bentz commented Feb 10, 2018

I ran various git bisect and LANGUAGE=fr qtpass to find the commit fixing the issue that QtPass ignores the system language and runs in English whatsoever.

[fd4102b] French translation updated from transifex
Fri Oct 7 21:03:22 2016 +0200

This is specific to French.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment