|
- // +build darwin freebsd linux netbsd openbsd
-
- package jibber_jabber
-
- import (
- "errors"
- "os"
- "strings"
- )
-
- func getLangFromEnv() (locale string) {
- locale = os.Getenv("LC_ALL")
- if locale == "" {
- locale = os.Getenv("LANG")
- }
- return
- }
-
- func getUnixLocale() (unix_locale string, err error) {
- unix_locale = getLangFromEnv()
- if unix_locale == "" {
- err = errors.New(COULD_NOT_DETECT_PACKAGE_ERROR_MESSAGE)
- }
-
- return
- }
-
- func DetectIETF() (locale string, err error) {
- unix_locale, err := getUnixLocale()
- if err == nil {
- language, territory := splitLocale(unix_locale)
- locale = language
- if territory != "" {
- locale = strings.Join([]string{language, territory}, "-")
- }
- }
-
- return
- }
-
- func DetectLanguage() (language string, err error) {
- unix_locale, err := getUnixLocale()
- if err == nil {
- language, _ = splitLocale(unix_locale)
- }
-
- return
- }
-
- func DetectTerritory() (territory string, err error) {
- unix_locale, err := getUnixLocale()
- if err == nil {
- _, territory = splitLocale(unix_locale)
- }
-
- return
- }
|