display the language choices in their native names, added a larger set of native language names, which will be reduced to the supported languages at runtime

Fixes issue 1290
This may be a bit much, but I hope it can make it a little bit easier to add a new language later on and have consistent ordering.
This commit is contained in:
Thialfihar 2010-07-13 14:24:21 +00:00
parent 665efc1448
commit eda64bf1e7
4 changed files with 175 additions and 24 deletions

View File

@ -647,6 +647,9 @@ Willkommen zum \"K-9 Mail\"-Setup. K-9 ist eine quelloffene E-Mail-Anwendung fü
<string name="accountlist_preferences">Liste der Konten</string>
<string name="messagelist_preferences">Liste der Nachrichten</string>
<string name="settings_theme_label">Theme</string>
<string name="settings_language_label">Sprache</string>
<string name="setting_language_system">Systemvorgabe</string>
<string name="background_ops_label">Hintergrund-Synchronisierung</string>
<string name="background_ops_never">Nie</string>

View File

@ -309,30 +309,168 @@
<string-array name="settings_language_entries">
<item>@string/setting_language_system</item>
<item>@string/setting_language_chinese</item>
<item>@string/setting_language_czech</item>
<item>@string/setting_language_english</item>
<item>@string/setting_language_german</item>
<item>@string/setting_language_france</item>
<item>@string/setting_language_italian</item>
<item>@string/setting_language_japanese</item>
<item>@string/setting_language_polish</item>
<item>@string/setting_language_spanish</item>
<item>@string/setting_language_russian</item>
<item>Afrikaans</item>
<item>Bahasa indonesia</item>
<item>Bahasa melayu</item>
<item>Bamanankan</item>
<item>Català</item>
<item>Cymraeg</item>
<item>Dansk</item>
<item>Deutsch</item>
<item>Dholuo</item>
<item>Eesti</item>
<item>Español</item>
<item>Fulfulde, Pulaar, Pular</item>
<item>Gaeilge</item>
<item>Galego</item>
<item>Hausa</item>
<item>Hrvatski</item>
<item>Kinyarwanda</item>
<item>Kirundi</item>
<item>Kiswahili</item>
<item>Latviešu</item>
<item>Lietuviškai</item>
<item>Magyar</item>
<item>Malti</item>
<item>Nederlands</item>
<item>Norsk</item>
<item>Pyccĸий</item>
<item>Română</item>
<item>Slovenčina</item>
<item>Slovenščina</item>
<item>Somali</item>
<item>Српски</item>
<item>Tiếng Việt</item>
<item>Tϋrkçe</item>
<item>Wolof</item>
<item>Yorùbá</item>
<item>Azərbaycan</item>
<item>Euskera</item>
<item>Français</item>
<item>isiXhosa</item>
<item>isiZulu</item>
<item>Italiano</item>
<item>O\'zbek</item>
<item>Polski</item>
<item>Português</item>
<item>Shqip</item>
<item>Suomi</item>
<item>Svenska</item>
<item>Íslenska</item>
<item>Čeština</item>
<item>Ɛʋɛ</item>
<item>Ελληνικά</item>
<item>Беларуская</item>
<item>Български</item>
<item>Кыргыз</item>
<item>Македонски</item>
<item>Українська</item>
<item>аҧсуа бызшәа</item>
<item>Қазақ</item>
<item>Հայերեն</item>
<item>עברית</item>
<item>اردو</item>
<item>العربية</item>
<item>فارسی</item>
<item>پښتو</item>
<item>हिंदी</item>
<item>తెలుగు</item>
<item>ಕನ್ನಡ</item>
<item>ภาษาไทย</item>
<item>አማርኛ</item>
<item>中文</item>
<item>日本語</item>
<item>한국어</item>
</string-array>
<string-array name="settings_language_values">
<item></item>
<item>zh</item>
<item>cs</item>
<item>en</item>
<item>af</item>
<item>id</item>
<item>ms</item>
<item>bm</item>
<item>ca</item>
<item>cy</item>
<item>da</item>
<item>de</item>
<item>luo</item>
<item>et</item>
<item>es</item>
<item>ff</item>
<item>ga</item>
<item>gl</item>
<item>ha</item>
<item>hr</item>
<item>rw</item>
<item>rn</item>
<item>sw</item>
<item>lv</item>
<item>lt</item>
<item>hu</item>
<item>mt</item>
<item>nl</item>
<item>no</item>
<item>ru</item>
<item>ro</item>
<item>sk</item>
<item>sl</item>
<item>so</item>
<item>sr</item>
<item>vi</item>
<item>tr</item>
<item>wo</item>
<item>yo</item>
<item>az</item>
<item>eu</item>
<item>fr</item>
<item>xs</item>
<item>zu</item>
<item>it</item>
<item>uz</item>
<item>pl</item>
<item>pt</item>
<item>sq</item>
<item>fi</item>
<item>sv</item>
<item>is</item>
<item>cs</item>
<item>ee</item>
<item>el</item>
<item>be</item>
<item>bg</item>
<item>ky</item>
<item>mk</item>
<item>uk</item>
<item>ab</item>
<item>kk</item>
<item>hy</item>
<item>he</item>
<item>ur</item>
<item>ar</item>
<item>fa</item>
<item>ps</item>
<item>hi</item>
<item>te</item>
<item>kn</item>
<item>th</item>
<item>am</item>
<item>zh</item>
<item>ja</item>
<item>ko</item>
</string-array>
<string-array name="supported_languages">
<item></item>
<item>cs</item>
<item>de</item>
<item>en</item>
<item>es</item>
<item>fr</item>
<item>it</item>
<item>ja</item>
<item>pl</item>
<item>es</item>
<item>ru</item>
<item>zh</item>
</string-array>
<string-array name="settings_theme_entries">

