diff --git a/public_html/translate.php b/public_html/translate.php index 6a7029f5c..6ef5d0363 100644 --- a/public_html/translate.php +++ b/public_html/translate.php @@ -23,7 +23,10 @@ if ('POST' === $_SERVER['REQUEST_METHOD']) { if (!$zip->open($file, ZIPARCHIVE::CREATE)) { exit("Failed to create zip"); } - $lang = $lang ?: 'new'; + if (!$lang) { + $lang = (empty($_POST['lang']) || !preg_match('/^[a-z]{2}(-[A-Z]{2})?$/D',$_POST['lang'])) + ? 'new' : $_POST['lang']; + } $zip->addFromString("{$lang}/admin.json", toJSON($_POST['admin'])); $zip->addFromString("{$lang}/user.json", toJSON($_POST['user'])); $zip->close(); @@ -45,9 +48,9 @@ require 'demo/index.php'; $root = APP_VERSION_ROOT_PATH . 'app/localization'; $en = [ + 'user' => '', 'admin' => '', // 'static' => '', - 'user' => '' ]; foreach ($en as $name => $data) { $en[$name] = json_decode(file_get_contents("{$root}/en/{$name}.json"), true); @@ -102,17 +105,20 @@ echo ' en - '.$lang.' + '.($lang ?: '').' '; foreach ($en as $name => $sections) { echo ''.$name.''; - $data = is_readable("{$root}/{$lang}/{$name}.json") ? json_decode(file_get_contents("{$root}/{$lang}/{$name}.json"), true) : []; + $data = $sections; + if ($lang && is_readable("{$root}/{$lang}/{$name}.json")) { + $data = json_decode(file_get_contents("{$root}/{$lang}/{$name}.json"), true); + } foreach ($sections as $section => $values) { if (is_array($values)) { echo ''.$section.''; foreach ($values as $key => $value) { - echo ''; + echo ''; // echo ''.$section.'/'.$key.''; echo ''.htmlspecialchars($value).''; echo '';