We have the magical class ctccommon.GettextLocale which sole purpose is to make sure we get translations in the current locale's character encoding (normal gettext returns whatever is specified in the .mo/.po). Python 2.4+ however already has a function for this though, called lgettext(). We should switch over to using that.
Fixed in r27840. The following scripts were changed: tlmisc/scripts/tl-sso-update-password tlmisc/scripts/tl-nds-check-expired tlmisc/scripts/tl-passwd tlmisc/profiles/tl-select-profile vnc/tl-shadow-notify-helper Note that all scripts were using it incorrectly and in fact should have been requesting UTF-8 everywhere. New code therefore uses plain ol' gettext(). Tester should verify that all scripts are still translated. Preferably also with a non-UTF8 locale like sv_SE or ru_RU.
(In reply to comment #1) > Fixed in r27840. > > The following scripts were changed: > > tlmisc/scripts/tl-sso-update-password > tlmisc/scripts/tl-nds-check-expired > tlmisc/scripts/tl-passwd > tlmisc/profiles/tl-select-profile > vnc/tl-shadow-notify-helper Tested with latin1 locale "sv_SE". Tested all scripts except tl-nds-check-expired, but it uses the same principle as the others, and did code inspection.