iOS Question IOS how localizator differentiate Chinese simplified and Chinese traditional

tzfpg

Active Member
Licensed User
Longtime User
Hi,

I facing a problem that differentiate Chinese simplified and Chinese traditional

B4X:
Dim no As NativeObject
Dim lang As String = no.Initialize("NSLocale") _
    .RunMethod("preferredLanguages", Null).RunMethod("objectAtIndex:", Array(0)).AsString
    If lang.Length > 2 Then lang = lang.SubString2(0, 2)
    Return lang

I use this code to get the iphone current language but when turn to Chinese simplified or Chinese traditional, it return "zh". so how could i know either is simplified or traditional?

Thank you
 

Semen Matusovskiy

Well-Known Member
Licensed User
For example, return zh-Hans or zh-Hant instead of zh

B4X:
Dim no As NativeObject
    Dim lang As String = (no.Initialize("NSLocale").RunMethod("preferredLanguages", Null).RunMethod("objectAtIndex:", Array(0)).AsString).ToLowerCase
    If lang.SubString2(0, 7) = "zh-hant" Then
        lang = "zh-Hant" ' Chinese in the traditional script.
    Else If lang.SubString2(0, 7) = "zh-hans" Then
        lang = "zh-Hans" ' Chinese in the simplified script.
    Else
        If lang.Length > 2 Then lang = lang.SubString2(0, 2)
    End If
  Return lang
 
Last edited:
Upvote 0
Top