Rainytoken/app/src/main/java/com/rainy/token/RainyTokenApplication.kt
WaterRain 4107954080
feat: 应用内语言切换(跟随系统/简/繁/英)+ 繁体中文支持 + 应用名/署名分语言
- 新增 LocaleManager:语言偏好存 SharedPreferences,createConfigurationContext
  + LocaleList 包装 Application/MainActivity 的 attachBaseContext(零新依赖)
- 设置页新增语言卡片与选择对话框:跟随系统 / 简体中文 / 繁體中文 / English
- 新增繁体中文 values-b+zh+Hant(434 条,OpenCC s2twp 台湾标准转换+人工修正)
- 简体目录改为 values-b+zh+Hans(BCP-47,与繁体对称;AGP9 不接受 values-zh-Hans)
- widget_brand 可翻译:英=Rainy / 简繁=雨晴喵;app_name 可翻译:英=RainyToken / 简繁=雨晴Token
- 资源三语言 434/434/434 对齐,占位符零差异
2026-08-01 13:43:05 +00:00

31 lines
937 B
Kotlin
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.rainy.token
import android.app.Application
import android.content.Context
import dagger.hilt.android.HiltAndroidApp
/**
* RainyToken 入口 Application。
*
* @HiltAndroidApp 触发 Hilt 组件树的生成(SingletonComponent 等),
* 整个 APP 的所有 @Inject 依赖都依赖它。
*/
@HiltAndroidApp
class RainyTokenApplication : Application() {
override fun attachBaseContext(base: Context) {
// 应用内语言偏好(跟随系统 / 中文 / English)在 Application 层生效,
// 保证 appContext 与系统级回调(如小组件)之外的代码都使用所选语言。
super.attachBaseContext(com.rainy.token.util.LocaleManager.wrapContext(base))
}
override fun onCreate() {
super.onCreate()
appContext = applicationContext
}
companion object {
@Volatile
lateinit var appContext: Context
private set
}
}