$tlLoader->tl('concordance', 'concordance', 'concordance_checker'), ]); } /** * Generates the json for a translation file. * * @param string $lang Language. * * @return array */ function generateTranslationFilesForMatchOptions(string $lang):array { $tlLoader = new MDTlLoader("mdConc", $lang); $output = []; foreach (ConcordanceChecker::getLists() as $list) { $output[$list] = MD_STD::json_encode((new ConcordanceChecker($list))->getMatchOptions($lang)); } return $output; } /** * Generate index.htm. * * @return string */ function generateAppShell():string { return ' Quality assessment :: museum-digital '; } const ALLOWED_LANGS = ['de', 'en', 'uk']; const SERVED_ROOT = __DIR__ . '/public/'; const SERVED_JSON_ROOT = __DIR__ . '/public/static/json/'; if (!is_dir(SERVED_JSON_ROOT)) { echo "Will generate JSON root directory (" . SERVED_JSON_ROOT . ")" . PHP_EOL; MD_STD::mkdir(SERVED_JSON_ROOT); } foreach (ALLOWED_LANGS as $lang) { echo "Will generate JSON list of translations for language: " . $lang . PHP_EOL; file_put_contents(SERVED_JSON_ROOT . 'tls.' . $lang . '.json', generateTranslationFile($lang)); foreach (generateTranslationFilesForMatchOptions($lang) as $list => $tls) { file_put_contents(SERVED_JSON_ROOT . 'tls.' . $list . '.' . $lang . '.json', $tls); } } echo "Will generate app shell" . PHP_EOL; file_put_contents(SERVED_ROOT . 'index.htm', generateAppShell()); echo "Will minify CSS" . PHP_EOL; exec("minify \\ -o " . escapeshellarg(__DIR__ . '/public/static/css/qa.min.css') . '\\ ' . escapeshellarg(__DIR__ . '/public/static/css/editMenu.css') . '\\ ' . escapeshellarg(__DIR__ . '/public/static/css/dialogue.css') . '\\ ' . escapeshellarg(__DIR__ . '/public/static/css/qa.css')); echo "Will minify JS" . PHP_EOL; exec("minify \\ -o " . escapeshellarg(__DIR__ . '/public/static/js/qa.min.js') . '\ ' . escapeshellarg(__DIR__ . '/public/static/js/qa.js'));