add: if (langLabel && isoStrArray.length > 2 && isoStrArray[2]) langLabel += " (" + isoStrArray[2] + ")";  
context: function InitLanguageMenu(aCurLang){  var o1 = {};  var o2 = {};  // Get the list of dictionaries from  // the spellchecker.  try  {    gSpellChecker.GetDictionaryList(o1, o2);  }  catch(ex)  {    dump("Failed to get DictionaryList!\n");    return;  }  var dictList = o1.value;  var count    = o2.value;  // If we're not just starting up and dictionary count  // hasn't changed then no need to update the menu.  if (gDictCount == count)    return;  // Store current dictionary count.  gDictCount = count;  // Load the string bundles that will help us map  // RFC 1766 strings to UI strings.  // Load the language string bundle.  var languageBundle = document.getElementById("languageBundle");  var regionBundle = null;  // If we have a language string bundle, load the region string bundle.  if (languageBundle)    regionBundle = document.getElementById("regionBundle");    var menuStr2;  var isoStrArray;  var langId;  var langLabel;  var i;  for (i = 0; i < count; i++)  {    try    {      langId = dictList[i];      isoStrArray = dictList[i].split("-");      if (languageBundle && isoStrArray[0])        langLabel = languageBundle.getString(isoStrArray[0].toLowerCase());      if (regionBundle && langLabel && isoStrArray.length > 1 && isoStrArray[1])      {        menuStr2 = regionBundle.getString(isoStrArray[1].toLowerCase());        if (menuStr2)          langLabel += "/" + menuStr2;      }      if (!langLabel)        langLabel = langId;    }    catch (ex)    {      // getString throws an exception when a key is not found in the      // bundle. In that case, just use the original dictList string.      langLabel = langId;    }    dictList[i] = [langLabel, langId];  }    // sort by locale-aware collation  dictList.sort(    function compareFn(a, b)    {      return a[0].localeCompare(b[0]);    }  );  // Remove any languages from the list.  var languageMenuPopup = gDialog.LanguageMenulist.firstChild;  while (languageMenuPopup.firstChild.localName != "menuseparator")    languageMenuPopup.removeChild(languageMenuPopup.firstChild);  var defaultItem = null;  for (i = 0; i < count; i++)  {    var item = gDialog.LanguageMenulist.insertItemAt(i, dictList[i][0], dictList[i][1]);    if (aCurLang && dictList[i][1] == aCurLang)      defaultItem = item;  }  // Now make sure the correct item in the menu list is selected.  if (defaultItem)  {    gDialog.LanguageMenulist.selectedItem = defaultItem;    gLastSelectedLang = defaultItem;  }}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/a8ef4ab1c66bce1287d8f07f926bfbf021f876a8/EdSpellCheck.js/buggy/editor/ui/dialogs/content/EdSpellCheck.js