Generate JSON representations of translations for lists

This commit is contained in:
2025-01-20 14:22:25 +01:00
parent 97dd72b9f7
commit 37a323c375
75 changed files with 99 additions and 5 deletions

View File

@ -27,6 +27,25 @@ function generateTranslationFile(string $lang):string {
}
/**
* Generates the json for a translation file.
*
* @param string $lang Language.
*
* @return array<string, string>
*/
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.
*
@ -63,7 +82,7 @@ function generateAppShell():string {
<meta property="og:image" content="/static/img/mdlogo-code.svg" />
</head>
<body class="loading">
<body class="loading" data-lists="' . htmlspecialchars(json_encode(ConcordanceChecker::getLists())) . '">
<script src="/static/js/qa.min.js?' . uniqid() . '" type="text/javascript" async></script>
@ -84,6 +103,9 @@ if (!is_dir(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;