Comment 2 for bug 3697

Revision history for this message
Martin Pitt (pitti) wrote :

Some beautification proposals:

++ self.gettext_domain = self.get('X-Gettext-Domain') or None

should be

++ self.gettext_domain = self.get('X-Gettext-Domain')

(hash.get() already returns None by default if the key doesn't exist).

+- value = self.content[group][self.__addLocale(key, group)]
++ if self.gettext_domain:
++ value = gettext.dgettext(self.gettext_domain, self.content[group][key]) or self.content[group][self.__addLocale(key, group)]
++ else:
++ value = self.content[group][self.__addLocale(key, group)]

looks a bit overcomplicated and wrong; dgettext() certainly never returns None? So the 'or' in the then clause does not make sense. Instead, self.content[group][self.__addLocale(key, group)] should be used if dgettext() just returns the initial argument (i. e. untranslated).