Index: branches/5.2.x/core/units/helpers/language_import_helper.php =================================================================== diff -u -N -r14244 -r14585 --- branches/5.2.x/core/units/helpers/language_import_helper.php (.../language_import_helper.php) (revision 14244) +++ branches/5.2.x/core/units/helpers/language_import_helper.php (.../language_import_helper.php) (revision 14585) @@ -1,6 +1,6 @@ _languages as $language_id) { - $this->_performUpgrade($language_id, 'phrases', 'PhraseKey', Array ('l%s_Translation')); + $this->_performUpgrade($language_id, 'phrases', 'PhraseKey', Array ('l%s_Translation', 'l%s_HintTranslation', 'l%s_ColumnTranslation', 'PhraseType')); $this->_performUpgrade($language_id, 'emailevents', 'EventId', Array ('l%s_Subject', 'Headers', 'MessageType', 'l%s_Body')); $this->_performUpgrade($language_id, 'country-state', 'CountryStateId', Array ('l%s_Name')); } @@ -317,14 +321,40 @@ $ret .= "\t\t" . '' . "\n"; foreach ($phrases as $phrase_id => $phrase) { $translation = $phrase['l' . $language_id . '_Translation']; + $hint_translation = $phrase['l' . $language_id . '_HintTranslation']; + $column_translation = $phrase['l' . $language_id . '_ColumnTranslation']; if (!$translation) { // phrase is not translated on given language continue; } - $data = $this->_exportEncoding == 'base64' ? base64_encode($translation) : ''; - $ret .= "\t\t\t" . '' . $data . '' . "\n"; + if ( $this->_exportEncoding == 'base64' ) { + $data = base64_encode($translation); + $hint_translation = base64_encode($hint_translation); + $column_translation = base64_encode($column_translation); + } + else { + $data = ''; + $hint_translation = htmlspecialchars($hint_translation); + $column_translation = htmlspecialchars($column_translation); + } + + $attributes = Array ( + 'Label="' . $phrase['Phrase'] . '"', + 'Module="' . $phrase['Module'] . '"', + 'Type="' . $phrase['PhraseType'] . '"' + ); + + if ( $phrase['l' . $language_id . '_HintTranslation'] ) { + $attributes[] = 'Hint="' . $hint_translation . '"'; + } + + if ( $phrase['l' . $language_id . '_ColumnTranslation'] ) { + $attributes[] = 'Column="' . $column_translation . '"'; + } + + $ret .= "\t\t\t" . '' . $data . '' . "\n"; } $ret .= "\t\t" . '' . "\n"; @@ -804,18 +834,26 @@ ); $translation = $phrase_node->Data; + $hint_translation = isset($phrase_node->Attributes['HINT']) ? $phrase_node->Attributes['HINT'] : ''; + $column_translation = isset($phrase_node->Attributes['COLUMN']) ? $phrase_node->Attributes['COLUMN'] : ''; if (array_key_exists($fields_hash['PhraseType'], $this->phrase_types_allowed)) { if ($language_encoding != 'plain') { $translation = base64_decode($translation); + $hint_translation = base64_decode($hint_translation); + $column_translation = base64_decode($column_translation); } if (array_key_exists($phrase_key, $other_translations)) { $other_translations[$phrase_key]['l' . $language_id . '_Translation'] = $translation; + $other_translations[$phrase_key]['l' . $language_id . '_HintTranslation'] = $hint_translation; + $other_translations[$phrase_key]['l' . $language_id . '_ColumnTranslation'] = $column_translation; } else { $other_translations[$phrase_key] = Array ( - 'l' . $language_id . '_Translation' => $translation + 'l' . $language_id . '_Translation' => $translation, + 'l' . $language_id . '_HintTranslation' => $hint_translation, + 'l' . $language_id . '_ColumnTranslation' => $column_translation, ); }