示例#1
1
 /**
  * Get an HTML select list of the available languages.
  *
  * @return	string
  */
 public static function getLanguageList()
 {
     $languages = array();
     $languages = JLanguageHelper::createLanguageList(null, JPATH_ADMINISTRATOR, false, true);
     array_unshift($languages, JHtml::_('select.option', '', JText::_('JDEFAULT')));
     return JHtml::_('select.genericlist', $languages, 'lang', ' class="inputbox"', 'value', 'text', null);
 }
示例#2
0
    /**
     * @todo Implement testCreateLanguageList().
     */
    public function testCreateLanguageList()
    {
        // This method creates a list consisting of the name and value of language
        $actualLanguage = 'en-GB';
        $basePath = '../../administrator/';
        $caching = false;

        $option1 = array(
            'text' => 'English (United Kingdom)',
            'value' => 'en-GB',
            'selected' => 'selected="selected"'
        );
        $option2 = array(
            'text' => 'XXTestLang',
            'value' => 'xx-XX'
        );
        $listCompareEqual1 = array(
            0 => $option1,
            1 => $option2
        );

        $help = new JLanguageHelper('');
        $list = $help->createLanguageList($actualLanguage,$basePath,$caching);
        $this->assertThat(
           $listCompareEqual1,
           $this->equalTo($list)
        );

        $this->assertNotEquals(
                $listCompareEqual1[1]['text'],
                $list[0]['text']
        );
    }
示例#3
0
	protected function getInput()
	{
		$this->params = $this->element->attributes();

		$size = (int) $this->get('size');
		$multiple = $this->get('multiple');
		$client = $this->get('client', 'SITE');

		jimport('joomla.language.helper');
		$langs = JLanguageHelper::createLanguageList($this->value, constant('JPATH_' . strtoupper($client)), true);
		$options = array();
		foreach ($langs as $lang)
		{
			if ($lang['value'])
			{
				$option = new stdClass;
				$option->value = $lang['value'];
				$option->text = $lang['text'] . ' [' . $lang['value'] . ']';
				$options[] = $option;
			}
		}

		require_once JPATH_PLUGINS . '/system/nnframework/helpers/html.php';

		return nnHtml::selectlist($options, $this->name, $this->value, $this->id, $size, $multiple);
	}
示例#4
0
 function display($tpl = null)
 {
     JHTML::_('behavior.keepalive');
     require_once JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_k2' . DS . 'models' . DS . 'categories.php';
     $model = new K2ModelCategories();
     $categories = $model->categoriesTree(NULL, false, false);
     $options = array();
     $options[] = JHTML::_('select.optgroup', JText::_('K2MART_CREATE_NEW_K2_CATEGORY'));
     $options[] = JHTML::_('select.option', 0, JText::_('K2MART_TYPE_CATEGORY_NAME'));
     $options[] = JHTML::_('select.optgroup', JText::_('K2MART_USE_EXISTING_K2_CATEGORY'));
     foreach ($categories as $category) {
         $options[] = JHTML::_('select.option', $category->value, $category->text);
     }
     $lists['category'] = JHTML::_('select.genericlist', $options, 'catid', 'class="inputbox"', 'value', 'text', 0);
     $vmLanguages = vmConfig::get('active_languages', array());
     if (count($vmLanguages) > 1) {
         jimport('joomla.language.helper');
         $languages = JLanguageHelper::createLanguageList(NULL, constant('JPATH_SITE'), true);
         foreach ($languages as $key => &$language) {
             if (!in_array($language['value'], $vmLanguages)) {
                 unset($languages[$key]);
             }
         }
         $lists['language'] = JHTML::_('select.genericlist', $languages, 'vmlang', '', 'value', 'text', NULL, 'vmlang');
     }
     $this->assignRef('lists', $lists);
     $this->loadHelper('html');
     K2martHTMLHelper::title('K2MART_VIRTUEMART_MIGRATOR');
     K2martHTMLHelper::toolbar();
     K2martHTMLHelper::subMenu();
     parent::display($tpl);
 }
