locale_add_language
includes/locale.inc, строка 967
- Версии
- 6
locale_add_language($langcode, $name = NULL, $native = NULL, $direction = LANGUAGE_LTR, $domain = '', $prefix = '', $enabled = TRUE, $default = FALSE)
API добавления языка.
Параметры
$langcode
Код языка.
$name
Английское название языка
$native
Родное название языка
$direction
Направление: LANGUAGE_LTR или LANGUAGE_RTL
$domain
(опционально) Доменное имя с протоколом, без слэша (Например: http://de.example.com).
$prefix
(опционально) Префикс пути для языка. Если пропущен, то по умолчанию языковой код (например http://example.com/de).
$enabled
(опционально) Устанавливает статус языка (TRUE
или FALSE
).
$default
(опционально) Устанавливает язык как язык по-умолчанию.
Связанные темы
Код
<?php
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)) {
$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_query("INSERT INTO {languages} (language, name, native, direction, domain, prefix, enabled) VALUES ('%s', '%s', '%s', %d, '%s', '%s', %d)", $langcode, $name, $native, $direction, $domain, $prefix, $enabled);
// 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);
}
// 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));
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии