Ciao a tutta la ML, come faccio a sapere se il dispositivo (system) e in lingua italiana o americana o diversa da italiana.
MI serve per creare una classe messaggi in lingua italiano e inglese poi più avanti altre lingue spagnolo, tedesco, francese e magari cinese e japponese, arabo e via discorrendo.
Sub Process_Globals
Dim Locale As AHLocale
End Sub
Sub Activity_Create(FirstTime As Boolean)
If FirstTime = True Then
Locale.Initialize
Select Locale.Language
Case "it"
'Lingua italiana
Case "en"
'Lingua inglese
End Select
End If
End Sub
Sub Process_Globals
Dim Locale As AHLocale
End Sub
Sub Activity_Create(FirstTime As Boolean)
If FirstTime = True Then
Locale.Initialize
Select Locale.Language
Case "it"
'Lingua italiana
Case "en"
'Lingua inglese
End Select
End If
End Sub
Ciao,
per i miei programmi uso il seguente codice:
B4X:
Sub Process_Globals
Dim Locale As AHLocale
Dim Texts(10) As String
End Sub
Sub Activity_Create(FirstTime As Boolean)
LoadTexts
End Sub
' load translations
Sub LoadTexts
Dim fileName As String = "it.txt" ' default language, must exist!!
Dim Reader As TextReader
Dim i As Int = 0
If Locale.Initialized = False Then
' if not initialized, initialize
Locale.Initialize
Log("Locale initialized")
' set the language
If Locale.Language <> "" Then
' set language file
fileName = Locale.language & ".txt"
End If
' check if file exist
If File.Exists(File.DirAssets, fileName) = False Then
fileName = "it.txt"
Log("load default language: it")
End If
End If
' initialize reader
Reader.Initialize(File.OpenInput(File.DirAssets, fileName))
' read each line of file
Texts(i) = Reader.ReadLine
Do While Texts(i) <> Null
i = i + 1
Texts(i) = Reader.ReadLine
Loop
Reader.Close
Log("Load Text ok " & fileName)
End Sub
Ogni riga del file di testo contiene una frase o parola usata nel programma, e la puoi richiamare nel codice usando per esempio
Ciao,
per i miei programmi uso il seguente codice:
B4X:
Sub Process_Globals
Dim Locale As AHLocale
Dim Texts(10) As String
End Sub
Sub Activity_Create(FirstTime As Boolean)
LoadTexts
End Sub
' load translations
Sub LoadTexts
Dim fileName As String = "it.txt" ' default language, must exist!!
Dim Reader As TextReader
Dim i As Int = 0
If Locale.Initialized = False Then
' if not initialized, initialize
Locale.Initialize
Log("Locale initialized")
' set the language
If Locale.Language <> "" Then
' set language file
fileName = Locale.language & ".txt"
End If
' check if file exist
If File.Exists(File.DirAssets, fileName) = False Then
fileName = "it.txt"
Log("load default language: it")
End If
End If
' initialize reader
Reader.Initialize(File.OpenInput(File.DirAssets, fileName))
' read each line of file
Texts(i) = Reader.ReadLine
Do While Texts(i) <> Null
i = i + 1
Texts(i) = Reader.ReadLine
Loop
Reader.Close
Log("Load Text ok " & fileName)
End Sub
Ogni riga del file di testo contiene una frase o parola usata nel programma, e la puoi richiamare nel codice usando per esempio