Package: apt-listchanges Version: 2.59 Tags: patch l10n python2.3 gettext has a misfeature of encoding text as .po file was encoded in, regardless of the current locale.
The following patch works around the problem by encoding the text in the current locale. For python2.4, gettext.lgettext will work as expected. diff -ur apt-listchanges-2.59-orig/apt-listchanges apt-listchanges-2.59/apt-listchanges --- apt-listchanges-2.59-orig/apt-listchanges 2004-11-14 10:34:08.000000000 +0900 +++ apt-listchanges-2.59/apt-listchanges 2005-07-16 16:02:14.101763168 +0900 @@ -29,6 +29,7 @@ import sys import apt_pkg import gettext +import locale import string import anydbm import DebianControlParser @@ -37,7 +38,13 @@ def main(): try: - _ = gettext.translation('apt-listchanges').gettext + # This is for python 2.3 compatibility. + # Replace with "_ = gettext.translation('linda').lgettext" line for python2.4 + gettext_encoding=locale.getpreferredencoding() + my_ugettext = gettext.translation('linda').ugettext + def lgettext(msgid): + return my_ugettext(msgid).encode(gettext_encoding) + _ = lgettext except IOError: _ = lambda str: str Only in apt-listchanges-2.59: apt-listchanges.1 diff -ur apt-listchanges-2.59-orig/apt_listchanges.py apt-listchanges-2.59/apt_listchanges.py --- apt-listchanges-2.59-orig/apt_listchanges.py 2005-02-14 04:48:03.000000000 +0900 +++ apt-listchanges-2.59/apt_listchanges.py 2005-07-16 16:02:35.988435888 +0900 @@ -23,7 +23,13 @@ locale.setlocale(locale.LC_ALL,'') try: - _ = gettext.translation('apt-listchanges').gettext + # This is for python 2.3 compatibility. + # Replace with "_ = gettext.translation('apt-listchanges').lgettext" line for python2.4 + gettext_encoding=locale.getpreferredencoding() + my_ugettext = gettext.translation('apt-listchanges').ugettext + def lgettext(msgid): + return my_ugettext(msgid).encode(gettext_encoding) + _ = lgettext except IOError: _ = lambda str: str -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]