Skip to content

android: in-app language picker + Korean translation - #808

Open
QuerTeal wants to merge 2 commits into
librepods-org:android/rewritefrom
QuerTeal:feat/language-picker-korean
Open

QuerTeal wants to merge 2 commits into
librepods-org:android/rewritefrom
QuerTeal:feat/language-picker-korean

Conversation

@QuerTeal

@QuerTeal QuerTeal commented Sep 27, 2026 •

Copy link
Copy Markdown

Summary

In-app language picker

  • Adds a Language section to the app settings. It lists System default plus every locale in the generated locale config (generateLocaleConfig = true, read via LocaleConfig).
  • Each language is shown by its own display name (e.g. 한국어, Deutsch).
  • It uses LocaleManager.setApplicationLocales() (minSdk is 33), so the choice is the same per-app language setting found in the system settings.
  • The section is placed outside the hasConnectedToAACP / premium block, so it is always reachable.
  • Adds two new strings to values/: language and system_default.

Korean translation (values-ko)

  • All 344 translatable strings are translated.
  • AirPods feature names follow Apple's official Korean terminology from the Korean AirPods User Guide (support.apple.com/ko-kr/guide/airpods). A few notable ones where the "obvious" translation differs from Apple's:
English Apple Korean
Conversational Awareness 대화 인지
Noise Cancellation 노이즈 캔슬링
Transparency 주변음 허용
Personalized Volume 개인 맞춤형 음량
Automatic Ear Detection 자동으로 착용 감지
Noise Cancellation with Single AirPod AirPod 한 개 착용 시 노이즈 캔슬링
Conversation Boost 대화 부스트
Pause media when falling asleep 잠들면 미디어 일시 정지
Camera Remote 카메라 리모컨
  • Product names are kept in Latin script (AirPods, AirPod, Bluetooth), as Apple does.
  • Format arguments were checked against values/ and all of them match.

Not covered: about 100 UI strings are hardcoded in Kotlin (e.g. NoiseControlWidgetConfigurationActivity, HeartRateScreen, DebugScreen) and remain English. Moving them to resources could be a follow-up PR.

Testing

  • assembleFossDebug builds.
  • The generated _generated_res_locale_config.xml now includes ko.
  • A script check confirmed that values-ko covers every translatable key in values/ with matching format arguments.
  • Installed on a Galaxy S26 Ultra (system locale ko-KR, One UI 9.0). Per-app locale is unset (cmd locale get-app-locales → []), so System default resolves to values-ko.
  • Verified on device: switching languages from the picker recreates the UI in the selected language.

🤖 Generated with Claude Code

QuerTeal and others added 2 commits September 28, 2026 00:26
Adds a Language section to the app settings listing the locales from the
generated locale config, plus System default. Uses LocaleManager
(minSdk is 33), so the choice is the same per-app language setting as in
the system settings. It is shown regardless of connection/premium state.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Translates all strings. AirPods feature names follow Apple's official
Korean terminology from the Korean AirPods User Guide
(support.apple.com/ko-kr/guide/airpods), e.g. 대화 인지 (Conversation
Awareness), 노이즈 캔슬링, 주변음 허용, 개인 맞춤형 음량, 자동으로 착용 감지.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@QuerTeal
QuerTeal marked this pull request as ready for review September 27, 2026 15:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant