Come faccio ad aggiungere una nuova lingua?


27

La ROM aftermarket che uso sembra avere l'elenco delle lingue ridotto a poche selezioni, probabilmente per risparmiare spazio.

Vorrei aggiungere una lingua nel sistema. Posso già impostare le impostazioni internazionali utilizzando programmi come MoreLocale 2 in modo che le applicazioni con il mio supporto per la lingua inizino con il codice locale corretto, tuttavia ciò non aggiunge le lingue di sistema mancanti. Avere il sistema in un'altra lingua sarebbe bello, ma la cosa principale è ottenere i file del dizionario per il completamento automatico della tastiera . Come si fa ad aggiungere i file di supporto della lingua per una lingua di input a un sistema o una ROM?

Posso accedere ad altre ROM o al progetto AOSP per strappare le cose, ma non so da dove cominciare. Di quali file ho bisogno e quali modifiche devono essere apportate? C'è un modo semplice per farlo con un language pack o è un hacker?

La mia ROM è completamente rootata e ho adbaccesso se necessario. È Android 2.3.7 (porta non ufficiale CM 7.1 per Dream / Sapphire ) e sto usando la tastiera Android di serie. La lingua che desidero è il turco, anche se a meno che qualcuno non abbia un download per indicarmi è principalmente il processo che sto cercando qui.


3
Per quanto ne so, le tastiere di terze parti dovrebbero fornire i propri set di lingue. Se riesci a trovare una tastiera di terze parti che ti piace che supporti il ​​turco, questo potrebbe essere il modo più semplice per andare. Inoltre, sembra che CM non supporti il ​​turco: github.com/CyanogenMod/android_vendor_cyanogen/blob/gingerbread/… (Guarda sotto "Traduttori") Ma potresti sempre aiutare a tradurre per loro.
Bryan Denny

@BryanDenny: I CyanogenROM completi (che ho su un altro telefono) hanno il supporto nativo per il turco, sono solo alcune versioni spogliate per il Dream (e altri) che sono state modificate. Conosco molto bene le tastiere alternative con supporto turco, ma lo voglio davvero per la tastiera Android di serie (alcune tastiere Market funzionano benissimo ma usano troppa RAM per il Dream e quelle più leggere non funzionano molto bene). So che è più difficile ottenere la configurazione per la tastiera stock, ma questa è la mia domanda (e perché lo sto chiedendo).
Caleb,

@BryanDenny: La cosa github a cui ti sei collegato mostra i traduttori per le cose dell'interfaccia specifica di Cyanogen. Le ROM CyanogenMod di solito hanno il set di lingue completo offerto dall'AOSP, che include il turco. Solo alcuni addon specifici della ROM non hanno stringhe tradotte ... ma quando la ROM non è compilata con l'elenco completo delle impostazioni locali, ci deve essere un modo per aggiungere il supporto per una lingua specifica. Cosa posso estrarre da un'altra ROM per aggiungere una lingua?
Caleb,

Non ne ho idea, ho realizzato Android dev (anche supportando più lingue in un'app), ma non ho fatto alcun sviluppo con ROM. Scusa, vorrei poter aiutare di più. Guarderei anche sui forum CM o anche su XDA.
Bryan Denny

Risposte:


11

L'aggiunta del supporto linguistico completo per un dispositivo avviene a livello di rom, le lingue supportate dalla tastiera predefinita vengono aggiunte prima della compilazione e la tastiera Android ti darà solo la possibilità di scaricare dizionari per le lingue supportate. Una buona soluzione è scaricare un'app per tastiera (come GOKeyboard) che supporti l'aggiunta di lingue.

Le app che cambiano le impostazioni locali sono belle ma potrebbero non essere così complete nella loro traduzione come una rom creata o tradotta appositamente in una lingua specifica / desiderata. Se la tua lingua è Bi-Di (bidirezionale, come l'ebraico o l'arabo) e la rom non la supporta, potrebbe introdurre anche dei bug!

La soluzione migliore sarà quella di eseguire il flashing di una nuova rom che contiene la lingua desiderata, una stock rom creata per la tua area dal produttore del dispositivo o una rom personalizzata, Cyanogen è buona perché probabilmente supporta ogni lingua conforme allo standard unicode (incluso Turco).


Grazie. Cianogeno è sicuramente la mia prima scelta, ma in realtà ci sono ROM che funzionano meglio su una delle mie unità, il principale svantaggio è la mancanza di supporto linguistico.
Caleb,

2
ma come mai la ROM ufficiale non ha l'ebraico, per esempio, e un vecchio samsung s4 con ROM ufficiale che ho acquistato sei mesi fa? potrebbe essere solo un'opzione nascosta?
Elad Benda,

0

Guarda questo 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.2 .. 0.208.2395.0j13j2 ...... 0 .... 1..gws-wiz ....... 0i71j35i39j0i67j0j0i20i263j0i203j0i22i30.5sRaXAommog # kpvalbx = _R7toXaWQEdHxkwWXnIv4CA22

TL; DW

  • installa l'app morelocale
  • usa abd per modificare l'autorizzazione dell'app pm grant dogfooderz.com.morelocales android.permission.CHANGE_CONFIGURATION
  • utilizzare l'app per modificare le impostazioni internazionali

NOTA: se si ottiene

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

vedi questa risposta /programming/52079343/how-can-i-use-adb-to-grant-permission-without-root

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.