. */ function LanguageMenu($p_languageMetadata, $p_selectedValue) { $options = ''; foreach($p_languageMetadata as $language) { if ($p_selectedValue == $language->getLanguageId()) { $selectedString = 'selected'; } else { $selectedString = ''; } $options .= ''; } return $options; } // fn LanguageMenu /** * Creates a form for translation. * @param array $p_request */ function translationForm($p_request) { global $g_localizerConfig; $localizerTargetLanguage = Input::Get('localizer_target_language', 'string', '', true); $localizerSourceLanguage = Input::Get('localizer_source_language', 'string', $g_localizerConfig['DEFAULT_LANGUAGE'], true); if (empty($localizerSourceLanguage)) { $tmpLanguage = new LocalizerLanguage(null, $p_request['TOL_Language']); $localizerSourceLanguage = $tmpLanguage->getLanguageId(); } $prefix = Input::Get('prefix', 'string', '', true); $screenDropDownSelection = $prefix; // Load the language files. //echo "Prefix: $prefix
"; $sourceLang = new LocalizerLanguage($prefix, $localizerSourceLanguage); $targetLang = new LocalizerLanguage($prefix, $localizerTargetLanguage); $defaultLang = new LocalizerLanguage($prefix, $g_localizerConfig['DEFAULT_LANGUAGE']); $mode = Localizer::GetMode(); if (!empty($prefix)) { // If the language files do not exist, create them. if (!$defaultLang->loadFile($mode)) { $defaultLang->saveFile($mode); } if (!$sourceLang->loadFile($mode)) { $sourceLang->saveFile($mode); } if (!$targetLang->loadFile($mode)) { $targetLang->saveFile($mode); } // Make sure that the languages have the same strings and are in the same // order as the default language file. $modified = $sourceLang->syncToDefault(); if ($modified) { $sourceLang->saveFile($mode); } $modified = $targetLang->syncToDefault(); if ($modified) { $targetLang->saveFile($mode); } } $defaultStrings = $defaultLang->getTranslationTable(); $searchString = Input::Get('search_string', 'string', '', true); if (!empty($searchString)) { $sourceStrings = $sourceLang->search($searchString); } else { $sourceStrings = $sourceLang->getTranslationTable(); } $targetStrings = $targetLang->getTranslationTable(); if ($g_localizerConfig['MAINTENANCE'] && $localizerTargetLanguage === $g_localizerConfig['DEFAULT_LANGUAGE']) { $missingStrings = Localizer::FindMissingStrings($prefix); $unusedStrings = Localizer::FindUnusedStrings($prefix); } // Mapping of language prefixes to human-readable strings. $mapPrefixToDisplay[] = ''; foreach ($g_localizerConfig['mapPrefixToDir'] as $k => $v) { $mapPrefixToDisplay[$k] = $v['display']; } // Whether to show translated strings or not. $hideTranslated = ''; if (isset($p_request['hide_translated'])) { $hideTranslated = "CHECKED"; } ?>
')">
class="input_checkbox" onchange="this.form.submit();">
" onclick="this.form.submit();" class="button">
0) && ($screenDropDownSelection != 'globals')) { ?>
"; } ?>
" class="button">
0) && ($screenDropDownSelection != 'globals')) { ?>
"; } ?>
" class="button">
$sourceValue) { if (!empty($targetStrings[$sourceKey])) { #$targetValueDisplay = str_replace('"', '"', $targetStrings[$sourceKey]); #$targetValueDisplay = str_replace("\\", "\\\\", $targetValueDisplay); $targetValueDisplay = htmlspecialchars($targetStrings[$sourceKey]); $pre = ''; $post = ''; } else { $targetValueDisplay = ''; $pre = ''; $post = ''; } $sourceKeyDisplay = htmlspecialchars(str_replace("\\", "\\\\", $sourceKey)); // Dont display translated strings if (isset($p_request['hide_translated']) && !empty($targetStrings[$sourceKey])) { ?>
getLanguageId(); ?>: : Key:
can change keys if ($targetLang->getLanguageId() == $g_localizerConfig['DEFAULT_LANGUAGE']) { $fileparms = "localizer_target_language=".$targetLang->getLanguageId() ."&localizer_source_language=".$sourceLang->getLanguageId() ."&prefix=".urlencode($screenDropDownSelection) ."&search_string=".urlencode($searchString); if (!empty($hideTranslated)) { $fileparms .= "&hide_translated=on"; } if ($count == 0) { // swap last and first entry $prev = count($sourceStrings)-1; $next = $count+1; } elseif ($count == count($sourceStrings)-1) { // swap last and first entry $prev = $count-1; $next = 0; } else { // swap entrys linear $prev = $count-1; $next = $count+1; } $removeLink = "?action=remove_string&pos=$count&$fileparms" ."&string=".urlencode($sourceKey); $moveUpLink = "?action=move_string&pos1=$count&pos2=$prev&$fileparms"; $moveDownLink = "?action=move_string&pos1=$count&pos2=$next&$fileparms"; if (empty($searchString)) { ?>