AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Android/iOS Apps in anderen Sprachen verfügbar machen
Thema durchsuchen
Ansicht
Themen-Optionen

Android/iOS Apps in anderen Sprachen verfügbar machen

Ein Thema von amigage · begonnen am 20. Okt 2023 · letzter Beitrag vom 22. Okt 2023
Antwort Antwort
amigage

Registriert seit: 11. Nov 2005
Ort: Leipzig
274 Beiträge
 
Delphi 12 Athens
 
#1

Android/iOS Apps in anderen Sprachen verfügbar machen

  Alt 20. Okt 2023, 11:13
Hallo,

aktuell stelle ich für Android und iOS Apps in deutscher Sprache bereit. Jetzt ist es so, dass vermehrt Fragen nach weiteren Sprachen - vor allem Englisch - kommen.
Also habe ich mich zumindest erst einmal unter Android kundig gemacht. https://developer.android.com/guide/...alization.html

Zusätzlich habe ich diverse Beiträge auf StackOverflow gelesen. So wie ich es verstanden habe, stellt man die String-Ressourcen in den entsprechenden Verzeichnissen bereit.

Code:
res/values/strings.xml
res/values-en/strings.xml
Diese binde ich im Bereitstellungs-Manager ein und lasse sie entsprechend mit in die apk kompilieren (wenn ich die apk als zip öffne, sehe ich auch die entsprechenden Dateien in den Pfaden).

Laut Anleitung von Android liest das System die eingestellte Systemsprache aus und soll dann die entsprechende strings.xml auslesen. Wenn die Sprache nicht vorhanden ist, wird auf die Standardsprache unter values zurückgegriffen und entsprechend in der App umgestellt und angezeigt.

Bei mir passiert aber nichts. Egal was ich mache, bei mir wird keine Sprachänderung durchgeführt? Ich würde auf externe Komponenten, wie TSILang verzichten wollen, da ich hier alle internen Strings selbst setzen muss. Wie macht ihr das?

Danke!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

AW: Android/iOS Apps in anderen Sprachen verfügbar machen

  Alt 20. Okt 2023, 11:30
Ich weiß nicht, ob es für die Mobilen so stimmt, aber bezüglich Windows (dcc32 und dcc64) :

Original wird bei Delphi nur eine Sprache/SprachResource integriert,
außer man legt weitere SprachResourcen daneben. (z.B. die *.fr, *.de und *.jp der RTL/VCL/usw.)

Und was der Compiler dann einbaut, entscheidet C:\Program Files (x86)\Embarcadero\Studio\22.0\bin\BDSSetLang.exe
* erster Tab = wie die Delphi angezeigt wird
* zweiter Tab = was der Compiler/Linker in die Compilate einbaut


im Windows:
* Theoretisch ginge es auch, diese Ressourcen zu integrieren (Resoucen haben ja jeweils eine eigene LCID).
* Es gibt dann noch verschiedene Übersetzungstools, welche sich ins Laden dieser Ressourcen reinhängen und dort dann dynamisch das zur Laufzeit überschreiben.
$2B or not $2B
  Mit Zitat antworten Zitat
amigage

Registriert seit: 11. Nov 2005
Ort: Leipzig
274 Beiträge
 
Delphi 12 Athens
 
#3

AW: Android/iOS Apps in anderen Sprachen verfügbar machen

  Alt 20. Okt 2023, 16:23
Nein, für die mobilen Geräte funktioniert das leider so nicht.
  Mit Zitat antworten Zitat
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
356 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Android/iOS Apps in anderen Sprachen verfügbar machen

  Alt 20. Okt 2023, 17:10
ich hatte mir mal vor langer Zeit mal ein kleines Tool geschrieben, das .po Datei anlegen kann.
Dazu nutzte ich msgfmt, das ich mittels GNU C/C++ nutzen konnte.
Evtl. müsste ich mich auch mal die apk Erstellung anscheuen, um das Tool für solche Zwecke
braichbar zu machen.

Es steht auf meinen gitaccount
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.960 Beiträge
 
Delphi 12 Athens
 
#5

AW: Android/iOS Apps in anderen Sprachen verfügbar machen

  Alt 21. Okt 2023, 16:50
Eine von EMBT jedoch abgekündigte Möglichkeit stellt die FMX Komponente TLang dar.
Bis auf folgende Problem funktioniert das auch:

Der String Editor von TLang ist grauselig und kann nicht mit Multiline Strings umgehen.

Ich hatte dann Multilizer benutzt, welches die Strings der lng Dateien von TLang
verarbeiten konnte und mir somit die von VCL Anwendungen bereits bekannte
Übersetzungsoberfläche bereit stellt. Dort können auch bestimmte Wörterbücher
integriert werden um somit einen Teil der Texte automatisch übersetzen zu lassen
und wenn man mit Übersetzern arbeitet kann man denen eine Lite Umgebung generieren
lassen, was auch hilfreich ist, da Multilizer auch gewisse Syntaxprüfungen kann.
z. B. fehlerhafte Platzhalter erkennen usw.

Die Methode die strings.xml zu benutzen hatee ich schon mal in https://quality.embarcadero.com
eingespeist, passiert ist da aber trotz Anmerkung des Produktmanagers,
dass ihm meine Idee gefällt noch nix. Ich finde den Report nur leider auf die Schnelle nicht...

Grüße
TurboMagic
  Mit Zitat antworten Zitat
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
898 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Android/iOS Apps in anderen Sprachen verfügbar machen

  Alt 21. Okt 2023, 23:13
Also ich persönlich habe mir da mal eine eigene Lösung gebaut, da es am Ende ja nicht nur um die Betextung geht, sondern teilweise auch um Einheiten (z.B. Meilen statt Kilometer), mehrzeilige Texte und Texte mit Platzhaltern geht. Für jedes Text-Feld habe ich eine ID und ich liefere pro Sprache eine Datei mit allen IDs und allen Texten für diese Sprache aus.

Ich lese beim ersten Start der Software die Sprache aus und wähle aus den zur Verfügung stehenden Sprachen die beste aus. Diese ist dann in unserer Konfiguration überschreibbar man kann auch die Sprache "XX" auswählen, dann erscheinen in der App nur die IDs (falls man mal nicht weiß, was wo steht). Ich kann so zur Laufzeit in Sekundenschnelle auch die Sprache wechseln, wenn ich mir z.B. bei Größen nicht vollkommen sicher bin, ob es in allen Sprachen so passt.

Die Sprache-Datei ist extrem einfach austauschbar. Der Aufwand war der Programmierung war deutlich unter einem Tag, der eigentliche Aufwand ist die Übersetzung aller Elemente an sich.
  Mit Zitat antworten Zitat
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
356 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Android/iOS Apps in anderen Sprachen verfügbar machen

  Alt 22. Okt 2023, 00:12
klar. geht ja irgendwie immer um eine ID bei Android - egal ob das ein String oder Control ist.
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.175 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Android/iOS Apps in anderen Sprachen verfügbar machen

  Alt 22. Okt 2023, 00:33
Wenn es ein professionelles Tool sein soll und auch Geld kosten darf, wäre TsiLang einen Blick wert.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz