mirror of https://github.com/miguelmota/cointop
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.0 KiB
Go
52 lines
1.0 KiB
Go
3 years ago
|
// +build ios
|
||
|
|
||
|
package locale
|
||
|
|
||
|
/*
|
||
|
#cgo CFLAGS: -x objective-c
|
||
|
#cgo LDFLAGS: -framework Foundation -framework UIKit
|
||
|
|
||
|
const char *getLocale();
|
||
|
const char *getLocales();
|
||
|
*/
|
||
|
import "C"
|
||
|
import (
|
||
|
"strings"
|
||
|
)
|
||
|
|
||
|
// GetLocale retrieves the IETF BCP 47 language tag set on the system.
|
||
|
func GetLocale() (string, error) {
|
||
|
return C.GoString(C.getLocale()), nil
|
||
|
}
|
||
|
|
||
|
// GetLocales retrieves the IETF BCP 47 language tags set on the system.
|
||
|
func GetLocales() ([]string, error) {
|
||
|
return strings.Split(C.GoString(C.getLocales()), ","), nil
|
||
|
}
|
||
|
|
||
|
// GetLanguage retrieves the IETF BCP 47 language tag set on the system and
|
||
|
// returns the language part of the tag.
|
||
|
func GetLanguage() (string, error) {
|
||
|
language := ""
|
||
|
|
||
|
locale, err := GetLocale()
|
||
|
if err == nil {
|
||
|
language, _ = splitLocale(locale)
|
||
|
}
|
||
|
|
||
|
return language, err
|
||
|
}
|
||
|
|
||
|
// GetRegion retrieves the IETF BCP 47 language tag set on the system and
|
||
|
// returns the region part of the tag.
|
||
|
func GetRegion() (string, error) {
|
||
|
region := ""
|
||
|
|
||
|
locale, err := GetLocale()
|
||
|
if err == nil {
|
||
|
_, region = splitLocale(locale)
|
||
|
}
|
||
|
|
||
|
return region, err
|
||
|
}
|