From: Daniel Drake <dsd@laptop.org>
Populate intl.accept_languages config option based on LANG environment
variable.
old
|
new
|
|
71 | 71 | import hulahop |
72 | 72 | hulahop.set_app_version(os.environ['SUGAR_BUNDLE_VERSION']) |
73 | 73 | hulahop.startup(_profile_path) |
| 74 | from xpcom import components |
74 | 75 | |
75 | 76 | from browser import Browser |
76 | 77 | from edittoolbar import EditToolbar |
… |
… |
|
106 | 107 | |
107 | 108 | self._browser = Browser() |
108 | 109 | |
| 110 | self._set_accept_languages() |
| 111 | |
109 | 112 | temp_path = os.path.join(self.get_activity_root(), 'instance') |
110 | 113 | downloadmanager.init(self._browser, self, temp_path) |
111 | 114 | sessionhistory.init(self._browser) |
… |
… |
|
186 | 189 | else: |
187 | 190 | _logger.debug('Created activity') |
188 | 191 | |
| 192 | def _set_accept_languages(self): |
| 193 | try: |
| 194 | lang = os.environ['LANG'] # e.g. es_UY.UTF-8 |
| 195 | except: |
| 196 | return |
| 197 | |
| 198 | if len(lang) != 11: |
| 199 | _logger.debug("bad LANG length") |
| 200 | return |
| 201 | |
| 202 | if not lang.endswith(".UTF-8") or lang[2] != "_": |
| 203 | _logger.debug("unrecognised LANG format") |
| 204 | return |
| 205 | |
| 206 | # e.g. es-uy, es |
| 207 | pref = lang[0:2] + "-" + lang[3:5].lower() + ", " + lang[0:2] |
| 208 | |
| 209 | cls = components.classes["@mozilla.org/preferences-service;1"] |
| 210 | prefService = cls.getService(components.interfaces.nsIPrefService) |
| 211 | branch = prefService.getBranch('') |
| 212 | branch.setCharPref('intl.accept_languages', pref) |
| 213 | |
189 | 214 | def _shared_cb(self, activity_): |
190 | 215 | _logger.debug('My activity was shared') |
191 | 216 | self.initiating = True |