Coder Social home page Coder Social logo

c0unt-zero / language-selector Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vegabobo/language-selector

0.0 0.0 0.0 485 KB

Language Selector let users select individual app languages (Android 13+)

License: Apache License 2.0

Java 4.38% Kotlin 94.88% AIDL 0.74%

language-selector's Introduction

Language Selector

Language Selector allows users to set individual app languages. It tries to replicates the behavior of the "App languages" feature introduced in Android 13.

To use this app:

  • MUST be on Android 13 or higher, there is no compatiblity with older Android versions.
  • MUST have Shizuku.

You can get this app at Releases section.

preview preview

Features

  • Set individual app languages
  • Allows selecting language from any app **
  • Quick change languages with QSTile

** Language Selector DOES NOT translate apps, it just specify a locale that will be used by application, if the desired language is supported by the app, it should be displayed as expected.

** Please note that changing locale for unsupported applications and system apps may cause unexpected behavior and is NOT RECOMMENDED.

Language availability

This app parses Locale (java.util.Locale) from Locale.getAvailableLocales(), consequently, numerous locales are present in the app, the language list is huge, if someone want to improve that, feel free to send a PR, because this way is pretty slow and languages aren't filtered accurately.

Usage

Before using this app, you MUST install and start Shizuku, the way this app works makes Shizuku MANDATORY, after that, you should follow this steps:

  1. Install "Language Selector" (check Releases)
  2. Open, grant Shizuku permissions and tap on "Proceed"
  3. Choose a app you want to select it's language.
  4. Select any language from list
  5. That is it?

Pinning languages

You can pin languages by long-pressing on desired language, pinned languages will appear at the top of the list and will also be available in the QS tile.

Quick tile

You can quick change current running app language by adding a QS tile, available tile languages are the pinned ones, if no pinned language is set, then tile will be marked as Unavailable, changing system apps language from QS is also not supported.

Background

I've made this app because MIUI doesn't seem to have app languages in Android 13 (at least on my device, running global MIUI 14/Android 13), by not having the feature, i mean, there is no option inside Settings app to change app languages individually, but since it is as Android 13 build, there is a high change that locale service is still present, if so, we can use LocaleManager to do per-app basis locale operations.

Locale manager can be acessible via ADB, using "cmd locale" command, since adb has the ability to change other app languages, i've decided to make my own "front-end" for managing application locales, so i can set languages and use this feature, even if there is no UI for app languages in stock Settings app yet.

Since ADB is required to manage other application languages, this app uses Shizuku to interact with LocaleManager APIs at privileged level, that's why Shizuku is mandatory to use this app.

If your device is running Android 13 or higher, and your ROM doesn't include any option related to the app languages, this app may be useful.

language-selector's People

Contributors

c0unt-zero avatar huajijam avatar vegabobo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.