protected function addNewLocaleMenu($contentNode, $transient_options)
 {
     $locales = I2CE_Locales::validateLocales($this->getChildNames());
     $def_locales = array();
     //the locales packaged with iHRIS by default
     I2CE::getConfig()->setIfIsSet($def_locales, "/locales/default-available", true);
     $def_locale_list = array();
     foreach ($def_locales as $locale => $locale_lang) {
         if (in_array($locale_lang, $locales)) {
             continue;
         }
         $disp = I2CE_Module_LocaleSelector::getLocaleName($locale_lang);
         if ($disp != $locale_lang) {
             $disp .= ' (' . $locale_lang . ')';
         }
         $def_locale_list[$locale_lang] = $disp;
     }
     if (count($def_locale_list) > 0) {
         $this->template->setDisplayDataImmediate('has_def_locale', 1, $contentNode);
         $this->template->setDisplayDataImmediate('def_locale', $def_locale_list, $contentNode);
         $this->addAjaxOptionMenu('add_def_locale', 'locales_container', $contentNode);
     } else {
         $this->template->setDisplayDataImmediate('has_def_locale', 0, $localeNode);
     }
     if (!($localeNode = $this->template->getElementById('new_locale', $contentNode)) instanceof DOMNode) {
         return false;
     }
     $this->template->setClassValue($localeNode, 'validate_data', array('notinlist' => array_unique(array_merge($def_locales, $locales))), '%');
     return $this->addAjaxOptionMenu('add_locale', 'locales_container', $contentNode);
 }
 public function getDescription()
 {
     return I2CE_Module_LocaleSelector::getLocaleName($this->name);
 }