mirror of
https://github.com/webmin/webmin.git
synced 2026-05-04 22:30:33 +01:00
Encourage use of utf-8 languages
This commit is contained in:
@@ -23,8 +23,8 @@ print &ui_table_start(undef, undef, 2);
|
||||
|
||||
if ($access{'lang'}) {
|
||||
# Show personal language
|
||||
my @langs = &list_languages();
|
||||
my $glang = $gconfig{"lang"} || $default_lang;
|
||||
my @langs = &list_languages($user->{'lang'} || $glang);
|
||||
my ($linfo) = grep { $_->{'lang'} eq $glang } @langs;
|
||||
print &ui_table_row($text{'index_lang'},
|
||||
&ui_radio("lang_def", $user->{'lang'} ? 0 : 1,
|
||||
|
||||
@@ -5268,7 +5268,7 @@ $rv{"dir"} = $_[0];
|
||||
return %rv;
|
||||
}
|
||||
|
||||
=head2 list_languages
|
||||
=head2 list_languages(current-lang)
|
||||
|
||||
Returns an array of supported languages, taken from Webmin's os_list.txt file.
|
||||
Each is a hash reference with the following keys :
|
||||
@@ -5286,6 +5286,7 @@ Each is a hash reference with the following keys :
|
||||
=cut
|
||||
sub list_languages
|
||||
{
|
||||
my ($current) = @_;
|
||||
if (!@main::list_languages_cache) {
|
||||
my $o;
|
||||
local $_;
|
||||
@@ -5314,6 +5315,7 @@ if (!@main::list_languages_cache) {
|
||||
$ul->{'lang'} = $utf8lang;
|
||||
$ul->{'index'} =
|
||||
scalar(@main::list_languages_cache);
|
||||
$l->{'utf8_variant'} = $ul;
|
||||
push(@main::list_languages_cache, $ul);
|
||||
}
|
||||
}
|
||||
@@ -5322,6 +5324,12 @@ if (!@main::list_languages_cache) {
|
||||
@main::list_languages_cache = sort { $a->{'desc'} cmp $b->{'desc'} }
|
||||
@main::list_languages_cache;
|
||||
}
|
||||
if ($current && $current =~ /\.UTF-8$/) {
|
||||
# If the user is already using a UTF-8 language encoding, filter out
|
||||
# languages that have a UTF-8 variant
|
||||
return grep { $_->{'charset'} eq 'UTF-8' ||
|
||||
!$_->{'utf8_variant'} } @main::list_languages_cache;
|
||||
}
|
||||
return @main::list_languages_cache;
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
$main::default_debug_log_size = 10*1024*1024;
|
||||
|
||||
$webmin_feedback_address = "feedback\@webmin.com";
|
||||
$default_lang = "en";
|
||||
$default_lang = "en.UTF-8";
|
||||
$default_charset = "iso-8859-1";
|
||||
|
||||
=head2 unique(string, ...)
|
||||
|
||||
@@ -15,16 +15,16 @@ $clang = $gconfig{'lang'} ? $gconfig{'lang'} : $default_lang;
|
||||
print &ui_table_row($text{'lang_lang'},
|
||||
&ui_select("lang", $clang,
|
||||
[ map { [ $_->{'lang'}, "$_->{'desc'} (".uc($_->{'lang'}).")" ] }
|
||||
&list_languages() ]), undef, [ "valign=middle","valign=middle" ]);
|
||||
&list_languages($clang) ]));
|
||||
|
||||
# Character set
|
||||
print &ui_table_row($text{'lang_charset'},
|
||||
&ui_opt_textbox("charset", $gconfig{'charset'}, 15,
|
||||
$text{'lang_chardef'}), undef, [ "valign=middle","valign=middle" ]);
|
||||
$text{'lang_chardef'}));
|
||||
|
||||
# Use language from browser?
|
||||
print &ui_table_row($text{'lang_accept'},
|
||||
&ui_yesno_radio("acceptlang", int($gconfig{'acceptlang'})), undef, [ "valign=middle","valign=middle" ]);
|
||||
&ui_yesno_radio("acceptlang", int($gconfig{'acceptlang'})));
|
||||
|
||||
print &ui_table_end();
|
||||
print &ui_form_end([ [ "", $text{'lang_ok'} ] ]);
|
||||
|
||||
Reference in New Issue
Block a user