示例#5
0
 /**
  * Method to get the field options.
  *
  * @return  array  The field option objects.
  *
  * @since   11.1
  */
 protected function getOptions()
 {
     // Initialize some field attributes.
     $client = (string) $this->element['client'];
     if ($client != 'site' && $client != 'administrator') {
         $client = 'site';
     }
     // Merge any additional options in the XML definition.
     $options = array_merge(parent::getOptions(), JLanguageHelper::createLanguageList($this->value, constant('JPATH_' . strtoupper($client)), true, true));
     // Set the default value active language
     if ($langParams = JComponentHelper::getParams('com_languages')) {
         switch ((string) $this->value) {
             case 'site':
             case 'frontend':
             case '0':
                 $this->value = $langParams->get('site', 'en-GB');
                 break;
             case 'admin':
             case 'administrator':
             case 'backend':
             case '1':
                 $this->value = $langParams->get('administrator', 'en-GB');
                 break;
             case 'active':
             case 'auto':
                 $lang = JFactory::getLanguage();
                 $this->value = $lang->getTag();
                 break;
             default:
                 break;
         }
     }
     return $options;
 }
示例#6
0
 /**
  * Method to get a list of options for a list input.
  *
  * @return	array		An array of JHtml options.
  */
 protected function _getOptions()
 {
     jimport('joomla.language.helper');
     $client = (string) $this->_element->attributes()->client;
     $options = array_merge(parent::_getOptions(), JLanguageHelper::createLanguageList($this->value, constant('JPATH_' . strtoupper($client)), true));
     return $options;
 }
 /**
  * Test...
  *
  * @return void
  */
 public function testCreateLanguageList()
 {
     $option = array('text' => 'English (United Kingdom)', 'value' => 'en-GB', 'selected' => 'selected="selected"');
     $listCompareEqual = array(0 => $option);
     $list = JLanguageHelper::createLanguageList('en-GB', __DIR__ . '/data', false);
     $this->assertEquals($listCompareEqual, $list);
 }
示例#8
0
文件: language.php 项目: akksi/jcg
 /**
  * Method to get the field options.
  *
  * @return	array	The field option objects.
  * @since	1.6
  */
 protected function getOptions()
 {
     // Initialise variables.
     $app = JFactory::getApplication();
     // Detect the native language.
     $native = JLanguageHelper::detectLanguage();
     if (empty($native)) {
         $native = 'en-GB';
     }
     // Get a forced language if it exists.
     $forced = $app->getLocalise();
     if (!empty($forced['language'])) {
         $native = $forced['language'];
     }
     // If a language is already set in the session, use this instead
     $session = JFactory::getSession()->get('setup.options', array());
     if (!empty($session['language'])) {
         $native = $session['language'];
     }
     // Get the list of available languages.
     $options = JLanguageHelper::createLanguageList($native);
     if (!$options || JError::isError($options)) {
         $options = array();
     }
     // Set the default value from the native language.
     $this->value = $native;
     // Merge any additional options in the XML definition.
     $options = array_merge(parent::getOptions(), $options);
     return $options;
 }
示例#9
0
 /**
  * Method to get the field options.
  *
  * @return  array  The field option objects.
  *
  * @since   1.6
  */
 protected function getOptions()
 {
     $app = JFactory::getApplication();
     // Detect the native language.
     $native = JLanguageHelper::detectLanguage();
     if (empty($native)) {
         $native = 'en-GB';
     }
     // Get a forced language if it exists.
     $forced = $app->getLocalise();
     if (!empty($forced['language'])) {
         $native = $forced['language'];
     }
     // If a language is already set in the session, use this instead
     $model = new InstallationModelSetup();
     $options = $model->getOptions();
     if (isset($options['language'])) {
         $native = $options['language'];
     }
     // Get the list of available languages.
     $options = JLanguageHelper::createLanguageList($native);
     if (!$options || $options instanceof Exception) {
         $options = array();
     } else {
         usort($options, array($this, '_sortLanguages'));
     }
     // Set the default value from the native language.
     $this->value = $native;
     // Merge any additional options in the XML definition.
     $options = array_merge(parent::getOptions(), $options);
     return $options;
 }
示例#10
0
 function getInput($name, $id, $value, $params, $children, $j15 = 0)
 {
     $this->params = $params;
     $size = $this->def('size');
     $multiple = $this->def('multiple');
     $client = $this->def('client', 'SITE');
     $control = $name . '';
     $attribs = 'class="inputbox"';
     if ($multiple) {
         if (!is_array($value)) {
             $value = explode(',', $value);
         }
         $attribs .= ' multiple="multiple"';
         $control .= '[]';
     }
     jimport('joomla.language.helper');
     $options = JLanguageHelper::createLanguageList($value, constant('JPATH_' . strtoupper($client)), true);
     foreach ($options as $i => $option) {
         if ($option['value']) {
             $options[$i]['text'] = $option['text'] . ' [' . $option['value'] . ']';
         }
     }
     if ($size) {
         $attribs .= ' size="' . $size . '"';
     } else {
         $attribs .= ' size="' . (count($options) > 10 ? 10 : count($options)) . '"';
     }
     $list = JHTML::_('select.genericlist', $options, $control, $attribs, 'value', 'text', $value, $id);
     return $list;
 }
示例#11
0
 public function fetchElement($name, $value, &$node, $control_name)
 {
     $client = $node->attributes('client');
     jimport('joomla.language.helper');
     $languages = JLanguageHelper::createLanguageList($value, constant('JPATH_' . strtoupper($client)), true);
     array_unshift($languages, JHtml::_('select.option', '', JText::_('JOPTION_SELECT_LANGUAGE')));
     return JHtml::_('select.genericlist', $languages, $control_name . '[' . $name . ']', array('id' => $control_name . $name, 'list.attr' => 'class="inputbox"', 'list.select' => $value));
 }
示例#12
0
 /**
  * Get an HTML select list of the available languages.
  *
  * @return	string
  */
 public static function getLanguageList()
 {
     jimport('joomla.language.helper');
     $languages = array();
     $languages = JLanguageHelper::createLanguageList(null);
     array_unshift($languages, JHtml::_('select.option', '', JText::_('Default')));
     return JHtml::_('select.genericlist', $languages, 'lang', ' class="inputbox"', 'value', 'text', null);
 }
示例#13
0
 /**
  * Get an HTML select list of the available languages.
  *
  * @return  string
  */
 public static function getLanguageList()
 {
     $languages = JLanguageHelper::createLanguageList(null, JPATH_ADMINISTRATOR, false, true);
     if (count($languages) <= 1) {
         return '';
     }
     array_unshift($languages, JHtml::_('select.option', '', JText::_('JDEFAULTLANGUAGE')));
     return JHtml::_('select.genericlist', $languages, 'lang', ' class="advancedSelect"', 'value', 'text', null);
 }
示例#14
0
 /**
  * Fetch the language list element
  *
  * @param   string       $name          Element name
  * @param   string       $value         Element value
  * @param   JXMLElement  &$node         JXMLElement node object containing the settings for the element
  * @param   string       $control_name  Control name
  *
  * @return  string
  *
  * @deprecated    12.1   Use JFormFieldLanguage
  * @note    When updating note that JFormFieldLanguage has no s.
  * @since   11.1
  */
 public function fetchElement($name, $value, &$node, $control_name)
 {
     // Deprecation warning.
     JLog::add('JElementLanguages::fetchElement() is deprecated.', JLog::WARNING, 'deprecated');
     $client = $node->attributes('client');
     $languages = JLanguageHelper::createLanguageList($value, constant('JPATH_' . strtoupper($client)), true);
     array_unshift($languages, JHtml::_('select.option', '', JText::_('JOPTION_SELECT_LANGUAGE')));
     return JHtml::_('select.genericlist', $languages, $control_name . '[' . $name . ']', array('id' => $control_name . $name, 'list.attr' => 'class="inputbox"', 'list.select' => $value));
 }
 /**
  * Test...
  *
  * @covers JLanguageHelper::createLanguageList
  * @todo Implement testCreateLanguageList().
  *
  * @return void
  */
 public function testCreateLanguageList()
 {
     // This method creates a list consisting of the name and value of language
     $actualLanguage = 'en-GB';
     $option = array('text' => 'English (United Kingdom)', 'value' => 'en-GB', 'selected' => 'selected="selected"');
     $listCompareEqual = array(0 => $option);
     $list = JLanguageHelper::createLanguageList('en-GB', __DIR__ . '/data', false);
     $this->assertEquals($listCompareEqual, $list);
 }
