Mercurial > hg
view mercurial/i18n.py @ 9469:7f0f882af23d
config: abort on indented non-continuation lines (issue1829)
Previously, as soon as a continuation would be met, "cont" would stay
forever set to True, but "item" was set back to "None".
This caused the continuation code bits to run every time, until the next
"self.get(section, item) + '\n'" which would crash.
author | Nicolas Dumazet <nicdumz.commits@gmail.com> |
---|---|
date | Sat, 12 Sep 2009 11:17:07 +0200 |
parents | b87a50b7125c |
children | 8982eb292cb5 |
line wrap: on
line source
# i18n.py - internationalization support for mercurial # # Copyright 2005, 2006 Matt Mackall <mpm@selenic.com> # # This software may be used and distributed according to the terms of the # GNU General Public License version 2, incorporated herein by reference. import encoding import gettext, sys, os # modelled after templater.templatepath: if hasattr(sys, 'frozen'): module = sys.executable else: module = __file__ base = os.path.dirname(module) for dir in ('.', '..'): localedir = os.path.normpath(os.path.join(base, dir, 'locale')) if os.path.isdir(localedir): break t = gettext.translation('hg', localedir, fallback=True) def gettext(message): """Translate message. The message is looked up in the catalog to get a Unicode string, which is encoded in the local encoding before being returned. Important: message is restricted to characters in the encoding given by sys.getdefaultencoding() which is most likely 'ascii'. """ # If message is None, t.ugettext will return u'None' as the # translation whereas our callers expect us to return None. if message is None: return message # We cannot just run the text through encoding.tolocal since that # leads to infinite recursion when encoding._encoding is invalid. try: u = t.ugettext(message) return u.encode(encoding.encoding, "replace") except LookupError: return message _ = gettext