Skip to content

Releases: TakeruF/android-perapp-language-selector

Per-App Language 1.0.6

Choose a tag to compare

@TakeruF TakeruF released this 12 Oct 21:32

Per-App Language 1.0.6 (versionCode 10)

  • Added app-list filters for all apps, configured apps, unconfigured apps, and each assigned language, with counts.
  • Language filters update automatically as assignments change. Apps whose locale state could not be read are excluded from the unconfigured filter.
  • Added support contact information and an email action in Help: support@takeruf.com.
  • Added localized filter and support text in English, Japanese, Simplified Chinese, Korean, French, and Spanish.

Android 13 or newer and Shizuku (or Sui) are required.

This release uses com.takeruf.perapplocale and updates version 1.0.5 in place. Versions 1.0.4 and earlier use dev.takeru.perapplocale, so this APK installs as a separate app from those versions. Local preferences do not transfer from the old app; grant Shizuku permission to the new app. Existing target-app language settings are managed by Android.

Download the signed per-app-language-v1.0.6.apk below. AAB files are reserved for Google Play.

APK SHA-256: 3cce7524b7a8bfc06e75ef43eed2a83f7ed2fb500a444fbce9fa8d036aee2e37

Signing certificate SHA-256: a36f6aa66c975c3fc2d2b2d4c424dbb911cbef08b4e16532eba82acd6d7468cc

Validation: 10 unit tests passed; release Lint completed successfully; APK signature and package/version metadata verified. Physical-device testing was not performed for this publication.

Per-App Language 1.0.5

Choose a tag to compare

@TakeruF TakeruF released this 04 Oct 11:13

We strongly recommend using the Google Play version. We will provide a link once it is publicly available. Thank you for your patience.

Per-App Language 1.0.5 (versionCode 9)

  • Changed the Android application ID to com.takeruf.perapplocale, including source packages, shortcuts, provider authority, and release documentation.
  • Updated the in-app privacy policy link to https://takeruf.com/en/projects/per-app-language/privacy.
  • Prepared a separate Google Play app with the existing localized descriptions and screenshots. The new Play app is not publicly available yet.

This APK installs as a separate app from versions using dev.takeru.perapplocale. Local preferences do not transfer; grant Shizuku permission to the new app. Existing target-app language settings are managed by Android.

Android 13 or newer and Shizuku (or Sui) are required.

Download the signed per-app-language-v1.0.5.apk below. AAB files are reserved for Google Play.

SHA-256: ed520f58eb645d6e4e4edd203c9a3bea45d988ec362da6ea0bf8dade3edc9418

Validation: 6 unit tests passed; release Lint completed without errors; APK signature verified.

Signing certificate SHA-256: a36f6aa66c975c3fc2d2b2d4c424dbb911cbef08b4e16532eba82acd6d7468cc

Per-App Language 1.0.4

Choose a tag to compare

@TakeruF TakeruF released this 09 Sep 11:21

Direct download

  • Installable APK: per-app-language-v1.0.4.apk
  • SHA-256: 97c4cff1f82fcacd91ae4620de1594db88fad9a857d3f0ed314bc8760a6565b1

This release includes the Google Play migration guidance and the release-artifact policy. Google Play is under review and will be available soon.

The Android App Bundle is uploaded only to Google Play Console and is not a GitHub Release asset.

v1.0.3+6

Choose a tag to compare

@TakeruF TakeruF released this 04 Sep 08:18

Clone profile support

  • Lists Android clone-profile app instances separately from their originals.
  • Uses package plus profile identity for locale apply, reset, bulk changes, force-stop, and safe relaunch.
  • Stores cached assignments using Android user serial numbers.

v1.0.3+5

Choose a tag to compare

@TakeruF TakeruF released this 04 Sep 08:17

Clone profile support

  • Lists Android clone-profile app instances separately from their originals.
  • Uses package plus profile identity for locale apply, reset, bulk changes, and force-stop.
  • Stores cached assignments using the stable Android user serial number.
  • Safely attempts clone-profile relaunch without opening the owner app.

Per-App Language 1.0.2 (4)

Choose a tag to compare

@TakeruF TakeruF released this 29 Aug 10:41

