GNOME Bugzilla – Bug 341194
Purge-Dialog not translated
Last modified: 2009-11-26 19:43:51 UTC
That bug has been opened on https://launchpad.net/distros/ubuntu/+source/evolution/+bug/43785 "If you try to purge a folder (Ctrl+E), you get a confirm dialog. Even as Evolution is called to be fully translated to German, these dialog is still English..."
hmm... i can reproduce this here with both german and zh_CN.utf8, though the string is translated in the po files. strange.
After some discussion on the #ubuntu-desktop it looks like the issue is due to the fact that the source strings use """ where the code (e-util/e-error.c,) get the string parsed by libxml first, so the gettext call is made on a string with " instead of " and that variant has no translation ...
$ grep """ /usr/share/evolution/2.6/errors/* | wc -l 66 The issue is likely to be the same for those 66 strings actually
http://librarian.launchpad.net/2867135/21_hack_escape_quotes.patch is the proposed patch.
Note that intltool won't (un)escape anything else either. So you may need to watch for &, <, > and similar as well. It's better to turn entity replacement off in the parser (may need to use ctxt-stuff in libxml2 for this, though).
s/better/easier and safer/
Created attachment 69101 [details] [review] proposed patch by dholbach adding the patch to bugzilla instead of a link, so it will be indexed at the patch overview page
The patch has been written by Gary Coady <garycoady@ubuntu.com> and he describes it as a hack rather than a proper fix for it
*** Bug 377068 has been marked as a duplicate of this bug. ***
From bug #377068: e-util/e-system.error is generated from e-system.error.xml using intltool which should merge the translations into the source file. This does NOT work for some obscure reason, resulting in untranslated messages in the generated e-system.error file, and hence a non-localized error message in the interface. and: elin:/opt/gnome-2-16/src/evolution/e-util > rm e-system.error rm: remove regular file `e-system.error'? y elin:/opt/gnome-2-16/src/evolution/e-util > make LC_ALL=C ../intltool-merge -x -u /tmp e-system.error.xml e-system.error Merging translations into e-system.error. CREATED e-system.error make all-am make[1]: Entering directory `/opt/gnome-2-16/src/evolution/e-util' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/opt/gnome-2-16/src/evolution/e-util' elin:/opt/gnome-2-16/src/evolution/e-util > cat e-system.error <?xml version="1.0" encoding="UTF-8"?> <error-list domain="system"> <error type="error" id="ask-save-file-exists-overwrite" default="GTK_RESPONSE_CANCEL"> <title>Overwrite file?</title> <primary>File exists "{0}".</primary> <secondary>Do you wish to overwrite it?</secondary> <button stock="gtk-cancel" response="GTK_RESPONSE_CANCEL"/> <button response="GTK_RESPONSE_OK" label="_Overwrite"></button> </error> <!-- snip --> </error-list>
*** Bug 377853 has been marked as a duplicate of this bug. ***
Im not sure about this. Comment #10 seems like a non-evolution issue to me. Though the patch seems to work around the unescaping part. This may work around the problem in evolution.
srag, ping -- should we go ahead and bypass the issue (and take care of this unlocalised string)?
This had been fixed in other bug by replacing escaped characters in the error.xml file. See the bug itself for more information and any reference. *** This bug has been marked as a duplicate of bug 408579 ***