function lingotek_add_target_language in Lingotek Translation 7.3
Same name and namespace in other branches
- 7.7 lingotek.util.inc \lingotek_add_target_language()
- 7.2 lingotek.util.inc \lingotek_add_target_language()
- 7.4 lingotek.util.inc \lingotek_add_target_language()
- 7.5 lingotek.util.inc \lingotek_add_target_language()
- 7.6 lingotek.util.inc \lingotek_add_target_language()
Adds the target language as being enabled.
1 call to lingotek_add_target_language()
- lingotek_dashboard_command_ajax in ./
lingotek.dashboard.inc - Ajax Command Processing for the Lingotek dashboard.
File
- ./
lingotek.util.inc, line 740 - Utility functions.
Code
function lingotek_add_target_language($lingotek_locale, $call_api = TRUE) {
if (is_null($lingotek_locale)) {
return FALSE;
}
lingotek_add_missing_locales();
// fills in any missing lingotek_locale values to the languages table
$language = lingotek_lookup_language_by_locale($lingotek_locale);
if ($language) {
// ALREADY EXISTS IN LANGUAGE TABLE
// If already in the languages table then just tack on the lingotek_locale and enable it
$drupal_language_code = $language->language;
}
else {
// DOES NOT EXIST, INSERT NEW INTO LANGUAGE TABLE
// If not add it to the languages table first and then tack on the lingotek_locale and enable it
$drupal_language_code = Lingotek::convertLingotek2Drupal($lingotek_locale, FALSE);
if (lingotek_lookup_locale_exists($drupal_language_code)) {
// drupal code is already being used, generate another
$errors = array(
$drupal_language_code,
);
$drupal_language_code = strtolower(str_replace("_", "-", $lingotek_locale));
if (lingotek_lookup_locale_exists($drupal_language_code)) {
$errors[] = $drupal_language_code;
LingotekLog::error("Cannot add language code. Attempted language codes already being used: !errors", array(
'!errors' => $errors,
));
return FALSE;
// do not add the language.
}
}
$name = isset($_POST['language']) ? $_POST['language'] : NULL;
$native = isset($_POST['native']) ? $_POST['native'] : NULL;
$direction = isset($_POST['direction']) && strcasecmp('RTL', $_POST['direction']) == 0 ? LANGUAGE_RTL : LANGUAGE_LTR;
$domain = '';
$prefix = '';
locale_add_language($drupal_language_code, $name, $native, $direction, $domain, $prefix);
// Function from the Locale module.
}
LingotekSync::insertTargetEntriesForAllDocs($lingotek_locale);
// Add the node sync target language entries to the lingotek table.
return lingotek_set_target_language($drupal_language_code, 1, $lingotek_locale, $call_api);
}