示例#16
0
 function display($tpl = null)
 {
     JHTML::_('core');
     $mainframe = JFactory::getApplication();
     $option = JRequest::getCmd('option');
     $view = JRequest::getCmd('view');
     $limit = $mainframe->getUserStateFromRequest("{$option}.{$view}.limit", 'limit', 15, 'int');
     $limitstart = $mainframe->getUserStateFromRequest("{$option}.{$view}.limitstart", 'limitstart', 0, 'int');
     $ordering = $mainframe->getUserStateFromRequest("{$option}.{$view}.ordering", 'filter_order', 'virtuemart_product_id', 'cmd');
     $orderingDir = $mainframe->getUserStateFromRequest("{$option}.{$view}.orderingDir", 'filter_order_Dir', 'DESC', 'word');
     $published = $mainframe->getUserStateFromRequest("{$option}.{$view}.published", 'published', '-1', 'cmd');
     $catid = $mainframe->getUserStateFromRequest("{$option}.{$view}.catid", 'catid', 0, 'int');
     $search = $mainframe->getUserStateFromRequest("{$option}.{$view}.search", 'search', '', 'string');
     $search = JString::strtolower($search);
     $model = $this->getModel('virtuemart');
     $model->setState('ordering', $ordering);
     $model->setState('orderingDir', $orderingDir);
     $model->setState('published', $published);
     $model->setState('catid', $catid);
     $model->setState('search', $search);
     $model->setState('limit', $limit);
     $model->setState('limitstart', $limitstart);
     $products = $model->getData();
     $this->assignRef('rows', $products);
     $total = $model->getTotal();
     jimport('joomla.html.pagination');
     $pagination = new JPagination($total, $limitstart, $limit);
     $this->assignRef('pagination', $pagination);
     $filters = array();
     $filters['search'] = $search;
     $filters['ordering'] = $ordering;
     $filters['orderingDir'] = $orderingDir;
     $options = array();
     $options[] = JHTML::_('select.option', -1, JText::_('K2MART_ANY'));
     $options[] = JHTML::_('select.option', 1, JText::_('K2MART_PUBLISHED'));
     $options[] = JHTML::_('select.option', 0, JText::_('K2MART_UNPUBLISHED'));
     $filters['published'] = JHTML::_('select.genericlist', $options, 'published', 'onchange="this.form.submit();"', 'value', 'text', $published);
     $filters['category'] = $model->getCategories();
     if (count(vmconfig::get('active_languages')) > 1) {
         $params = JComponentHelper::getParams('com_languages');
         $defaultLanguage = $params->get('site', 'en-GB');
         jimport('joomla.language.helper');
         $lang = $mainframe->getUserStateFromRequest("{$option}.{$view}.vmlang", 'vmlang', $defaultLanguage, 'string');
         $languages = JLanguageHelper::createLanguageList($defaultLanguage, constant('JPATH_SITE'), true);
         $activeVmLangs = vmconfig::get('active_languages');
         foreach ($languages as $k => &$joomlaLang) {
             if (!in_array($joomlaLang['value'], $activeVmLangs)) {
                 unset($languages[$k]);
             }
         }
         $filters['language'] = JHTML::_('select.genericlist', $languages, 'vmlang', 'onchange="this.form.submit();"', 'value', 'text', $lang, 'vmlang');
     }
     $this->assignRef('filters', $filters);
     $template = $mainframe->getTemplate();
     $this->assignRef('template', $template);
     parent::display($tpl);
 }
示例#17
0
 /**
  * Retrieves a list of languages installed on the site
  *
  * @since	1.2
  * @access	public
  * @param	string
  * @return
  */
 public static function getLanguages($selected = '', $subname = true)
 {
     $languages = JLanguageHelper::createLanguageList($selected, constant('JPATH_SITE'), true, true);
     if (!$subname) {
         for ($i = 0; $i < count($languages); $i++) {
             $languages[$i]['text'] = preg_replace('#\\(.*?\\)#i', '', $languages[$i]['text']);
         }
     }
     return $languages;
 }
示例#18
0
 public function get()
 {
     jimport('joomla.language.helper');
     $client = JRequest::getCmd('client', 'site');
     $languages = JLanguageHelper::createLanguageList('', constant('JPATH_' . strtoupper($client)), true, true);
     if (JRequest::getVar('default', false)) {
         array_unshift($languages, JHtml::_('select.option', 0, JText::_('JOPTION_USE_DEFAULT')));
     }
     $this->plugin->setResponse($languages);
 }
