locale_add_language
function locale_add_language
locale_add_language($langcode, $name = NULL, $native = NULL, $direction = LANGUAGE_LTR, $domain = '', $prefix = '', $enabled = TRUE, $default = FALSE)
API function to add a language.
Parameters
$langcode: Language code.
$name: English name of the language
$native: Native name of the language
$direction: LANGUAGE_LTR or LANGUAGE_RTL
$domain: Optional custom domain name with protocol, without trailing slash (eg. http://de.example.com).
$prefix: Optional path prefix for the language. Defaults to the language code if omitted.
$enabled: Optionally TRUE to enable the language when created or FALSE to disable.
$default: Optionally set this language to be the default.
Related topics
File
- includes/locale.inc, line 595
- Administration functions for locale.module.
Code
function locale_add_language($langcode, $name = NULL, $native = NULL, $direction = LANGUAGE_LTR, $domain = '', $prefix = '', $enabled = TRUE, $default = FALSE) { // Default prefix on language code. if (empty($prefix)) { $prefix = $langcode; } // If name was not set, we add a predefined language. if (!isset($name)) { include_once DRUPAL_ROOT . '/includes/iso.inc'; $predefined = _locale_get_predefined_list(); $name = $predefined[$langcode][0]; $native = isset($predefined[$langcode][1]) ? $predefined[$langcode][1] : $predefined[$langcode][0]; $direction = isset($predefined[$langcode][2]) ? $predefined[$langcode][2] : LANGUAGE_LTR; } db_insert('languages') ->fields(array( 'language' => $langcode, 'name' => $name, 'native' => $native, 'direction' => $direction, 'domain' => $domain, 'prefix' => $prefix, 'enabled' => $enabled, )) ->execute(); // Only set it as default if enabled. if ($enabled && $default) { variable_set('language_default', (object) array('language' => $langcode, 'name' => $name, 'native' => $native, 'direction' => $direction, 'enabled' => (int) $enabled, 'plurals' => 0, 'formula' => '', 'domain' => '', 'prefix' => $prefix, 'weight' => 0, 'javascript' => '')); } if ($enabled) { // Increment enabled language count if we are adding an enabled language. variable_set('language_count', variable_get('language_count', 1) + 1); } // Kill the static cache in language_list(). drupal_static_reset('language_list'); // Force JavaScript translation file creation for the newly added language. _locale_invalidate_js($langcode); watchdog('locale', 'The %language language (%code) has been created.', array('%language' => $name, '%code' => $langcode)); module_invoke_all('multilingual_settings_changed'); }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/includes!locale.inc/function/locale_add_language/7.x