Comment ajouter une nouvelle langue?

27

La ROM du marché secondaire que j'utilise semble avoir réduit la liste des langues à quelques sélections, probablement pour économiser de l'espace.

Je voudrais rajouter une langue dans le système. Je peux déjà définir les paramètres régionaux à l'aide de programmes tels que MoreLocale 2 afin que les applications avec ma prise en charge linguistique commencent par le bon code local, mais cela n'ajoute pas les langues système manquantes. Avoir le système dans une autre langue serait bien, mais l'essentiel est d'obtenir les fichiers de dictionnaire pour la saisie automatique du clavier . Comment procéder pour ajouter les fichiers de prise en charge linguistique d'une langue d'entrée à un système ou à une ROM?

Je peux accéder à d'autres ROM ou au projet AOSP pour arracher les choses, mais je ne sais pas par où commencer. De quels fichiers ai-je besoin et quelles modifications faut-il apporter? Existe-t-il un moyen facile de le faire avec, par exemple, un pack de langue ou est-ce un piratage complet?

Ma ROM est entièrement enracinée et j'ai adbaccès si nécessaire. C'est Android 2.3.7 ( port non officiel CM 7.1 pour Dream / Sapphire ) et j'utilise le clavier Android d'origine. La langue que je veux est le turc, mais à moins que quelqu'un n'ait un téléchargement pour m'indiquer, c'est surtout le processus que je recherche ici.

Caleb
la source
3
Pour autant que je sache, les claviers tiers devraient fournir leurs propres ensembles de langues. Si vous pouvez trouver un clavier tiers que vous aimez qui prend en charge le turc, c'est peut-être le moyen le plus simple. De plus, il ne semble pas que CM supporte le turc: github.com/CyanogenMod/android_vendor_cyanogen/blob/gingerbread/… (Regardez sous "Traducteurs") Mais vous pouvez toujours aider à traduire pour eux.
Bryan Denny
@BryanDenny: Full CyanogenROM (que j'ai sur un autre téléphone) a un support natif pour le turc, ce ne sont que quelques versions dépouillées pour le Dream (et d'autres) qui sont raccourcies. Je connais beaucoup de claviers alternatifs avec prise en charge turque, mais je le veux vraiment pour le clavier Android d'origine (certains claviers du marché fonctionnent très bien mais utilisent trop de RAM pour le Dream et les plus légers ne fonctionnent pas très bien du tout). Je sais qu'il est plus difficile de configurer le clavier d'origine, mais c'est ma question (et pourquoi je pose la question).
Caleb
@BryanDenny: La chose github à laquelle vous avez lié montre les traducteurs pour l'interface de Cyanogen. Les ROM CyanogenMod ont généralement le jeu de langues complet proposé par l'AOSP, qui comprend le turc. Seuls quelques modules complémentaires spécifiques à la ROM n'ont pas de chaînes traduites ... mais lorsque la ROM n'est pas compilée avec la liste complète des paramètres régionaux, il doit y avoir un moyen d'ajouter la prise en charge d'une langue spécifique. Que puis-je retirer d'une autre ROM pour ajouter une langue?
Caleb
Je n'ai aucune idée, j'ai fait du développement Android (même en supportant plusieurs langues dans une application), mais je n'ai fait aucun développement avec les ROM. Désolé, j'aimerais pouvoir vous aider davantage. Je regarderais aussi sur les forums CM ou XDA aussi.
Bryan Denny

Réponses:

11

L'ajout de la prise en charge complète des langues pour un appareil se fait au niveau de la ROM, les langues prises en charge par le clavier par défaut sont ajoutées avant la compilation et le clavier Android ne vous donnera que la possibilité de télécharger des dictionnaires pour les langues qu'il prend en charge. Une bonne solution consiste à télécharger une application clavier (telle que GOKeyboard) qui prend en charge l'ajout de langues.

Les applications de changement de paramètres régionaux sont agréables mais elles peuvent ne pas être aussi complètes dans leur traduction qu'une rom qui a été créée ou spécialement traduite dans une langue spécifique / votre langue souhaitée. Si votre langue est bi-di (bidirectionnelle, comme l'hébreu ou l'arabe) et que la rom ne la prend pas en charge, elle peut également introduire des bugs!

La meilleure solution sera de flasher une nouvelle rom qui contient la langue de votre choix, soit une rom en stock faite pour votre région par le fabricant de votre appareil ou une rom personnalisée, Cyanogen est bonne car elle prend probablement en charge toutes les langues conformes à la norme unicode (y compris turc).

svarog
la source
Merci. Cyanogen est certainement mon premier choix de toute façon, mais il existe en fait des ROM qui fonctionnent mieux sur l'une de mes unités, le principal inconvénient étant le manque de prise en charge linguistique.
Caleb
2
mais comment se fait-il que la ROM officielle n'ait pas d'hébreu par exemple, et qu'un ancien Samsung S4 avec ROM officielle que j'ai acheté il y a six mois l'ait? cela pourrait-il simplement être une option cachée?
Elad Benda
0

Voir cette vidéo

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

  • installer l'application morelocale
  • utiliser abd pour modifier l'autorisation de l'application pm grant dogfooderz.com.morelocales android.permission.CHANGE_CONFIGURATION
  • utiliser l'application pour changer les paramètres régionaux

REMARQUE: si vous obtenez

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

voir cette réponse /programming/52079343/how-can-i-use-adb-to-grant-permission-without-root

Elia Weiss
la source