Wie füge ich eine neue Sprache hinzu?

27

Das von mir verwendete Aftermarket-ROM scheint die Liste der Sprachen auf ein paar Auswahlen beschränkt zu haben, wahrscheinlich um Platz zu sparen.

Ich möchte dem System eine Sprache hinzufügen. Ich kann das Gebietsschema bereits mit Programmen wie MoreLocale 2 festlegen, sodass Anwendungen mit meiner Sprachunterstützung mit dem richtigen Gebietsschemacode beginnen. Dabei werden jedoch keine fehlenden Systemsprachen hinzugefügt. Das System in einer anderen Sprache zu haben, wäre schön, aber die Hauptsache ist, die Wörterbuchdateien für die Tastatur automatisch zu vervollständigen . Wie fügt man die Sprachunterstützungsdateien für eine Eingabesprache zu einem System oder ROM hinzu?

Ich kann auf andere ROMs oder das AOSP-Projekt zugreifen, um Dinge herauszureißen, aber ich weiß nicht, wo ich anfangen soll. Welche Dateien benötige ich und welche Änderungen müssen vorgenommen werden? Gibt es eine einfache Möglichkeit, dies mit einem Sprachpaket zu tun, oder ist es die ganze Zeit Hackery?

Mein ROM ist vollständig gerootet und ich habe adbbei Bedarf Zugriff. Es ist Android 2.3.7 ( inoffizielle CM 7.1-Schnittstelle für Dream / Sapphire ) und ich verwende die Standard-Android-Tastatur. Die Sprache, die ich möchte, ist Türkisch, aber es sei denn, jemand hat einen Download, der mich darauf hinweist, es ist hauptsächlich der Prozess, den ich hier suche.

Caleb
quelle
3
Soweit ich weiß, sollten Tastaturen von Drittanbietern ihre eigenen Sprachensätze bereitstellen. Wenn Sie eine Tastatur eines Drittanbieters finden, die Türkisch unterstützt, ist dies möglicherweise der einfachste Weg. Außerdem scheint es nicht so, als ob CM Türkisch unterstützt: github.com/CyanogenMod/android_vendor_cyanogen/blob/gingerbread/… (siehe unter "Übersetzer") Aber Sie könnten immer helfen, für sie zu übersetzen.
Bryan Denny
@BryanDenny: Vollständige CyanogenROMs (die ich auf einem anderen Telefon habe) bieten native Unterstützung für Türkisch. Es sind nur einige abgespeckte Versionen für den Traum (und andere), die nur kurz geändert wurden. Ich kenne mich mit alternativen Tastaturen mit türkischer Unterstützung aus, möchte sie aber unbedingt für die Standard-Android-Tastatur verwenden (einige Market-Tastaturen funktionieren hervorragend, verwenden jedoch zu viel RAM für den Dream, und die leichteren funktionieren überhaupt nicht sehr gut). Ich weiß, dass es schwieriger ist, die Standardtastatur einzurichten, aber das ist meine Frage (und warum frage ich).
Caleb
@BryanDenny: Das Github-Ding, mit dem Sie verlinkt haben, zeigt die Übersetzer für das Cyanogen-spezifische Interface-Zeug. CyanogenMod-ROMs verfügen normalerweise über den vollständigen Sprachensatz, der vom AOSP angeboten wird, einschließlich Türkisch. Nur wenige ROM-spezifische Addons haben keine übersetzten Zeichenfolgen. Wenn das ROM jedoch nicht mit der vollständigen Liste der Ländereinstellungen kompiliert ist, muss es eine Möglichkeit geben, Unterstützung für eine bestimmte Sprache hinzuzufügen. Was kann ich aus einem anderen ROM entnehmen, um eine Sprache hinzuzufügen?
Caleb
Ich habe keine Ahnung, ich habe Android-Entwicklung gemacht (unterstützt sogar mehrere Sprachen in einer App), aber ich habe keine Entwicklung mit ROMs gemacht. Entschuldigung, ich wünschte, ich könnte mehr helfen. Ich würde auch in den CM-Foren oder XDA nachsehen.
Bryan Denny

Antworten:

11

Das Hinzufügen der vollständigen Sprachunterstützung für ein Gerät erfolgt auf ROM-Ebene. Die Sprachen, die die Standardtastatur unterstützt, werden vor dem Kompilieren hinzugefügt, und die Android-Tastatur bietet Ihnen nur die Möglichkeit, Wörterbücher für die unterstützten Sprachen herunterzuladen. Eine gute Lösung besteht darin, eine Tastatur-App (z. B. GOKeyboard) herunterzuladen, die das Hinzufügen von Sprachen unterstützt.

Apps, die das Gebietsschema ändern, sind nett, aber möglicherweise nicht so gründlich übersetzt wie Roms, die speziell in eine bestimmte / gewünschte Sprache übersetzt wurden. Wenn Ihre Sprache Bidirektional (z. B. Hebräisch oder Arabisch) ist und das Rom dies nicht unterstützt, kann es auch zu Fehlern kommen!

Die beste Lösung besteht darin, ein neues ROM mit der gewünschten Sprache zu flashen, entweder ein Standard-ROM, das von Ihrem Gerätehersteller für Ihre Region hergestellt wurde, oder ein benutzerdefiniertes ROM. Cyanogen ist gut, da es wahrscheinlich jede Sprache unterstützt, die dem Unicode-Standard entspricht (einschließlich Türkisch).

svarog
quelle
Vielen Dank. Cyanogen ist auf jeden Fall meine erste Wahl, aber es gibt tatsächlich ROMs, die auf einem meiner Geräte besser laufen. Der größte Nachteil ist die mangelnde Sprachunterstützung.
Caleb
2
aber wie kommt es, dass das offizielle rom kein hebräisch hat, und ein älteres samsung s4 mit offiziellem rom, das ich vor einem halben jahr gekauft habe, hat es? Könnte es nur eine versteckte Option sein?
Elad Benda
0

Sehen Sie dieses Video

https://www.google.com/search?ei=MLpoXaXLLYHykwXjwqHADQ&q=android+setting+language+missing&oq=android+setting+language+mis&gs_l=psy-ab.3.0.33i22i29i30l2.271266.274795..276526 0.208.2395.0j13j2 ...... 0 .... 1..gws-wiz ....... 0i71j35i39j0i67j0j0i20i263j0i203j0i22i30.5sRaXAommog # kpvalbx = _R7toXaWQEdHxkwWXnIv4CA22

TL; DW

  • Installiere die morelocale App
  • Verwenden Sie abd, um die App-Berechtigung zu ändern pm grant dogfooderz.com.morelocales android.permission.CHANGE_CONFIGURATION
  • Verwenden Sie die App, um das Gebietsschema zu ändern

HINWEIS: Wenn Sie bekommen

Security exception: grantRuntimePermission: Neither user 2000 nor current process has android.permission.GRANT_RUNTIME_PERMISSIONS

Siehe diese Antwort https://stackoverflow.com/questions/52079343/how-can-i-use-adb-to-grant-permission-without-root

Elia Weiss
quelle