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.
53 lines
1.1 KiB
Go
53 lines
1.1 KiB
Go
//go:build ios
|
|
// +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
|
|
}
|