View File

@ -751,16 +751,6 @@ Welcome to K-9 Mail setup. K-9 is an open source mail client for Android origin
<string name="settings_language_label">Language</string>
<string name="setting_language_system">System default</string>
<string name="setting_language_chinese">Chinese</string>
<string name="setting_language_czech">Czech</string>
<string name="setting_language_english">English</string>
<string name="setting_language_german">German</string>
<string name="setting_language_france">French</string>
<string name="setting_language_italian">Italian</string>
<string name="setting_language_japanese">Japanese</string>
<string name="setting_language_polish">Polish</string>
<string name="setting_language_spanish">Spanish</string>
<string name="setting_language_russian">Russian</string>
<string name="background_ops_label">Background sync</string>
<string name="background_ops_never">Never</string>

View File

@ -1,5 +1,9 @@
package com.fsck.k9.activity.setup;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Vector;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
@ -9,6 +13,7 @@ import android.preference.CheckBoxPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.view.KeyEvent;
import com.fsck.k9.K9;
import com.fsck.k9.Preferences;
import com.fsck.k9.R;
@ -81,6 +86,21 @@ public class Prefs extends K9PreferenceActivity
addPreferencesFromResource(R.xml.global_preferences);
mLanguage = (ListPreference) findPreference(PREFERENCE_LANGUAGE);
Vector<CharSequence> entryVector = new Vector<CharSequence>(Arrays.asList(mLanguage.getEntries()));
Vector<CharSequence> entryValueVector = new Vector<CharSequence>(Arrays.asList(mLanguage.getEntryValues()));
String supportedLanguages[] = getResources().getStringArray(R.array.supported_languages);
HashSet<String> supportedLanguageSet = new HashSet<String>(Arrays.asList(supportedLanguages));
for (int i = entryVector.size() - 1; i > -1; --i)
{
if (!supportedLanguageSet.contains(entryValueVector.get(i)))
{
entryVector.remove(i);
entryValueVector.remove(i);
}
}
CharSequence dummy[] = new CharSequence[0];
mLanguage.setEntries(entryVector.toArray(dummy));
mLanguage.setEntryValues(entryValueVector.toArray(dummy));
mLanguage.setValue(K9.getK9Language());
mLanguage.setSummary(mLanguage.getEntry());
mLanguage.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener()