| 2888 | | sub languages_list { |
| 2889 | | my $app = shift; |
| 2890 | | my ($curr) = @_; |
| 2891 | | |
| 2892 | | my $langs = $app->supported_languages; |
| 2893 | | my @data; |
| 2894 | | $curr ||= $app->config('DefaultLanguage'); |
| 2895 | | $curr = 'en-us' if ( lc($curr) eq 'en_us' ); |
| 2896 | | my $curr_lang = $app->current_language; |
| 2897 | | for my $tag ( keys %$langs ) { |
| 2898 | | ( my $name = $langs->{$tag} ) =~ s/\w+ English/English/; |
| 2899 | | $app->set_language($tag); |
| 2900 | | my $row = { l_tag => $tag, l_name => $app->translate($name) }; |
| 2901 | | $row->{l_selected} = 1 if $curr eq $tag; |
| 2902 | | push @data, $row; |
| 2903 | | } |
| 2904 | | $app->set_language($curr_lang); |
| 2905 | | [ sort { $a->{l_name} cmp $b->{l_name} } @data ]; |
| 2906 | | } |
| 2907 | | |