protected function generateJavaScriptLabels($path) { $i18n = self::loadI18NFiles($path); $regedit = regedit::getInstance(); $modulesList = $regedit->getList('//modules'); foreach ($modulesList as $moduleName) { list($moduleName) = $moduleName; if (!isset($i18n['module-' . $moduleName])) { $i18n['module-' . $moduleName] = self::getLabel('module-' . $moduleName, $moduleName); } } $result = <<<INITJS function getLabel(key, str) {if(setLabel.langLabels[key]) {var res = setLabel.langLabels[key];if(str) {res = res.replace("%s", str);}return res;} else {return "[" + key + "]";}} function setLabel(key, label) {setLabel.langLabels[key] = label;}setLabel.langLabels = new Array(); INITJS; foreach ($i18n as $i => $v) { if (substr($i, 0, 3) == "js-" || strpos($i, "module-") === 0 || strpos($i, "error-") === 0) { $i = self::filterOutputString($i); $v = self::filterOutputString($v); $result .= "setLabel('{$i}', '{$v}');\n"; } } umiBaseStream::$allowTimeMark = false; return $result; }