~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/i18n.py

  • Committer: Jonathan Riddell
  • Date: 2011-09-16 11:13:47 UTC
  • mto: This revision was merged to the branch mainline in revision 6144.
  • Revision ID: jriddell@canonical.com-20110916111347-fyjk426bkl0jrbfu
gettext() show_warning usage

Show diffs side-by-side

added added

removed removed

Lines of Context:
34
34
    
35
35
    :returns: translated message as unicode.
36
36
    """
 
37
    install()
37
38
    return _translations.ugettext(message)
38
39
 
39
40
 
46
47
 
47
48
    :returns: translated message as unicode.
48
49
    """
 
50
    install()
49
51
    return _translations.ungettext(singular, plural, number)
50
52
 
51
53
 
59
61
 
60
62
    :returns: concatenated translated message as unicode.
61
63
    """
 
64
    install()
62
65
    paragraphs = message.split(u'\n\n')
63
66
    ugettext = _translations.ugettext
64
67
    # Be careful not to translate the empty string -- it holds the
66
69
    return u'\n\n'.join(ugettext(p) if p else u'' for p in paragraphs)
67
70
 
68
71
 
 
72
def disable_i18n():
 
73
    """Do not allow i18n to be enabled.  Useful for third party users
 
74
    of bzrlib."""
 
75
    global _translations
 
76
    _translations = _gettext.NullTranslations()
 
77
 
 
78
 
69
79
def installed():
 
80
    """Returns whether translations are in use or not."""
70
81
    return _translations is not None
71
82
 
72
83
 
73
84
def install(lang=None):
 
85
    """Enables gettext translations."""
74
86
    global _translations
 
87
    if installed():
 
88
        return
75
89
    if lang is None:
76
90
        lang = _get_current_locale()
77
91
    if lang is not None:
86
100
 
87
101
 
88
102
def uninstall():
 
103
    """Disables gettext translations."""
89
104
    global _translations
90
105
    _translations = None
91
106