/** * Read an XML-format translation file into the translation table. * @param LocalizerLanguage $p_localizerLanguage * @return boolean */ function load(&$p_localizerLanguage) { $p_localizerLanguage->setMode('xml'); $filePath = LocalizerFileFormat_XML::GetFilePath($p_localizerLanguage); if (file_exists($filePath)) { $xml = File::readAll($filePath); File::close($filePath, FILE_MODE_READ); $unserializer = new XML_Unserializer($this->m_unserializeOptions); $unserializer->unserialize($xml); $translationArray = $unserializer->getUnserializedData(); $p_localizerLanguage->clearValues(); if (isset($translationArray['item'])) { foreach ($translationArray['item'] as $translationPair) { $p_localizerLanguage->registerString($translationPair['key'], $translationPair['value']); } } return true; } else { return false; } } // fn load
<?php require_once dirname(__FILE__) . 'Localizer.php'; $localizerLanguage = new LocalizerLanguage('locals', 'xx'); $localizerLanguage->setMode('xml'); echo "Add some strings...<br>"; $localizerLanguage->addString("foo", "foo"); $localizerLanguage->addString("bar", "bar"); $localizerLanguage->addString("high", "high"); $localizerLanguage->addString("low", "low"); $localizerLanguage->dumpToHtml(); echo "Add a string in between...<br>"; $localizerLanguage->addString("test", "test", 1); $localizerLanguage->dumpToHtml(); echo "Update the value of 'test'...<br>"; $success = $localizerLanguage->updateString("test", "test", "***"); if (!$success) { echo "ERROR UPDATING VALUE<br>"; } $localizerLanguage->dumpToHtml(); echo "Update the key for 'test'...<br>"; $success = $localizerLanguage->updateString("test", "test_new"); if (!$success) { echo "ERROR UPDATING KEY<br>"; } $localizerLanguage->dumpToHtml(); echo "Update the key and value for 'test'...<br>"; $success = $localizerLanguage->updateString("test_new", "boo", "ghost"); if (!$success) { echo "ERROR UPDATING STRING<br>"; }