Languager is an Xposed module that allows you to change the language of specific Android applications, without changing your system language. This is particularly useful against apps that enforce system language settings or buggy apps that fail to show the selected language from app's settings.
- Per-App Language Selection: Choose a different language for each app independently
- Comprehensive Language Support: 26+ languages available including English, French, German, Spanish, Italian, Portuguese, Russian, Chinese, Japanese, Korean, Arabic, Hebrew, Hindi, and many more
- User-Friendly Interface: Easy-to-use UI with app search functionality and intuitive language selection
- Wide Compatibility: Works on Android 5.0+ (API 21+) with support for both older and newer Android versions
- Efficient Hooking Mechanism: Hooks all locale-related methods to ensure complete language spoofing
-
Language Spoofing Mechanism:
- Uses Xposed framework for comprehensive method hooking
- Targets all locale-related methods across different API levels:
Configuration.getLocales()
(API 24+)Configuration.getLocale()
(API < 24)Configuration.locale
propertyResources.getConfiguration().locale
Locale.getDefault()
Locale.getDefault(Category)
(API 24+)LocaleList.getDefault()
(API 24+)LocaleList.getAdjustedDefault()
(API 24+)
- Dynamically replaces system locale with user-selected language
- Handles API differences between Android versions
-
Shared Preferences:
- Uses XSharedPreferences for cross-process configuration storage
- Implements world-readable preferences for Xposed module access
- Direct key-value storage for app-language mappings
- Android device with Xposed framework installed (LSPosed, EdXposed, etc.)
- Android 5.0+ (API 21+)
- Install the Languager APK
- Enable the module in your Xposed framework manager
- Select the apps you want to apply language spoofing to
- Reboot your device
- Open the Languager app to configure language settings for each app
You can also install Languager directly from the LSPosed repository:
- Open LSPosed Manager
- Go to Repository tab
- Add the repository URL:
https://mon231.github.io/com.rel.languager
- Find Languager in the list and install it
- Enable the module and reboot
- Open the Languager app
- Use the search bar to find specific apps
- Select your preferred language for each app from the dropdown menu
- Click "Save Settings" to apply changes
- Reboot or restart the target apps for changes to take effect
- English
- French (Français)
- German (Deutsch)
- Spanish (Español)
- Italian (Italiano)
- Portuguese (Português)
- Russian (Русский)
- Chinese (中文)
- Japanese (日本語)
- Korean (한국어)
- Arabic (العربية)
- Hebrew (עברית)
- Hindi (हिन्दी)
- Bengali (বাংলা)
- Punjabi (ਪੰਜਾਬੀ)
- Tamil (தமிழ்)
- Telugu (తెలుగు)
- Malayalam (മലയാളം)
- Thai (ไทย)
- Vietnamese (Tiếng Việt)
- Indonesian (Bahasa Indonesia)
- Malay (Bahasa Melayu)
- Turkish (Türkçe)
- Dutch (Nederlands)
- Polish (Polski)
- Swedish (Svenska)
- Preference Handling: Uses
MODE_WORLD_READABLE
with LSPosed'sxposedsharedprefs
flag for secure preference sharing - Dynamic Locale Creation: Creates locale objects for all supported languages
- API Level Detection: Automatically detects device API level and uses appropriate hooking methods
- UI Optimization: Efficient app list loading with search functionality
- Compatibility Layers: Special handling for different Android versions and manufacturer customizations
- Android Studio 4.0+
- JDK 11+
- Gradle 7.0+
-
Clone the repository:
git clone https://github.com/mon231/com.rel.languager languager cd languager
-
Build:
./gradlew clean assembleDebug
-
Find the APK at
app/build/outputs/apk/debug/app-debug.apk
- Module not working: Make sure it's enabled in LSPosed/EdXposed Manager
- Language not changing: Try restarting the app or rebooting your device