home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 January / 01_02.iso / software / netscape62win / browser.xpi / bin / chrome / toolkit.jar / content / global / strres.js < prev    next >
Encoding:
Text File  |  2001-07-10  |  1.9 KB  |  53 lines

  1. var strBundleService = null;
  2.  
  3. function srGetStrBundle(path)
  4. {
  5.   var strBundle = null;
  6.  
  7.   if (!strBundleService) {
  8.       try {
  9.           strBundleService =
  10.               Components.classes["@mozilla.org/intl/stringbundle;1"].getService(); 
  11.           strBundleService = 
  12.               strBundleService.QueryInterface(Components.interfaces.nsIStringBundleService);
  13.       } catch (ex) {
  14.           dump("\n--** strBundleService failed: " + ex + "\n");
  15.           return null;
  16.       }
  17.   }
  18.  
  19.   strBundle = strBundleService.createBundle(path); 
  20.   if (!strBundle) {
  21.     dump("\n--** strBundle createInstance failed **--\n");
  22.   }
  23.   return strBundle;
  24. }
  25.  
  26. function selectLocale(event)
  27. {
  28.   try {
  29.     var node = event.target;
  30.     var langcode = node.getAttribute('value');
  31.     if (langcode)
  32.     {
  33.       var chromeRegistry = Components.classes["@mozilla.org/chrome/chrome-registry;1"].getService(Components.interfaces.nsIChromeRegistry);
  34.       chromeRegistry.selectLocale(langcode, true);
  35.       var observerService = Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService);
  36.       observerService.Notify(null, "locale-selected", null);
  37.       var prefUtilBundle = srGetStrBundle("chrome://communicator/locale/pref/prefutilities.properties");
  38.       var brandBundle = srGetStrBundle("chrome://global/locale/brand.properties");
  39.       var alertText = prefUtilBundle.GetStringFromName("languageAlert");
  40.       var titleText = prefUtilBundle.GetStringFromName("languageTitle");
  41.       alertText = alertText.replace(/%brand%/g, brandBundle.GetStringFromName("brandShortName"));
  42.       var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"].getService();
  43.       promptService = promptService.QueryInterface(Components.interfaces.nsIPromptService)
  44.       promptService.alert(window, titleText, alertText);
  45.     }
  46.   }
  47.   catch(e) {
  48.     return false;
  49.   }
  50.   return true;    
  51. }
  52.  
  53.