Nun möchte ich für die deutsche Übersetzung auch Umlaute benutzen. Aber diese werden beim Compilieren beanstandet. Gibt es eine Möglichkeit Umlaute in dem XML File zu benutzen, so dass B4A diese auch anwenden kann?
Sind die Umlaute in STrings oder hst Du Variablen mit Umlauten? Mit welcher Dateikodierung sind die XML-Dateien denn gespeichert? Ansonsten hätte es sicher auch geholfen wenn du aussagekräftige Fehlermeldungen gepostet hättest (LOG-File).
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("Layout1")
ResourceStrings.Initialize
ResourceStrings.Put("Gebühr_text", "Error, resource string not found")
ResourceStrings=AndroidResources1.GetApplicationStrings(ResourceStrings)
lblGebuehrText.Text = ResourceStrings.Get("Gebühr_text")
End Sub
Beim Compilieren kommt dann folgende Fehlermeldung:
res\values-de\strings.xml:3: error: Error parsing XML: not well-formed (invalid token)
Du greifst ja hier auf Resourcen zu. Ähnlich wie Variablen. Kann sein, das hier keine Umlaute verwendet werden. Und ich schätze auch, das hier keine Umlaute erlaubt sind wie so ziemlich jeder anderen Programmiersprache. Das Ü selber darf dann in ausgabestrings natürlich vorhanden sein. Aber nicht im "Namen" der Resource.
ResourceStrings.Put("Gebuehr_text", "Error, resource string not found")
Das ist richtig. So habe ich es auch. Durch die ganzen Versuche das falsche kopiert und hier eingefügt.
Das funktioniert nicht:
B4X:
<string name="Gebuehr_text">Gebühr :</string>
Das funktioniert:
B4X:
<string name="Gebuehr_text">Gebuehr :</string>
Habe noch etwas gefunden. Zwar nicht im Zusammenhang mit B4A aber es ging um XML. Da war die Rede von UTF-8 ändern in ISO irgendwas. Ich muss das noch einmal suchen.