Skip to content

feat: 앱별 언어 설정(시스템) 노출#628

Merged
JuTaK97 merged 1 commit into
developfrom
feat/per-app-language-setting
Jun 27, 2026
Merged

feat: 앱별 언어 설정(시스템) 노출#628
JuTaK97 merged 1 commit into
developfrom
feat/per-app-language-setting

Conversation

@JuTaK97

@JuTaK97 JuTaK97 commented Jun 27, 2026

Copy link
Copy Markdown
Collaborator

요약

Android 13(API 33)+ 시스템 설정의 "앱별 언어 설정"한국어 / English 선택지가 노출되도록 localeConfig 를 추가합니다.

기존에 res/values(한국어) + res/values-en(영어) 리소스는 이미 갖춰져 있었으나, localeConfig 가 없어 시스템 언어 선택 UI 가 뜨지 않았습니다.

변경 사항

  • app/build.gradle.kts: androidResources { generateLocaleConfig = true }
    • AGP 가 res/values-* 를 스캔해 _generated_res_locale_config 를 빌드 시 자동 생성하고, 병합 매니페스트에 android:localeConfig 를 자동 주입합니다.
    • 향후 언어를 추가하면 자동으로 목록에 반영됩니다.
  • app/src/main/res/resources.properties (신규): unqualifiedResLocale=ko-KR
    • 기본 res/values 가 한국어임을 명시합니다.

ℹ️ 자동 생성 방식에서는 AndroidManifest.xmllocaleConfig직접 선언하면 안 됩니다 (AGP 가 주입하므로 충돌). 그래서 매니페스트는 변경하지 않았습니다.

검증

  • mergeDevDebugResources 로 생성 확인:
    <locale-config ... android:defaultLocale="ko-KR">
        <locale android:name="ko-KR"/>
        <locale android:name="en"/>
    </locale-config>
  • processDevDebugMainManifest 병합 결과에 android:localeConfig="@xml/_generated_res_locale_config" 자동 주입 확인.
  • ktlintFormat 통과.

범위 / 참고

  • 이번 PR 은 시스템 설정 노출(API 33+) 만을 목표로 합니다.
  • API 33 미만(minSdk 24~32) 기기에서의 인앱 언어 전환은 범위에 포함하지 않았습니다 (필요 시 AppCompat 연동을 추가하면 됩니다).

Android 13+ 시스템 '앱별 언어 설정'에 한국어/영어 선택지가 노출되도록
AGP localeConfig 자동 생성을 활성화한다.

- androidResources.generateLocaleConfig = true: res/values-* 스캔해
  _generated_res_locale_config 를 빌드 시 자동 생성, 매니페스트에 자동 주입
- resources.properties 의 unqualifiedResLocale=ko-KR 로 기본 리소스 언어 명시
@JuTaK97 JuTaK97 requested a review from a team as a code owner June 27, 2026 01:00
@JuTaK97 JuTaK97 merged commit 09c9bea into develop Jun 27, 2026
2 checks passed
@JuTaK97 JuTaK97 deleted the feat/per-app-language-setting branch June 27, 2026 01:08
@JuTaK97 JuTaK97 mentioned this pull request Jul 10, 2026
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