aboutsummaryrefslogtreecommitdiffstats
path: root/common/i18n.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2015-06-30 19:58:02 +0000
committerWerner Koch <[email protected]>2015-06-30 19:58:45 +0000
commite76d4c05b24211f3981ab69cddb3fccc17d21e0e (patch)
treef62e615bffca562ef096cb8babd9e8c2b70379d5 /common/i18n.c
parentRemove obsolete file g10/comment.c. (diff)
downloadgnupg-e76d4c05b24211f3981ab69cddb3fccc17d21e0e.tar.gz
gnupg-e76d4c05b24211f3981ab69cddb3fccc17d21e0e.zip
agent: Use different translation func for Pinentry strings.
* po/Makevars (XGETTEXT_OPTIONS): Add keyword "L_". * common/i18n.c (i18n_localegettext): New stub. * common/i18n.h: Expand the LunderscoreIMPL macro. * agent/agent.h (L_): New. (LunderscoreIMPL): New. * agent/call-pinentry.c (setup_qualitybar): Add arg ctrl anc change caller. * agent/findkey.c (try_unprotect_cb): Add local var ctrl. * agent/genkey.c (check_passphrase_constraints): Replace xtryasprintf by xtrystrdup to avoid gcc warning. Unfortinately this changes the string. (agent_ask_new_passphrase): Cleanup the use of initial_errtext. -- Static strings in gpg-agent need to be translated according to the locale set by the caller. This is required so that a gpg-agent can be started in one locale and a gpg can be run in another. If we don't do this the static strings (prompt, buttons) are not or in the wrong locale translated while dynamic strings (e.g. key description) uses the locale of gpg. This is only the first part of the change the actual local switching still needs to be implemented. Debian-bug-id: 788983 Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to '')
-rw-r--r--common/i18n.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/common/i18n.c b/common/i18n.c
index 202d84035..e6d3f5e47 100644
--- a/common/i18n.c
+++ b/common/i18n.c
@@ -113,3 +113,15 @@ i18n_utf8 (const char *string)
i18n_switchback (saved);
return result;
}
+
+
+/* A variant of gettext which allows to specify the local to use for
+ translating the message. The function assumes that utf-8 is used
+ for the encoding. FIXME: The locale back and forth switching is
+ likely very expensive, thus we should consider to implement our own
+ cache here. */
+const char *
+i18n_localegettext (const char *lc_messages, const char *string)
+{
+ return _(string);
+}