mirror of
https://github.com/stashapp/stash.git
synced 2025-12-18 04:44:37 +03:00
Restructure go project (#2356)
* Move main to cmd * Move api to internal * Move logger and manager to internal * Move shell hiding code to separate package * Decouple job from desktop and utils * Decouple session from config * Move static into internal * Decouple config from dlna * Move desktop to internal * Move dlna to internal * Decouple remaining packages from config * Move config into internal * Move jsonschema and paths to models * Make ffmpeg functions private * Move file utility methods into fsutil package * Move symwalk into fsutil * Move single-use util functions into client package * Move slice functions to separate packages * Add env var to suppress windowsgui arg * Move hash functions into separate package * Move identify to internal * Move autotag to internal * Touch UI when generating backend
This commit is contained in:
39
internal/api/locale.go
Normal file
39
internal/api/locale.go
Normal file
@@ -0,0 +1,39 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"golang.org/x/text/collate"
|
||||
"golang.org/x/text/language"
|
||||
)
|
||||
|
||||
// matcher defines a matcher for the languages we support
|
||||
var matcher = language.NewMatcher([]language.Tag{
|
||||
language.MustParse("en-US"), // The first language is used as fallback.
|
||||
language.MustParse("en-GB"),
|
||||
language.MustParse("en-AU"),
|
||||
language.MustParse("es-ES"),
|
||||
language.MustParse("de-DE"),
|
||||
language.MustParse("it-IT"),
|
||||
language.MustParse("fr-FR"),
|
||||
language.MustParse("fi-FI"),
|
||||
language.MustParse("pt-BR"),
|
||||
language.MustParse("sv-SE"),
|
||||
language.MustParse("zh-CN"),
|
||||
language.MustParse("zh-TW"),
|
||||
language.MustParse("hr-HR"),
|
||||
language.MustParse("nl-NL"),
|
||||
language.MustParse("ru-RU"),
|
||||
language.MustParse("tr-TR"),
|
||||
})
|
||||
|
||||
// newCollator parses a locale into a collator
|
||||
// Go through the available matches and return a valid match, in practice the first is a fallback
|
||||
// Optionally pass collation options through for creation.
|
||||
// If passed a nil-locale string, return nil
|
||||
func newCollator(locale *string, opts ...collate.Option) *collate.Collator {
|
||||
if locale == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
tag, _ := language.MatchStrings(matcher, *locale)
|
||||
return collate.New(tag, opts...)
|
||||
}
|
||||
Reference in New Issue
Block a user