user
user

Reputation: 41

How to detect locale?

I want to detect region and if it is not Spain I need to create check like this:

if myRegion == Spain {

    //some code

} else {

    //some code

}

I trying to do this like this but it is doesn't work:

let myRegion = Locale.current

if myRegion == Locale(identifier: "sp") {
    //some code
} else {
    //some code
}

Update

if myRegion == Locale(identifier: "es") {
    print("YES")
} else {
    print("NO")
} 

let locale = Locale.current
print(locale.regionCode)

It is doesn't work. In console I see:

NO
Optional("ES")

If I change es to ES it is is doesn't work.

Upvotes: 3

Views: 585

Answers (2)

Andrew Kochulab
Andrew Kochulab

Reputation: 325

You can use Locale.current.regionCode.

Upvotes: 0

Keshu R.
Keshu R.

Reputation: 5225

 let myRegion = Locale.current.regionCode
 if myRegion == "ES" {
        //some code 
    } else {
        //s
    } 

Spain region code is "es".You can find the list of codes here : LINK

If you are in same country, the easiest way to find out the region code is:

let locale = Locale.current
print(locale.regionCode)

Upvotes: 6

Related Questions