Per-App Language 1.0.2 (versionCode 4)

Highlights

  • Select multiple apps and apply one language to all of them in a single confirmed operation.
  • Reset every per-app language override from a launcher shortcut, with confirmation before changes are made.
  • Improved selection, busy-state, and partial-result feedback for bulk operations.
  • Localized the new workflows in English, Japanese, Simplified Chinese, Korean, Spanish, and French.
  • Refreshed the launcher icon, monochrome icon, and localized store visuals.

Requirements

  • Android 13 (API 33) or newer
  • Shizuku running and authorized for changing other apps
  • Root is not required

Verification

  • Signed release APK, verified with APK Signature Scheme v2
  • APK SHA-256: 2e76a7311c23755b866937864dd2b6f000450e9b81c7e143cc1c217bacd5b7cc
  • Signing certificate SHA-256: a36f6aa66c975c3fc2d2b2d4c424dbb911cbef08b4e16532eba82acd6d7468cc (matches the previous release)
  • Clean release APK/AAB builds and Android lint passed

Full Changelog: v1.0.1+3...v1.0.2+4

Per-App Language 1.0.1 (3)

Choose a tag to compare

@TakeruF TakeruF released this 26 Aug 10:35

Per-App Language 1.0.1 (versionCode 3)

Highlights

  • Places Per-App Language at the top of the installed-app list.
  • Shows the selected app’s officially declared languages in a dedicated section when available.
  • Keeps device languages ahead of the app’s official list and groups the remaining catalogue under Other languages.
  • Preserves the existing full-language catalogue, search, and Shizuku locale operations.

Requirements

  • Android 13 (API 33) or newer
  • Shizuku running and authorized for changing other apps
  • Root is not required

Verification

  • Signed release APK, verified with APK Signature Scheme v2
  • APK SHA-256: 9cd1313b0ba2101e03c9993368a71dda5c57f31a59d4d432a939d106a59b1ac2
  • Release R8 build and Android lint passed
  • Google Play closed testing Alpha artifact: versionCode 3

Per-App Language 1.0.0 (2)

Choose a tag to compare

@TakeruF TakeruF released this 26 Aug 09:50

Per-App Language 1.0.0 (versionCode 2)

Highlights

  • Localized the app interface in English, Simplified Chinese, Japanese, Korean, Spanish, and French.
  • Declared all six languages through Android localeConfig.
  • Shows languages officially declared by each target app and warns before applying an undeclared locale.
  • Added copyable OEM, Android, Shizuku, locale-service, and gateway diagnostics.
  • Clarified successful locale application separately from relaunch failures.
  • Added Google Play package-visibility documentation and an OEM smoke-test matrix.

Requirements

  • Android 13 (API 33) or newer
  • Shizuku running and authorized, except when changing Per-App Language itself
  • Root is not required

Verification

  • Signed release APK, verified with APK Signature Scheme v2
  • APK SHA-256: 9cd1313b0ba2101e03c9993368a71dda5c57f31a59d4d432a939d106a59b1ac2
  • Signing certificate SHA-256: a36f6aa66c975c3fc2d2b2d4c424dbb911cbef08b4e16532eba82acd6d7468cc
  • R8 release build and Android lint passed
  • Google/AOSP API 37 privileged probe: 9/9 checks passed

This release corresponds to the Google Play closed-test artifact 1.0.0 (2).

v1.0.0

Choose a tag to compare

@TakeruF TakeruF released this 23 Aug 03:40

Per-app locale overrides for any installed app on Android 13+, written directly through Shizuku — including apps that never appear under Settings → Apps → App language.

Requirements

  • Android 13 (API 33) or newer
  • Shizuku running (or Sui on rooted devices)
  • Root not required

Install

Download PerAppLanguage-v1.0.0.apk below and install it. Start Shizuku first, then grant this app Shizuku access when prompted.

Signature

Signed release build (APK Signature Scheme v2).

  • SHA-256 certificate digest: a36f6aa66c975c3fc2d2b2d4c424dbb911cbef08b4e16532eba82acd6d7468cc

Future releases will be signed with the same key; an APK whose certificate digest differs from the above did not come from here.

See the README for what this can and cannot do — it changes the locale an app sees, it is not a translator.