@@ -, +, @@ sorted by the language code. --- C4/Languages.pm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) --- a/C4/Languages.pm +++ a/C4/Languages.pm @@ -313,6 +313,7 @@ sub _build_languages_arrayref { $current_language //= ''; my @translated_languages = @$translated_languages; my @languages_loop; # the final reference to an array of hashrefs + my @languages_loop_sorted; my @enabled_languages = @$enabled_languages; # how many languages are enabled, if one, take note, some contexts won't need to display it my %seen_languages; # the language tags we've seen @@ -321,7 +322,7 @@ sub _build_languages_arrayref { my $track_language_groups; my $current_language_regex = regex_lang_subtags($current_language); # Loop through the translated languages - for my $translated_language (@translated_languages) { + for my $translated_language (sort @translated_languages) { # separate the language string into its subtag types my $language_subtags_hashref = regex_lang_subtags($translated_language); @@ -361,7 +362,8 @@ sub _build_languages_arrayref { group_enabled => $enabled, }; } - return \@languages_loop; + @languages_loop_sorted = sort{ $a->{language} cmp $b->{language} } @languages_loop; + return \@languages_loop_sorted; } sub language_get_description { --