remove language-option from appearance options

This commit is contained in:
B. Petersen 2024-08-16 13:44:31 +02:00
parent 48d9e61365
commit 49b48ef8bd
5 changed files with 1 additions and 140 deletions

View file

@ -19,7 +19,6 @@ cp $RES/values/strings.xml $RES/values-$LANG/strings.xml
touch -t 201901010000 $RES/values-$LANG/strings.xml touch -t 201901010000 $RES/values-$LANG/strings.xml
echo "$RES/values-$LANG/strings.xml added:" echo "$RES/values-$LANG/strings.xml added:"
echo "- add the name to $RES/values/arrays.xml"
echo "- if needed, language mappings can be added to .tx/config" echo "- if needed, language mappings can be added to .tx/config"
echo "- pull translations using ./scripts/tx-pull-translations.sh" echo "- pull translations using ./scripts/tx-pull-translations.sh"
echo " (on problems, 'tx -d pull' gives verbose output)" echo " (on problems, 'tx -d pull' gives verbose output)"

View file

@ -23,9 +23,7 @@ public class AppearancePreferenceFragment extends ListSummaryPreferenceFragment
super.onCreate(paramBundle); super.onCreate(paramBundle);
this.findPreference(Prefs.THEME_PREF).setOnPreferenceChangeListener(new ListSummaryListener()); this.findPreference(Prefs.THEME_PREF).setOnPreferenceChangeListener(new ListSummaryListener());
this.findPreference(Prefs.LANGUAGE_PREF).setOnPreferenceChangeListener(new ListSummaryListener());
initializeListSummary((ListPreference)findPreference(Prefs.THEME_PREF)); initializeListSummary((ListPreference)findPreference(Prefs.THEME_PREF));
initializeListSummary((ListPreference)findPreference(Prefs.LANGUAGE_PREF));
this.findPreference(Prefs.BACKGROUND_PREF).setOnPreferenceClickListener(new BackgroundClickListener()); this.findPreference(Prefs.BACKGROUND_PREF).setOnPreferenceClickListener(new BackgroundClickListener());
this.findPreference(Prefs.MESSAGE_BODY_TEXT_SIZE_PREF).setOnPreferenceChangeListener(new ListSummaryListener()); this.findPreference(Prefs.MESSAGE_BODY_TEXT_SIZE_PREF).setOnPreferenceChangeListener(new ListSummaryListener());
initializeListSummary((ListPreference) findPreference(Prefs.MESSAGE_BODY_TEXT_SIZE_PREF)); initializeListSummary((ListPreference) findPreference(Prefs.MESSAGE_BODY_TEXT_SIZE_PREF));
@ -61,12 +59,6 @@ public class AppearancePreferenceFragment extends ListSummaryPreferenceFragment
public void onStop() { public void onStop() {
super.onStop(); super.onStop();
getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener((ApplicationPreferencesActivity) getActivity()); getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener((ApplicationPreferencesActivity) getActivity());
// update the locale of the applicationContext so that the core gets the correct strings
// (for pending activities, the locale is updated by calling DynamicLanguage.onResume)
Context applicationContext = this.getActivity().getApplicationContext();
DynamicLanguage.setContextLocale(applicationContext, DynamicLanguage.getSelectedLocale(applicationContext));
DcHelper.setStockTranslations(applicationContext);
} }
public static CharSequence getSummary(Context context) { public static CharSequence getSummary(Context context) {
@ -84,25 +76,11 @@ public class AppearancePreferenceFragment extends ListSummaryPreferenceFragment
backgroundString = context.getString(R.string.custom); backgroundString = context.getString(R.string.custom);
} }
String[] languageEntries = context.getResources().getStringArray(R.array.language_entries);
String[] languageEntryValues = context.getResources().getStringArray(R.array.language_values);
int langIndex = Arrays.asList(languageEntryValues).indexOf(Prefs.getLanguage(context));
if(langIndex==0) {
Locale locale = DynamicLanguage.getSelectedLocale(context);
String localeAbbr = locale.getLanguage();
langIndex = Arrays.asList(languageEntryValues).indexOf(localeAbbr);
if(langIndex==-1 && localeAbbr.length()>2) {
langIndex = Arrays.asList(languageEntryValues).indexOf(localeAbbr.substring(0,2));
}
}
if (langIndex == -1) langIndex = 0;
// adding combined strings as "Read receipt: %1$s, Screen lock: %1$s, " // adding combined strings as "Read receipt: %1$s, Screen lock: %1$s, "
// makes things inflexible on changes and/or adds lot of additional works to programmers. // makes things inflexible on changes and/or adds lot of additional works to programmers.
// however, if needed, we can refine this later. // however, if needed, we can refine this later.
return themeEntries[themeIndex] + ", " return themeEntries[themeIndex] + ", "
+ context.getString(R.string.pref_background) + " " + backgroundString + ", " + context.getString(R.string.pref_background) + " " + backgroundString;
+ languageEntries[langIndex];
} }
private class BackgroundClickListener implements Preference.OnPreferenceClickListener { private class BackgroundClickListener implements Preference.OnPreferenceClickListener {

View file

@ -1,108 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"> <resources xmlns:tools="http://schemas.android.com/tools">
<!-- take care, language_entries and languages_values are in sync ...
... some one has to clean up this mess some day ... -->
<string-array name="language_entries">
<!-- English name: Local name: -->
<!-- zz --> <item>@string/def</item>
<!-- az Azerbaijani --> <item>Azeri</item>
<!-- in Indonesian --> <item>Bahasa Indonesia</item>
<!-- ca Catalan --> <item>Català</item>
<!-- cs Czech --> <item>Čeština</item>
<!-- da Danish --> <item>Dansk</item>
<!-- de German --> <item>Deutsch</item>
<!-- en English --> <item>English</item>
<!-- es Spanish --> <item>Español</item>
<!-- eo Esperanto --> <item>Esperanto</item>
<!-- eu Basque --> <item>Euskara</item>
<!-- fr French --> <item>Français</item>
<!-- gl Galician --> <item>Galego</item>
<!-- hr Croatian --> <item>Hrvatski</item>
<!-- it Italian --> <item>Italiano</item>
<!-- lt Lithuanian --> <item>Lietuvių kalba</item>
<!-- bqi Bakhtiari --> <item>Luri Bakhtiari</item>
<!-- hu Hungarian --> <item>Magyar nyelv</item>
<!-- nl Dutch --> <item>Nederlands</item>
<!-- nb Norwegian Bokmål --> <item>Norsk Bokmål</item>
<!-- pl Polish --> <item>Polski</item>
<!-- pt Portuguese --> <item>Português</item>
<!-- pt_BR Portuguese (Brazil) --> <item>Português do Brasil</item>
<!-- ro Romanian --> <item>Română</item>
<!-- sc Sardinian --> <item>Sardu</item>
<!-- sq Albanian --> <item>Shqip</item>
<!-- sk Slovak --> <item>Slovenčina</item>
<!-- fi Finnish --> <item>Suomi</item>
<!-- sv Swedish --> <item>Svenska</item>
<!-- vi Vietnamese --> <item>Tiếng Việt</item>
<!-- tr Turkish --> <item>Türkçe</item>
<!-- el Greek --> <item>Ελληνικά</item>
<!-- ru Russian --> <item>Pусский</item>
<!-- sr Serbian --> <item>Српски</item>
<!-- uk Ukrainian --> <item>Українська</item>
<!-- bg Bulgarian --> <item>Български</item>
<!-- ar Arabic --> <item>العربیة</item>
<!-- fa Persian/Farsi --> <item>فارسی</item>
<!-- ckb Central Kurdish/Sorani --> <item>کوردی</item>
<!-- ja Japanese --> <item>日本語</item>
<!-- ko Korean --> <item>한국어</item>
<!-- zh_CN Chinese traditional --> <item>简体中文</item>
<!-- zh_TW Chinese trad. (Taiwan) --> <item>繁體中文</item>
<!-- km Khmer --> <item>ភាសាខ្មែរ</item>
<!-- ta Tamil --> <item>தமிழ்</item>
<!-- te Telugu --> <item>తెలుగు</item>
</string-array>
<string-array name="language_values">
<item>zz</item>
<item>az</item>
<item>in</item> <!-- sic: Android uses "in" where ISO 639-1 is "id" -->
<item>ca</item>
<item>cs</item>
<item>da</item>
<item>de</item>
<item>en</item>
<item>es</item>
<item>eo</item>
<item>eu</item>
<item>fr</item>
<item>gl</item>
<item>hr</item>
<item>it</item>
<item>lt</item>
<item>bqi</item>
<item>hu</item>
<item>nl</item>
<item>nb</item>
<item>pl</item>
<item>pt</item>
<item>pt_BR</item>
<item>ro</item>
<item>sc</item>
<item>sq</item>
<item>sk</item>
<item>fi</item>
<item>sv</item>
<item>vi</item>
<item>tr</item>
<item>el</item>
<item>ru</item>
<item>sr</item>
<item>uk</item>
<item>bg</item>
<item>ar</item>
<item>fa</item>
<item>ckb</item>
<item>ja</item>
<item>ko</item>
<item>zh_CN</item>
<item>zh_TW</item>
<item>km</item>
<item>ta</item>
<item>te</item>
</string-array>
<!-- "InconsistentArrays" is needed as the array is duplicated in values-v29/arrays.xml with a different size --> <!-- "InconsistentArrays" is needed as the array is duplicated in values-v29/arrays.xml with a different size -->
<string-array name="pref_theme_entries" tools:ignore="InconsistentArrays"> <string-array name="pref_theme_entries" tools:ignore="InconsistentArrays">
<item>@string/pref_light_theme</item> <item>@string/pref_light_theme</item>

View file

@ -28,11 +28,4 @@
android:title="@string/pref_use_system_emoji" android:title="@string/pref_use_system_emoji"
android:summary="@string/pref_use_system_emoji_explain" /> android:summary="@string/pref_use_system_emoji_explain" />
<ListPreference
android:key="pref_language"
android:title="@string/pref_language"
android:entries="@array/language_entries"
android:entryValues="@array/language_values"
android:defaultValue="zz"/>
</PreferenceScreen> </PreferenceScreen>

View file

@ -28,11 +28,4 @@
android:title="@string/pref_use_system_emoji" android:title="@string/pref_use_system_emoji"
android:summary="@string/pref_use_system_emoji_explain" /> android:summary="@string/pref_use_system_emoji_explain" />
<ListPreference
android:key="pref_language"
android:title="@string/pref_language"
android:entries="@array/language_entries"
android:entryValues="@array/language_values"
android:defaultValue="zz"/>
</PreferenceScreen> </PreferenceScreen>