As example:
LANG = de_DE.UTF-8
$pinentry
GETPIN
Opens a PIN dialog with Cancel as button name.
I think this should be Abbrechen.
Localisation is mising.
As example:
LANG = de_DE.UTF-8
$pinentry
GETPIN
Opens a PIN dialog with Cancel as button name.
I think this should be Abbrechen.
Localisation is mising.
Werner, please note: this issue is kkc.
Retested: Still the same error with pinentry package 0.8.0.svn234-0kk1.
This is not a pinentry problem but one of gpg-agent. What version of gpg-agent
are you using?
Note that pinentry does not have any i18n features. The labels for all buttons
as weel as the prompts are provided by the caller. The Cancel you see are
merely fallbacks.
There are actually two problems here.
The first is that the gtk pinentry does not implement the
default-cancel and default-ok protocol options and thus always use the
standard ones. I just fixed that in pinentry (svn rev 237). The Qt
pinentry works coreclty since 0.8.0.
The other problem is indeed related to GnuPG:
It seems that most of the OPTION lc-message=foo code is not actually
used in gpg-agent. We only use that in the help file system
(gnupg_get_help_string). The problem here is that it is not possible
with gettext to safely switch locales; it is in theory possible using
a hack to trick out the gexttext/gcc optimization. However we would
still see two problems: thread safeness (which is not a major problem
in GnuPG) and the long time it takes to switch locales. The only way
I can see to solve this problem is by using a dedicated function to
look up the translated strings; this better uses the gettext
infrastructure and not our help file system. To make this work we
need to identify all strings in the gpg-agent code which are passed to
pinentry and wrap them into a lookup function. I am not sure whether
this is really required. For almost all users the locale (LC_MESSAGES)
under which gpg-agent was started is the one used with all tools. If
this will be done we won't backport it to 2.0.
Just to note:
I tested with the debian package pinentry-qt (0.8.0.svn234-0kk1) from
files.kolab.org. It's the same problem with pinentry-qt and pinentry-gtk (see
test below).
You wrote that pinentry-qt works corectly since 0.8.0 (=svn222). I can't confirm
this with my test below. Or do you mean, that the additional changes in gnupg
are required for show the german "Abbrechen" button text in pinentry-qt?
Test:
$ echo $LANG de_DE.UTF-8
pinentry-qt:
$ /usr/bin/pinentry-qt OK Your orders please getpin
pinentry-gtk:
$ /usr/bin/pinentry-gtk
OK Your orders please getpin
Right, you need a newer gnupg. Pinentry has no i18n support, thus your tests
are pointless.
The release pinentry 0.8.0 version (from 2010-03-03) is based on svn222 (see
tags(pinentry-0.8.0).
The pinentry package "pinentry-qt (0.8.0.svn234-0kk1)" is newer (svn234).
Yes, it should better called 0.8.1-svn234 - but it's the same content.
As I already explained: It works for me using the qt pinentry!
What is you problem? Again: You can't test this by simply invoking pinentry on
the command line.
Tested with current gnupg and pinentry-qt4:
pinentry qt4 (git 5190773293bc38550bbc8aeb1b539bfb47a47c78) qt 4.7 gpg (GnuPG) 2.1.0-git328ac58 libgcrypt 1.5.0-gitb90be28
$ export LC_ALL="de_DE.utf8"
$ gpg2 --gen-key
=> Pinentry comes up in German ("Abbrechen" instead of "Cancel")
So issue resolved.