From: Daniel Drake <dsd@laptop.org>

Populate intl.accept_languages config option based on LANG environment
variable.

--- webactivity.py.orig	2009-02-18 17:42:31.000000000 +0000
+++ webactivity.py	2009-02-18 17:58:26.000000000 +0000
@@ -71,6 +71,7 @@
 import hulahop
 hulahop.set_app_version(os.environ['SUGAR_BUNDLE_VERSION'])
 hulahop.startup(_profile_path)
+from xpcom import components
 
 from browser import Browser
 from edittoolbar import EditToolbar
@@ -106,6 +107,8 @@
 
         self._browser = Browser()
 
+        self._set_accept_languages()
+
         temp_path = os.path.join(self.get_activity_root(), 'instance')
         downloadmanager.init(self._browser, self, temp_path)
         sessionhistory.init(self._browser)
@@ -186,6 +189,28 @@
         else:   
             _logger.debug('Created activity')
     
+    def _set_accept_languages(self):
+        try:
+            lang = os.environ['LANG'] # e.g. es_UY.UTF-8
+        except:
+            return
+
+        if len(lang) != 11:
+            _logger.debug("bad LANG length")
+            return
+
+        if not lang.endswith(".UTF-8") or lang[2] != "_":
+            _logger.debug("unrecognised LANG format")
+            return
+        
+        # e.g. es-uy, es
+        pref = lang[0:2] + "-" + lang[3:5].lower()  + ", " + lang[0:2]
+
+        cls = components.classes["@mozilla.org/preferences-service;1"]
+        prefService = cls.getService(components.interfaces.nsIPrefService)
+        branch = prefService.getBranch('')
+        branch.setCharPref('intl.accept_languages', pref)
+
     def _shared_cb(self, activity_):
         _logger.debug('My activity was shared')        
         self.initiating = True                        
