Как добавить новый язык?

27

Похоже, что в ПЗУ вторичного рынка, который я использую, список языков разбирается на пару вариантов, возможно, для экономии места.

Я хотел бы добавить язык обратно в систему. Я уже могу установить языковой стандарт с помощью таких программ, как MoreLocale 2, чтобы приложения с моей языковой поддержкой запускались с правильным кодом языкового стандарта, однако это не добавляет отсутствующие системные языки. Было бы неплохо иметь систему на другом языке, но главное - получить файлы словаря для автозаполнения клавиатуры . Как можно добавить файлы языковой поддержки для языка ввода в систему или ПЗУ?

Я могу получить доступ к другим ПЗУ или проекту AOSP, чтобы вырвать вещи, но я не знаю, с чего начать. Какие файлы мне нужны и какие изменения нужно внести? Есть ли простой способ сделать это, скажем, с языковым пакетом, или это хакерский процесс?

Мой ROM полностью рутирован, и у меня есть adbдоступ при необходимости. Это Android 2.3.7 ( неофициальный порт CM 7.1 для Dream / Sapphire ), и я использую стандартную клавиатуру Android. Язык, который я хочу, - турецкий, хотя, если у кого-то нет загрузки, чтобы указать мне, это в основном процесс, который я ищу здесь.

Калеб
источник
3
Насколько я знаю, сторонние клавиатуры должны предоставлять свои собственные языковые наборы. Если вы можете найти понравившуюся стороннюю клавиатуру, которая поддерживает турецкий язык, то это может быть самый простой способ. Кроме того, похоже, что CM не поддерживает турецкий язык: github.com/CyanogenMod/android_vendor_cyanogen/blob/gingerbread/… (см. «Переводчики»). Но вы всегда можете помочь с переводом.
Брайан Денни
@BryanDenny: Полные CyanogenROM (которые у меня есть на другом телефоне) действительно имеют встроенную поддержку турецкого языка, это только некоторые раздетые версии для Dream (и других), которые кратко изменены. Я много знаю об альтернативных клавиатурах с поддержкой турецкого языка, но очень хочу их для стандартной клавиатуры Android (некоторые клавиатуры Market работают отлично, но используют слишком много оперативной памяти для Dream, а более легкие не работают совсем хорошо). Я знаю, что установить стандартную клавиатуру сложнее, но это мой вопрос (и почему я спрашиваю).
Калеб
@BryanDenny: github, на который вы ссылаетесь, показывает переводчики для специфического интерфейса Cyanogen. ПЗУ CyanogenMod обычно имеют полный набор языков, предлагаемых AOSP, включая турецкий. Только некоторые специфичные для ПЗУ надстройки не имеют переведенных строк ... но когда ПЗУ не скомпилировано с полным списком локалей, должен быть способ добавить поддержку для определенного языка. Что я могу извлечь из другого ПЗУ, чтобы добавить язык?
Калеб
Понятия не имею, я разработал Android-девайс (даже поддерживая несколько языков в приложении), но я не делал никаких девайсов с ПЗУ. Извините, если бы я мог помочь больше. Я также посмотрел бы на форумах CM или XDA тоже.
Брайан Денни

Ответы:

11

Добавление полной языковой поддержки для устройства выполняется на уровне rom, языки, которые будет поддерживать клавиатура по умолчанию, добавляются перед компиляцией, а клавиатура android дает вам возможность загружать словари только для тех языков, которые оно поддерживает. Хороший обходной путь - загрузить приложение клавиатуры (например, GOKeyboard), которое поддерживает добавление в него языков.

Изменяющие локали приложения хороши, но они могут быть не такими тщательными в переводе, как ром, который был сделан или специально переведен на определенный / желаемый язык. Если ваш язык би-ди (двунаправленный, например, иврит или арабский) и ром не поддерживает его, он также может содержать ошибки!

Лучшим решением будет прошить новый rom, который содержит ваш желаемый язык, будь то стандартный rom, созданный для вашего региона производителем вашего устройства, или пользовательский rom. Это хорошо, потому что он, вероятно, поддерживает все языки, которые соответствуют стандарту Unicode (включая турецкий).

Сварог
источник
Спасибо. В любом случае Cyanogen - мой первый выбор, но на самом деле на одном из моих устройств лучше работают ПЗУ, основным недостатком которого является отсутствие языковой поддержки.
Калеб
2
но почему официальное ПЗУ не имеет, например, иврита, а более старый samsung s4 с официальным ПЗУ, которое я купил, которое я купил полгода назад, имеет? это может быть просто скрытый вариант?
Elad Benda
0

Посмотреть это видео

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

  • установить приложение morelocale
  • используйте abd для изменения разрешения приложения pm grant dogfooderz.com.morelocales android.permission.CHANGE_CONFIGURATION
  • используйте приложение для изменения локали

ПРИМЕЧАНИЕ: если вы получаете

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

посмотреть этот ответ /programming/52079343/how-can-i-use-adb-to-grant-permission-without-root

Элия ​​Вайс
источник