echo "Load XML...<br>"; $xmlLang = new LocalizerLanguage('locals', 'xx'); $result = $xmlLang->loadFile('xml'); if (!$result) { echo "Error! Could not load XML file.<br>"; } else { echo "Success!<br>"; } echo "<br>Load GS...<br>"; $gsLang = new LocalizerLanguage('locals', 'xx'); $result = $gsLang->loadFile('gs'); if (!$result) { echo "Error! Could not load GS file.<br>"; } else { echo "Success!<br>"; } echo "<br>Testing for equality...<br>"; if (!$gsLang->equal($xmlLang)) { echo "Error! Not Equal<br>"; echo "GS: <br>"; $gsLang->dumpToHtml(); echo "XML: <br>"; $xmlLang->dumpToHtml(); } else { echo "Success! They are equal<br>"; } echo "Testing ability to get languages in the base directory...<br>"; $languages = Localizer::GetLanguages(); echo "<pre>"; print_r($languages); echo "</pre>";
/** * Get all supported languages as an array of LanguageMetadata objects. * @return array */ function getLanguages() { global $g_localizerConfig; $fileName = $g_localizerConfig['TRANSLATION_DIR'] .$g_localizerConfig['LANGUAGE_METADATA_FILENAME']; if (file_exists($fileName)) { $xml = File::readAll($path); File::rewind($path, FILE_MODE_READ); $handle = new XML_Unserializer($this->m_unserializeOptions); $handle->unserialize($xml); $arr = $handle->getUnserializedData(); $languages = $arr['language']; foreach ($languages as $language) { $languageDef = new LanguageMetadata(); $languageDef->m_languageId = $language['Code']; $languageDef->m_languageCode = ''; $languageDef->m_countryCode = ''; $languageDef->m_englishName = ''; $languageDef->m_nativeName = ''; } } else { return Localizer::GetLanguages(); } } // fn getLanguages
/** * Move a string from one file to another. * * @param string $p_oldPrefix * @param string $p_newPrefix * @param string $p_key */ public static function ChangeStringPrefix($p_oldPrefix, $p_newPrefix, $p_key) { $languages = Localizer::GetLanguages(); foreach ($languages as $language) { $source = new LocalizerLanguage($p_oldPrefix, $language->getLanguageId()); $source->loadFile(Localizer::GetMode()); $srcValue = $source->getValue($p_key); $target = new LocalizerLanguage($p_newPrefix, $language->getLanguageId()); $target->loadFile(Localizer::GetMode()); $target->addString($p_key, $srcValue); $source->deleteString($p_key); $target->saveFile(Localizer::GetMode()); $source->saveFile(Localizer::GetMode()); } } // fn ChangeStringPrefix