Смена системной локали на Android: пошагово

Короткий ответ: откройте Настройки → Система → Языки и ввод, добавьте нужный язык и выберите регион; если приложение игнорирует системную локаль, примените ADB-команду без root или воспользуйтесь MoreLocale 2.

Оглавление {{TOC_AUTOMATIC}}

Быстрая настройка через системные настройки

  1. Откройте Настройки → Система → Языки и ввод (иногда: Дополнительные настройки → Регион).
  2. Нажмите «Языки» → «Добавить язык», выберите нужный (например, Русский (Россия) или English (United States)).
  3. Перетащите новый язык в начало списка — он станет главным.
  4. Для региона в том же меню выберите страну; это меняет формат даты, времени, чисел и валюты.
  5. Проверьте Настройки → Система → Дата и время → Региональные форматы (12/24, формат даты).
  6. Перезагрузка необязательна, но рекомендуема для полного применения (особенно если видите несоответствие в системных приложениях).

Если нужного языка нет в списке, установите Gboard — она поддерживает множество локалей офлайн и добавляет языки клавиатуры.

Изменение локали через ADB (без root)

Когда системные настройки не помогают (часто в кастомных прошивках или при тестировании), можно задать локаль через ADB. Нужна включённая Отладка по USB и доступ к ПК с ADB.

Подключите устройство к ПК и выполните:

adb devices
adb shell settings put system user_locale ru-RU
adb reboot

Замените ru-RU на нужный код: en-US, fr-FR, zh-CN и т.д. На Android 13+ этот метод работает без root, но некоторые производители могут блокировать изменение локали для отдельных системных компонентов.

Включайте «Отладку по USB» только на личных устройствах. Для этого: Настройки → О телефоне → нажмите 7 раз по «Номер сборки», откройте Параметры разработчика и включите Отладку по USB.

Советы, утилиты и совместимость

  • MoreLocale 2 — имитирует любую локаль без root; полезно для редких локалей, но некоторые банковские и DRM-приложения могут блокировать работу.
  • Gboard или SwiftKey помогут с клавиатурой и локальными раскладками.
  • Если приложение кэширует локаль, очистите кэш/данные: Настройки → Приложения → выбранное приложение → Память → Очистить кэш/данные.
  • В китайских прошивках или прошивках с vendor-lock может потребоваться прошивка с поддержкой GApps или root-решения (Magisk-модули) — это рискованно и требует бэкапа.
  • Для разработчиков: в приложении используйте Locale.getDefault() или настройку android:localeConfig, чтобы корректно реагировать на смену локали.

Частые ошибки

  • Смена только языка без региона — приводит к неверному формату даты/времени (12/24) и валюты.
  • Приложение всё ещё на старой локали — причина: кэш или жестко заданная локаль в самом приложении.
  • Клавиатура не переключается — установите альтернативную клавиатуру с нужным языком.
  • ADB-команда не подействовала — проверьте, разрешён ли доступ компьютера и нет ли ограничений производителя.

FAQ

  • Нужно ли перезагружать телефон после смены языка?
    • Обычно нет, но перезагрузка помогает избежать артефактов в системных сервисах.
  • Можно ли сменить локаль без ПК и без приложений?
    • Да: через Настройки → Система → Языки и ввод. Для редких локалей может понадобиться MoreLocale 2.
  • Требуется ли root для изменения системной локали?
    • Нет: ADB-метод работает на большинстве устройств Android 13+ без root.
  • Как узнать код локали?
    • Формат: язык-регион, например ru-RU, en-US, fr-FR, zh-CN.

Если после всех шагов локаль всё ещё некорректна, сделайте резервную копию данных и сбросьте настройки — при первом запуске после сброса система предложит выбрать язык и регион заново.