示例#19
0
文件: language.php 项目: 01J/topm
 /**
  * Method to get the filter options.
  *
  * @return  array  The filter option objects.
  *
  * @since   2.0
  */
 protected function getOptions()
 {
     // Initialize some field attributes.
     $client = (string) $this->element['client'];
     if ($client != 'site' && $client != 'administrator') {
         $client = 'site';
     }
     // Merge any additional options in the XML definition.
     $options = array_merge(parent::getOptions(), JLanguageHelper::createLanguageList($this->value, constant('JPATH_' . strtoupper($client)), true, true));
     return $options;
 }
示例#20
0
 public function getList($refresh = false)
 {
     jimport('joomla.language.helper');
     $list = JLanguageHelper::createLanguageList(JLanguageHelper::detectLanguage());
     foreach ($list as $l) {
         $l['link'] = "index.php?option=com_citruscart&view=emails&task=edit&id=" . $l['value'];
         $item = new JObject();
         foreach ($l as $k => $v) {
             $item->{$k} = $v;
         }
         $result[] = $item;
     }
     return $result;
 }
示例#21
0
 public function languages($value, $name = 'locale', $client = 'site')
 {
     $user =& JFactory::getUser();
     /*
      * @TODO: change to acl_check method
      */
     if (!($user->get('gid') >= 23) && $client == 'administrator') {
         return JText::_('No Access');
     }
     jimport('joomla.language.helper');
     $languages = JLanguageHelper::createLanguageList($value, constant('JPATH_' . strtoupper($client)), true);
     array_unshift($languages, JHTML::_('select.option', '', '- ' . JText::_('Select Language') . ' -'));
     return JHTML::_('select.genericlist', $languages, $name, 'class="inputbox"', 'value', 'text', $value, $name);
 }
示例#22
0
 /**
  * Method to get the field options.
  *
  * @return  array  The field option objects.
  *
  * @since   11.1
  */
 protected function getOptions()
 {
     // Initialize some field attributes.
     $client = (string) $this->element['client'];
     if ($client != 'site' && $client != 'administrator') {
         $client = 'site';
     }
     $path = PATH_APP . DS . 'bootstrap' . DS . $client;
     if (!is_dir($path)) {
         $path = PATH_CORE . DS . 'bootstrap' . DS . $client;
     }
     // Merge any additional options in the XML definition.
     $options = array_merge(parent::getOptions(), JLanguageHelper::createLanguageList($this->value, $path, true, true));
     return $options;
 }
示例#23
0
 function fetchElement($name, $value, &$node, $control_name)
 {
     $user =& JFactory::getUser();
     /*
      * @TODO: change to acl_check method
      */
     if (!($user->get('gid') >= 23) && $node->attributes('client') == 'administrator') {
         return JText::_('No Access');
     }
     $client = $node->attributes('client');
     jimport('joomla.language.helper');
     $languages = JLanguageHelper::createLanguageList($value, constant('JPATH_' . strtoupper($client)), true);
     array_unshift($languages, JHTML::_('select.option', '', '- ' . JText::_('Select Language') . ' -'));
     return JHTML::_('select.genericlist', $languages, '' . $control_name . '[' . $name . ']', 'class="inputbox"', 'value', 'text', $value, $control_name . $name);
 }
示例#24
0
 /**
  * Generate a panel of language choices for the user to select their language
  *
  * @return	boolean True if successful
  * @access	public
  * @since	1.5
  */
 function chooseLanguage()
 {
     global $mainframe;
     $vars =& $this->getVars();
     jimport('joomla.language.helper');
     $native = JLanguageHelper::detectLanguage();
     $forced = $mainframe->getLocalise();
     if (!empty($forced['lang'])) {
         $native = $forced['lang'];
     }
     $lists = array();
     $lists['langs'] = JLanguageHelper::createLanguageList($native);
     $this->setData('lists', $lists);
     return true;
 }
示例#25
0
 function getInput($name, $id, $value, $params, $children, $j15 = 0)
 {
     $this->params = $params;
     $size = (int) $this->def('size');
     $multiple = $this->def('multiple');
     $client = $this->def('client', 'SITE');
     jimport('joomla.language.helper');
     $options = JLanguageHelper::createLanguageList($value, constant('JPATH_' . strtoupper($client)), true);
     foreach ($options as $i => $option) {
         if ($option['value']) {
             $options[$i]['text'] = $option['text'] . ' [' . $option['value'] . ']';
         }
     }
     require_once JPATH_PLUGINS . '/system/nnframework/helpers/html.php';
     return nnHTML::selectlist($options, $name, $value, $id, $size, $multiple, '', $j15);
 }
