# HG changeset patch
# Parent ff048aabd29dcf75a018a3c2f59bcb3f64be25b7
0.12.1dev: trac-admin uses the default_language configured for the environment, if any.
Complements #8117.
diff -r ff048aabd29d trac/admin/console.py
|
a
|
b
|
import StringIO |
| 21 | 21 | import sys |
| 22 | 22 | import traceback |
| 23 | 23 | |
| | 24 | try: |
| | 25 | from babel import Locale |
| | 26 | except ImportError: |
| | 27 | Locale = None |
| | 28 | |
| 24 | 29 | from trac import __version__ as VERSION |
| 25 | 30 | from trac.admin import AdminCommandError, AdminCommandManager |
| 26 | 31 | from trac.core import TracError |
| … |
… |
Type: '?' or 'help' for help on command |
| 148 | 153 | def env_check(self): |
| 149 | 154 | if not self.__env: |
| 150 | 155 | try: |
| 151 | | self.__env = Environment(self.envname) |
| | 156 | self._init_env() |
| 152 | 157 | except: |
| 153 | 158 | return False |
| 154 | 159 | return True |
| … |
… |
Type: '?' or 'help' for help on command |
| 157 | 162 | def env(self): |
| 158 | 163 | try: |
| 159 | 164 | if not self.__env: |
| 160 | | self.__env = Environment(self.envname) |
| | 165 | self._init_env() |
| 161 | 166 | return self.__env |
| 162 | 167 | except Exception, e: |
| 163 | 168 | printerr(_("Failed to open environment: %(err)s", |
| 164 | 169 | err=exception_to_unicode(e, traceback=True))) |
| 165 | 170 | sys.exit(1) |
| 166 | 171 | |
| | 172 | def _init_env(self): |
| | 173 | self.__env = env = Environment(self.envname) |
| | 174 | # fixup language according to env settings |
| | 175 | if Locale: |
| | 176 | preferred = env.config.get('trac', 'default_language', |
| | 177 | '').replace('_', '-') |
| | 178 | if preferred: |
| | 179 | available = [locale_id.replace('_', '-') for locale_id in |
| | 180 | translation.get_available_locales()] |
| | 181 | negotiated = Locale.negotiate([preferred], available, sep='-') |
| | 182 | translation.activate(negotiated) |
| | 183 | |
| 167 | 184 | ## |
| 168 | 185 | ## Utility methods |
| 169 | 186 | ## |