Fix to only show neutral language checkbox if languages supports it

This commit is contained in:
Ilia Ross 2025-05-27 03:47:04 +03:00
parent fdad726013
commit 8f6a94c537
No known key found for this signature in database
GPG Key ID: 121E166DD9C821AB
2 changed files with 25 additions and 5 deletions

View File

@ -50,6 +50,23 @@ if ($access{'lang'}) {
if (!defined($user->{'langneutral'}) && $ulangused) {
$ulangneutral = $ulinfo->{'neutral'};
}
my $selectjs = <<EOF;
<script>
(function () {
const select = document.querySelector('select[name="lang"]'),
span = document.querySelector('span[data-neutral]'),
checkbox = document.querySelector('input[name="langneutral"]');
const update = function() {
const selected = select.options[select.selectedIndex],
show = selected.getAttribute('data-neutral') === '1';
span.style.visibility = show ? 'visible' : 'hidden';
if (!show) checkbox.checked = false;
}
update();
select.addEventListener('change', update);
})();
</script>
EOF
print &ui_table_row($text{'index_lang'},
&ui_radio("lang_def", $ulang ? 0 : 1,
[ [ 1, &text('index_langglobal2', $linfo->{'desc'},
@ -57,14 +74,17 @@ if ($access{'lang'}) {
[ 0, $text{'index_langset'} ] ])." ".
&ui_select("lang", $ulang,
[ map { [ $_->{'lang'},
$_->{'desc'} ] }
$_->{'desc'},
"data-neutral='$_->{'neutral'}'" ] }
&list_languages() ]) .
"<wbr data-group><span data-nowrap>&nbsp;&nbsp;".
&ui_checkbox("langneutral", 1,
$text{'langneutral_include'}, $ulangneutral).
&ui_checkbox("langauto", 1,
$text{'langauto_include'}, $ulangauto).
"</span>",
"&nbsp;&nbsp;<span data-neutral>".
&ui_checkbox("langneutral", 1,
$text{'langneutral_include'}, $ulangneutral).
"</span>".
"</span>$selectjs",
undef, [ "valign=top","valign=top" ]);
}

View File

@ -3,7 +3,7 @@ lang=bg, charset=utf-8, titles=1 бълг
lang=ca, charset=utf-8, titles=1, auto=1 català
lang=cs, charset=utf-8, titles=0 čeština
lang=da, charset=utf-8, titles=1, auto=1 dansk
lang=de, charset=utf-8, titles=1, auto=1 Deutsch
lang=de, charset=utf-8, titles=1, auto=1, neutral=1 Deutsch
lang=el, charset=utf-8, titles=0, auto=1 Ελληνικά
lang=en, charset=utf-8, titles=1 English
lang=es, charset=utf-8, titles=1, auto=1 español