示例#26
0
 /**
  * Method to get the field options.
  *
  * @return  array  The field option objects.
  *
  * @since   11.1
  */
 protected function getOptions()
 {
     // Initialize some field attributes.
     $client = (string) $this->element['client'];
     if ($client != 'site' && $client != 'administrator') {
         $client = 'site';
     }
     // set default
     if (!isset($this->value) || empty($this->value) || $this->value == '*') {
         $jfManager = JoomFishManager::getInstance();
         $this->value = $jfManager->getDefaultLanguage();
     }
     // Merge any additional options in the XML definition.
     $options = JLanguageHelper::createLanguageList($this->value, constant('JPATH_' . strtoupper($client)), true, true);
     return $options;
 }
示例#27
0
文件: helper.php 项目: adjaika/J3Base
 /**
  * Get an HTML select list of the available languages.
  *
  * @return  string
  */
 public static function getLanguageList()
 {
     $languages = JLanguageHelper::createLanguageList(null, JPATH_ADMINISTRATOR, false, true);
     if (count($languages) <= 1) {
         return '';
     }
     usort($languages, function ($a, $b) {
         return strcmp($a["value"], $b["value"]);
     });
     // Fix wrongly set parentheses in RTL languages
     if (JFactory::getLanguage()->isRtl()) {
         foreach ($languages as &$language) {
             $language['text'] = $language['text'] . '&#x200E;';
         }
     }
     array_unshift($languages, JHtml::_('select.option', '', JText::_('JDEFAULTLANGUAGE')));
     return JHtml::_('select.genericlist', $languages, 'lang', ' class="advancedSelect"', 'value', 'text', null);
 }
示例#28
0
 public static function languages($selected = null, $id = 'language', $attribs = array())
 {
     jimport('joomla.language.helper');
     if (version_compare(JVERSION, '1.6', 'ge')) {
         $languages = JLanguageHelper::getLanguages('lang_code');
         $options = array();
         if (!empty($languages)) {
             foreach ($languages as $key => $lang) {
                 $options[] = JHTML::_('select.option', $key, $lang->title);
             }
         }
     } else {
         $languages = JLanguageHelper::createLanguageList('lang_code');
         $options = array();
         if (!empty($languages)) {
             foreach ($languages as $lang) {
                 $options[] = JHTML::_('select.option', $lang['value'], $lang['text']);
             }
         }
     }
     return self::genericlist($options, $id, $attribs, $selected, $id);
 }
 protected function getInput()
 {
     $this->params = $this->element->attributes();
     $size = (int) $this->get('size');
     $multiple = $this->get('multiple');
     $client = $this->get('client', 'SITE');
     jimport('joomla.language.helper');
     $langs = JLanguageHelper::createLanguageList($this->value, constant('JPATH_' . strtoupper($client)), true);
     $options = array();
     foreach ($langs as $lang) {
         if ($lang['value']) {
             $option = new stdClass();
             $option->value = $lang['value'];
             $option->text = $lang['text'] . ' [' . $lang['value'] . ']';
             $options[] = $option;
         }
     }
     $attr = '';
     $attr .= $size ? ' size="' . (int) $size . '"' : '';
     $attr .= $multiple ? ' multiple="multiple"' : '';
     return JHtml::_('select.genericlist', $options, $this->name, trim($attr), 'value', 'text', $this->value, $this->id);
 }
示例#30
0
 /**
  * Method to get a list of options for a list input.
  *
  * @return	array		An array of JHtml options.
  */
 protected function _getOptions()
 {
     // Initialise variables.
     $app =& JFactory::getApplication();
     // Detect the native language.
     jimport('joomla.language.helper');
     $native = JLanguageHelper::detectLanguage();
     // Get a forced language if it exists.
     $forced = $app->getLocalise();
     if (!empty($forced['lang'])) {
         $native = $forced['lang'];
     }
     // Get the list of available languages.
     $options = JLanguageHelper::createLanguageList($native);
     if (!$options || JError::isError($options)) {
         $options = array();
     }
     // Set the default value from the native language.
     $this->value = $native;
     // Merge in any explicitly listed options from the XML definition.
     $options = array_merge(parent::_getOptions(), $options);
     return $options;
 }