Skip to content

Commit dc64c83

Browse files
committed
feat: Update locality language word
Signed-off-by: Hu Shenghao <dede.hu@qq.com>
1 parent 9e3b905 commit dc64c83

File tree

13 files changed

+124
-113
lines changed

13 files changed

+124
-113
lines changed

app/src/main/java/com/dede/android_eggs/views/settings/compose/prefs/LanguagePref.kt

Lines changed: 41 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ import androidx.compose.ui.unit.LayoutDirection
4747
import androidx.compose.ui.unit.dp
4848
import androidx.core.os.LocaleListCompat
4949
import com.dede.android_eggs.BuildConfig
50-
import com.dede.android_eggs.R
5150
import com.dede.android_eggs.views.settings.compose.basic.ExpandOptionsPref
5251
import com.dede.android_eggs.views.settings.compose.basic.Option
5352
import com.dede.android_eggs.views.settings.compose.basic.OptionShapes
@@ -100,49 +99,44 @@ object LanguagePrefUtil {
10099
private const val BURMESE = 34 // my-MM
101100
private const val BENGALI = 35 // bn-BD
102101

103-
class LangOp(
104-
val value: Int,
105-
@StringRes val titleRes: Int,
106-
@StringRes val localeTitleRes: Int,
107-
val locale: Locale
108-
)
102+
class LangOp(val value: Int, @StringRes val langRes: Int, val locale: Locale)
109103

110104
// @formatter:off
111105
private val languageOptions = listOf(
112-
LangOp(SIMPLIFIED_CHINESE, R.string.language_zh_SC, StringsR.string.locale_lang_zh_SC, Locale.SIMPLIFIED_CHINESE),
113-
LangOp(TRADITIONAL_CHINESE, R.string.language_zh_TC, StringsR.string.locale_lang_zh_TC, Locale.TRADITIONAL_CHINESE),
114-
LangOp(ENGLISH, R.string.language_en, StringsR.string.locale_lang_en, Locale.ENGLISH),
115-
LangOp(RUSSIAN, R.string.language_ru, StringsR.string.locale_lang_ru, createLocale("ru")),
116-
LangOp(ITALIAN, R.string.language_it, StringsR.string.locale_lang_it, Locale.ITALIAN),
117-
LangOp(GERMANY, R.string.language_de, StringsR.string.locale_lang_de, Locale.GERMANY),
118-
LangOp(SPANISH, R.string.language_es, StringsR.string.locale_lang_es, createLocale("es")),
119-
LangOp(PORTUGAL, R.string.language_pt, StringsR.string.locale_lang_pt, createLocale("pt")),
120-
LangOp(PORTUGAL_BRAZIL, R.string.language_pt_BR, StringsR.string.locale_lang_pt_BR, createLocale("pt", "BR")),
121-
LangOp(INDONESIA, R.string.language_in_ID, StringsR.string.locale_lang_in_ID, createLocale("in", "ID")),
122-
LangOp(ARABIC, R.string.language_ar_SA, StringsR.string.locale_lang_ar_SA, createLocale("ar", "SA")),
123-
LangOp(CROATIAN, R.string.language_hr_HR, StringsR.string.locale_lang_hr_HR, createLocale("hr", "HR")),
124-
LangOp(FRENCH, R.string.language_fr, StringsR.string.locale_lang_fr, Locale.FRENCH),
125-
LangOp(POLISH, R.string.language_pl_PL, StringsR.string.locale_lang_pl_PL, createLocale("pl", "PL")),
126-
LangOp(DUTCH, R.string.language_nl_NL, StringsR.string.locale_lang_nl_NL, createLocale("nl", "NL")),
127-
//LangOp(LATIN, R.string.language_la_LA, StringsR.string.locale_lang_la_LA, createLocale("la", "LA")),
128-
LangOp(TURKISH, R.string.language_tr_TR, StringsR.string.locale_lang_tr_TR, createLocale("tr", "TR")),
129-
LangOp(UKRAINIAN, R.string.language_uk_UA, StringsR.string.locale_lang_uk_UA, createLocale("uk", "UA")),
130-
LangOp(JAPANESE, R.string.language_ja_JP, StringsR.string.locale_lang_ja_JP, Locale.JAPAN),
131-
LangOp(KOREAN_KOREA, R.string.language_ko_KR, StringsR.string.locale_lang_ko_KR, createLocale("ko","KR")),
132-
LangOp(GREEK, R.string.language_el_GR, StringsR.string.locale_lang_el_GR, createLocale("el", "GR")),
133-
LangOp(FINNISH, R.string.language_fi_FI, StringsR.string.locale_lang_fi_FI, createLocale("fi", "FI")),
134-
LangOp(VIETNAMESE, R.string.language_vi_VN, StringsR.string.locale_lang_vi_VN, createLocale("vi", "VN")),
135-
LangOp(HUNGARIAN, R.string.language_hu_HU, StringsR.string.locale_lang_hu_HU, createLocale("hu", "HU")),
136-
LangOp(THAI, R.string.language_th_TH, StringsR.string.locale_lang_th_TH, createLocale("th", "TH")),
137-
LangOp(NORWEGIAN, R.string.language_no_NO, StringsR.string.locale_lang_no_NO, createLocale("no", "NO")),
138-
LangOp(FILIPINO, R.string.language_fil_PH, StringsR.string.locale_lang_fil_PH, createLocale("fil", "PH")),
139-
LangOp(LAO, R.string.language_lo_LA, StringsR.string.locale_lang_lo_LA, createLocale("lo", "LA")),
140-
LangOp(CZECH, R.string.language_cs_CZ, StringsR.string.locale_lang_cs_CZ, createLocale("cs", "CZ")),
141-
LangOp(TAMIL, R.string.language_ta, StringsR.string.locale_lang_ta, createLocale("ta","IN")),
142-
LangOp(ROMANIAN, R.string.language_ro, StringsR.string.locale_lang_ro, createLocale("ro","RO")),
143-
LangOp(SWEDISH, R.string.language_sv_SE, StringsR.string.locale_lang_sv_SE, createLocale("sv","SE")),
144-
LangOp(BURMESE, R.string.language_my_MM, StringsR.string.locale_lang_my_MM, createLocale("my","MM")),
145-
LangOp(BENGALI, R.string.language_bn_BD, StringsR.string.locale_lang_bn_BD, createLocale("bn","BD")),
106+
LangOp(SIMPLIFIED_CHINESE, StringsR.string.locale_lang_zh_SC, Locale.SIMPLIFIED_CHINESE),
107+
LangOp(TRADITIONAL_CHINESE, StringsR.string.locale_lang_zh_TC, Locale.TRADITIONAL_CHINESE),
108+
LangOp(ENGLISH, StringsR.string.locale_lang_en, Locale.ENGLISH),
109+
LangOp(RUSSIAN, StringsR.string.locale_lang_ru, createLocale("ru")),
110+
LangOp(ITALIAN, StringsR.string.locale_lang_it, Locale.ITALIAN),
111+
LangOp(GERMANY, StringsR.string.locale_lang_de, Locale.GERMANY),
112+
LangOp(SPANISH, StringsR.string.locale_lang_es, createLocale("es")),
113+
LangOp(PORTUGAL, StringsR.string.locale_lang_pt, createLocale("pt")),
114+
LangOp(PORTUGAL_BRAZIL, StringsR.string.locale_lang_pt_BR, createLocale("pt", "BR")),
115+
LangOp(INDONESIA, StringsR.string.locale_lang_in_ID, createLocale("in", "ID")),
116+
LangOp(ARABIC, StringsR.string.locale_lang_ar_SA, createLocale("ar", "SA")),
117+
LangOp(CROATIAN, StringsR.string.locale_lang_hr_HR, createLocale("hr", "HR")),
118+
LangOp(FRENCH, StringsR.string.locale_lang_fr, Locale.FRENCH),
119+
LangOp(POLISH, StringsR.string.locale_lang_pl_PL, createLocale("pl", "PL")),
120+
LangOp(DUTCH, StringsR.string.locale_lang_nl_NL, createLocale("nl", "NL")),
121+
// LangOp(LATIN, StringsR.string.locale_lang_la_LA, createLocale("la", "LA")),
122+
LangOp(TURKISH, StringsR.string.locale_lang_tr_TR, createLocale("tr", "TR")),
123+
LangOp(UKRAINIAN, StringsR.string.locale_lang_uk_UA, createLocale("uk", "UA")),
124+
LangOp(JAPANESE, StringsR.string.locale_lang_ja_JP, Locale.JAPAN),
125+
LangOp(KOREAN_KOREA, StringsR.string.locale_lang_ko_KR, createLocale("ko","KR")),
126+
LangOp(GREEK, StringsR.string.locale_lang_el_GR, createLocale("el", "GR")),
127+
LangOp(FINNISH, StringsR.string.locale_lang_fi_FI, createLocale("fi", "FI")),
128+
LangOp(VIETNAMESE, StringsR.string.locale_lang_vi_VN, createLocale("vi", "VN")),
129+
LangOp(HUNGARIAN, StringsR.string.locale_lang_hu_HU, createLocale("hu", "HU")),
130+
LangOp(THAI, StringsR.string.locale_lang_th_TH, createLocale("th", "TH")),
131+
LangOp(NORWEGIAN, StringsR.string.locale_lang_no_NO, createLocale("no", "NO")),
132+
LangOp(FILIPINO, StringsR.string.locale_lang_fil_PH, createLocale("fil", "PH")),
133+
LangOp(LAO, StringsR.string.locale_lang_lo_LA, createLocale("lo", "LA")),
134+
LangOp(CZECH, StringsR.string.locale_lang_cs_CZ, createLocale("cs", "CZ")),
135+
LangOp(TAMIL, StringsR.string.locale_lang_ta, createLocale("ta","IN")),
136+
LangOp(ROMANIAN, StringsR.string.locale_lang_ro, createLocale("ro","RO")),
137+
LangOp(SWEDISH, StringsR.string.locale_lang_sv_SE, createLocale("sv","SE")),
138+
LangOp(BURMESE, StringsR.string.locale_lang_my_MM, createLocale("my","MM")),
139+
LangOp(BENGALI, StringsR.string.locale_lang_bn_BD, createLocale("bn","BD")),
146140
)
147141
// @formatter:on
148142

@@ -221,7 +215,7 @@ object LanguagePrefUtil {
221215
return languageOptions.sortedWith(LangOpComparator(context))
222216
}
223217

224-
private class LangOpComparator(val context: Context) : Comparator<LangOp> {
218+
private class LangOpComparator(private val context: Context) : Comparator<LangOp> {
225219

226220
private val LangOp.compareValue: Int
227221
get() = when (value) {
@@ -231,7 +225,7 @@ object LanguagePrefUtil {
231225
}
232226

233227
private val LangOp.compareName: String
234-
get() = context.getString(titleRes)
228+
get() = toLocalContext(context).getString(langRes)
235229

236230
override fun compare(o1: LangOp, o2: LangOp): Int {
237231
var r = o1.compareValue.compareTo(o2.compareValue)
@@ -294,7 +288,7 @@ fun LanguagePref() {
294288
if (langOp != null) {
295289
ValueOption(
296290
leadingIcon = imageVectorIconBlock(imageVector = Icons.Rounded.Spellcheck),
297-
title = stringResource(id = langOp.titleRes),
291+
title = stringResource(id = langOp.langRes),
298292
trailingContent = radioButtonBlock(languageOptionValue == langOp.value),
299293
onOptionClick = onOptionClick,
300294
value = langOp.value
@@ -365,17 +359,18 @@ private fun LanguageSelectedDialog(
365359
Box(modifier = Modifier.padding(start = 14.dp, end = 16.dp)) {
366360
RadioButton(selected = selectedLangOp == it, onClick = null)
367361
}
362+
val itemLocaleContext = remember(it) { it.toLocalContext(basicContext) }
368363
Column(
369364
modifier = Modifier
370365
.weight(1f)
371366
.padding(vertical = 4.dp)
372367
) {
373368
Text(
374-
text = localeContext.getString(it.titleRes),
369+
text = itemLocaleContext.getString(it.langRes),
375370
style = MaterialTheme.typography.titleMedium
376371
)
377372
Text(
378-
text = localeContext.getString(it.localeTitleRes),
373+
text = localeContext.getString(it.langRes),
379374
style = MaterialTheme.typography.bodySmall,
380375
)
381376
}

app/src/main/res/values/strings.xml

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -19,38 +19,4 @@
1919
<string name="android_version_format" translatable="false">Android %s</string>
2020
<string name="api_version_format" translatable="false">API %s</string>
2121

22-
<string name="language_zh_SC" translatable="false">简体中文</string>
23-
<string name="language_zh_TC" translatable="false">繁體中文</string>
24-
<string name="language_de" translatable="false">Deutsch</string>
25-
<string name="language_en" translatable="false">English</string>
26-
<string name="language_es" translatable="false">Español</string>
27-
<string name="language_hr_HR" translatable="false">Hrvatski</string>
28-
<string name="language_in_ID" translatable="false">Indonesia</string>
29-
<string name="language_it" translatable="false">Italiano</string>
30-
<string name="language_pt" translatable="false">Portugal</string>
31-
<string name="language_pt_BR" translatable="false">Portugal (Brasil)</string>
32-
<string name="language_ru" translatable="false">Русский</string>
33-
<string name="language_ar_SA" translatable="false">العربية</string>
34-
<string name="language_ja_JP" translatable="false">日本語</string>
35-
<string name="language_pl_PL" translatable="false">Polski</string>
36-
<string name="language_nl_NL" translatable="false">Nederlands</string>
37-
<string name="language_la_LA" translatable="false">Latīna</string>
38-
<string name="language_fr" translatable="false">Français</string>
39-
<string name="language_uk_UA" translatable="false">Українська</string>
40-
<string name="language_tr_TR" translatable="false">Türkçe</string>
41-
<string name="language_ko_KR" translatable="false">한국어</string>
42-
<string name="language_el_GR" translatable="false">Ελληνικά</string>
43-
<string name="language_fi_FI" translatable="false">Suomi kieli</string>
44-
<string name="language_vi_VN" translatable="false">Tiếng Việt</string>
45-
<string name="language_hu_HU" translatable="false">Magyar</string>
46-
<string name="language_th_TH" translatable="false">ภาษาไทย</string>
47-
<string name="language_no_NO" translatable="false">Norsk</string>
48-
<string name="language_fil_PH" translatable="false">Filipino</string>
49-
<string name="language_lo_LA" translatable="false">ພາສາລາວ</string>
50-
<string name="language_cs_CZ" translatable="false">Čeština</string>
51-
<string name="language_ta" translatable="false">தமிழ்</string>
52-
<string name="language_ro" translatable="false">Română</string>
53-
<string name="language_sv_SE" translatable="false">Svenska</string>
54-
<string name="language_my_MM" translatable="false">မြန်မာ</string>
55-
<string name="language_bn_BD" translatable="false">বাংলা</string>
5622
</resources>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<!-- locality language -->
4+
<string name="locale_lang_fi_FI">Suomi kieli</string>
5+
</resources>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<!-- locality language -->
4+
<string name="locale_lang_fil_PH">Filipino</string>
5+
</resources>
Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,37 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<resources>
33
<!-- locality language -->
4-
<string name="locale_lang_zh_SC">kineski (jednostavni)</string>
5-
<string name="locale_lang_zh_TC">kineski (tradicionalni)</string>
6-
<string name="locale_lang_de">njemački</string>
7-
<string name="locale_lang_en">engleski</string>
8-
<string name="locale_lang_es">španjolski</string>
9-
<string name="locale_lang_hr_HR">hrvatski</string>
10-
<string name="locale_lang_in_ID">indonezijski</string>
11-
<string name="locale_lang_it">talijanski</string>
12-
<string name="locale_lang_pt">portugalski</string>
13-
<string name="locale_lang_pt_BR">portugalski (Brazil)</string>
14-
<string name="locale_lang_ru">ruski</string>
15-
<string name="locale_lang_ar_SA">arapski</string>
16-
<string name="locale_lang_ja_JP">japanski</string>
17-
<string name="locale_lang_pl_PL">poljski</string>
18-
<string name="locale_lang_nl_NL">nizozemski</string>
19-
<string name="locale_lang_la_LA">latinski</string>
20-
<string name="locale_lang_fr">francuski</string>
21-
<string name="locale_lang_uk_UA">ukrajinski</string>
22-
<string name="locale_lang_tr_TR">turski</string>
23-
<string name="locale_lang_ko_KR">korejski</string>
24-
<string name="locale_lang_el_GR">grčki</string>
25-
<string name="locale_lang_fi_FI">finski</string>
26-
<string name="locale_lang_vi_VN">vijetnamski</string>
27-
<string name="locale_lang_hu_HU">mađarski</string>
28-
<string name="locale_lang_th_TH">tajski</string>
29-
<string name="locale_lang_no_NO">norveški</string>
30-
<string name="locale_lang_fil_PH">filipinski</string>
31-
<string name="locale_lang_lo_LA">laoski</string>
32-
<string name="locale_lang_cs_CZ">češki</string>
33-
<string name="locale_lang_ta">tamilski</string>
34-
<string name="locale_lang_ro">rumunjski</string>
35-
<string name="locale_lang_sv_SE">švedski</string>
36-
<string name="locale_lang_my_MM">burmanski</string>
4+
<string name="locale_lang_zh_SC">Kineski (jednostavni)</string>
5+
<string name="locale_lang_zh_TC">Kineski (tradicionalni)</string>
6+
<string name="locale_lang_de">Njemački</string>
7+
<string name="locale_lang_en">Engleski</string>
8+
<string name="locale_lang_es">Španjolski</string>
9+
<string name="locale_lang_hr_HR">Hrvatski</string>
10+
<string name="locale_lang_in_ID">Indonezijski</string>
11+
<string name="locale_lang_it">Talijanski</string>
12+
<string name="locale_lang_pt">Portugalski</string>
13+
<string name="locale_lang_pt_BR">Portugalski (Brazil)</string>
14+
<string name="locale_lang_ru">Ruski</string>
15+
<string name="locale_lang_ar_SA">Arapski</string>
16+
<string name="locale_lang_ja_JP">Japanski</string>
17+
<string name="locale_lang_pl_PL">Poljski</string>
18+
<string name="locale_lang_nl_NL">Nizozemski</string>
19+
<string name="locale_lang_la_LA">Latinski</string>
20+
<string name="locale_lang_fr">Francuski</string>
21+
<string name="locale_lang_uk_UA">Ukrajinski</string>
22+
<string name="locale_lang_tr_TR">Turski</string>
23+
<string name="locale_lang_ko_KR">Korejski</string>
24+
<string name="locale_lang_el_GR">Grčki</string>
25+
<string name="locale_lang_fi_FI">Finski</string>
26+
<string name="locale_lang_vi_VN">Vijetnamski</string>
27+
<string name="locale_lang_hu_HU">Mađarski</string>
28+
<string name="locale_lang_th_TH">Tajski</string>
29+
<string name="locale_lang_no_NO">Norveški</string>
30+
<string name="locale_lang_fil_PH">Filipinski</string>
31+
<string name="locale_lang_lo_LA">Laoski</string>
32+
<string name="locale_lang_cs_CZ">Češki</string>
33+
<string name="locale_lang_ta">Tamilski</string>
34+
<string name="locale_lang_ro">Rumunjski</string>
35+
<string name="locale_lang_sv_SE">Švedski</string>
36+
<string name="locale_lang_my_MM">Burmanski</string>
3737
</resources>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<!-- locality language -->
4+
<string name="locale_lang_in_ID">Indonesia</string>
5+
</resources>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<!-- locality language -->
4+
<string name="locale_lang_la_LA">Latīna</string>
5+
</resources>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<!-- locality language -->
4+
<string name="locale_lang_lo_LA">ພາສາລາວ</string>
5+
</resources>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<!-- locality language -->
4+
<string name="locale_lang_nl_NL">Nederlands</string>
5+
</resources>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<!-- locality language -->
4+
<string name="locale_lang_no_NO">Norsk</string>
5+
</resources>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<!-- locality language -->
4+
<string name="locale_lang_sv_SE">Svenska</string>
5+
</resources>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<!-- locality language -->
4+
<string name="locale_lang_th_TH">ภาษาไทย</string>
5+
</resources>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<!-- locality language -->
4+
<string name="locale_lang_vi_VN">Tiếng Việt</string>
5+
</resources>

0 commit comments

Comments
 (0)