Jak dodać nowy język?

27

Wydaje się, że ROM, który używam na rynku wtórnym, ma listę języków sprowadzoną do kilku wybranych opcji, prawdopodobnie w celu zaoszczędzenia miejsca.

Chciałbym dodać język z powrotem do systemu. Mogę już ustawić ustawienia regionalne za pomocą programów takich jak MoreLocale 2 , aby aplikacje z obsługą mojego języka zaczynały się od właściwego kodu ustawień regionalnych, ale nie dodaje brakujących języków systemowych. Przydałoby się posiadanie systemu w innym języku, ale najważniejsze jest uzyskanie plików słownika dla autouzupełniania klawiatury . W jaki sposób można dodać pliki obsługi języka dla języka wejściowego do systemu lub pamięci ROM?

Mogę uzyskać dostęp do innych pamięci ROM lub projektu AOSP, aby zgrać rzeczy, ale nie wiem od czego zacząć. Jakich plików potrzebuję i jakich modyfikacji należy dokonać? Czy istnieje prosty sposób, aby to zrobić, powiedzmy pakiet językowy, czy jest to hakowanie przez całą drogę?

Mój ROM jest w pełni zrootowany i w adbrazie potrzeby mam dostęp. To Android 2.3.7 ( nieoficjalny port CM 7.1 dla Dream / Sapphire ) i używam standardowej klawiatury Android. Językiem, którego chcę, jest turecki, chociaż chyba że ktoś ma plik do pobrania, aby wskazać mi ten proces, szukam go głównie.

Caleb
źródło
3
O ile mi wiadomo, klawiatury innych firm powinny zapewniać własne zestawy językowe. Jeśli znajdziesz zewnętrzną klawiaturę, którą lubisz, która obsługuje turecki, może to być najłatwiejszy sposób. Ponadto nie wygląda na to, że CM obsługuje język turecki: github.com/CyanogenMod/android_vendor_cyanogen/blob/gingerbread/... (patrz „Tłumacze”). Ale zawsze możesz pomóc w tłumaczeniu dla nich.
Bryan Denny
@BryanDenny: Full CyanogenROM (które mam na innym telefonie) mają natywną obsługę tureckiego, tylko niektóre pozbawione wersji Dream (i inne) są krótko zmienione. Wiem dużo o alternatywnych klawiaturach z obsługą turecką, ale naprawdę chcę go dla standardowej klawiatury Android (niektóre klawiatury Market działają świetnie, ale używają zbyt dużej pamięci RAM dla Dream, a te lżejsze wcale nie działają zbyt dobrze). Wiem, że trudniej jest uzyskać konfigurację podstawowej klawiatury, ale to moje pytanie (i dlaczego pytam).
Caleb,
@BryanDenny: Github, z którym się łączysz, pokazuje tłumaczy dla specyficznych interfejsów Cyanogen. ROM ROM CyanogenMod zazwyczaj ma pełny zestaw językowy oferowany przez AOSP, który obejmuje turecki. Tylko kilka dodatków specyficznych dla ROM nie ma przetłumaczonych ciągów ... ale kiedy ROM nie jest skompilowany z pełną listą ustawień regionalnych, musi istnieć sposób na dodanie obsługi określonego języka. Co mogę wyciągnąć z innej pamięci ROM, aby dodać język?
Caleb,
Nie mam pojęcia, zrobiłem programowanie na Androida (nawet obsługuję wiele języków w aplikacji), ale nie zrobiłem żadnego z programowaniem na ROM. Przepraszam, chciałbym pomóc. Chciałbym także zajrzeć na fora CM lub XDA.
Bryan Denny

Odpowiedzi:

11

Dodanie pełnej obsługi języka dla urządzenia odbywa się na poziomie ROM, języki, które obsługuje domyślna klawiatura, są dodawane przed kompilacją, a klawiatura Android daje tylko opcję pobierania słowników dla obsługiwanych języków. Dobrym rozwiązaniem jest pobranie aplikacji na klawiaturę (takiej jak GOKeyboard), która obsługuje dodawanie do niej języków.

Aplikacje zmieniające ustawienia regionalne są fajne, ale mogą nie być tak dokładne w tłumaczeniu jak rom, który został stworzony lub specjalnie przetłumaczony na określony / pożądany język. Jeśli twoim językiem jest Bi-Di (dwukierunkowy, taki jak hebrajski lub arabski), a rom go nie obsługuje, może również wprowadzać błędy!

Najlepszym rozwiązaniem będzie flashowanie nowego ROM-a zawierającego żądany język, albo zapasowy ROM stworzony dla twojego obszaru przez producenta urządzenia, albo niestandardowy ROM, Cyanogen jest dobry, ponieważ prawdopodobnie obsługuje każdy język zgodny ze standardem Unicode (w tym turecki).

svarog
źródło
Dzięki. Cyanogen jest z pewnością moim pierwszym wyborem, ale tak naprawdę ROMy działają lepiej na jednym z moich urządzeń, a główną wadą jest brak wsparcia językowego.
Caleb,
2
ale dlaczego oficjalna pamięć ROM nie ma na przykład hebrajskiego, a starszy Samsung S4 z oficjalną pamięcią ROM, którą kupiłem pół roku temu, prawda? czy może to być po prostu ukryta opcja?
Elad Benda
0

Zobacz ten film

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

  • zainstaluj aplikację morelocale
  • użyj abd, aby zmienić uprawnienia aplikacji pm grant dogfooderz.com.morelocales android.permission.CHANGE_CONFIGURATION
  • użyj aplikacji, aby zmienić ustawienia regionalne

UWAGA: jeśli dostaniesz

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

zobacz tę odpowiedź /programming/52079343/how-can-i-use-adb-to-grant-permission-without-root

Elia Weiss
źródło