Sort locales according to their names (#18211)

* Sort locales according to their names

* Fix documentation and sort case insensitive
This commit is contained in:
delvh 2022-01-08 13:18:39 +01:00 committed by GitHub
parent 832f987d80
commit 4f7764561a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -5,6 +5,9 @@
package translation package translation
import ( import (
"sort"
"strings"
"code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/options" "code.gitea.io/gitea/modules/options"
"code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/setting"
@ -31,7 +34,7 @@ var (
supportedTags []language.Tag supportedTags []language.Tag
) )
// AllLangs returns all supported langauages // AllLangs returns all supported languages sorted by name
func AllLangs() []LangType { func AllLangs() []LangType {
return allLangs return allLangs
} }
@ -72,6 +75,11 @@ func InitLocales() {
for i, v := range langs { for i, v := range langs {
allLangs = append(allLangs, LangType{v, names[i]}) allLangs = append(allLangs, LangType{v, names[i]})
} }
// Sort languages case insensitive according to their name - needed for the user settings
sort.Slice(allLangs, func(i, j int) bool {
return strings.ToLower(allLangs[i].Name) < strings.ToLower(allLangs[j].Name)
})
} }
// Match matches accept languages // Match matches accept languages