diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml
index 3974235bca..5529870c52 100644
--- a/OsmAnd/res/values/strings.xml
+++ b/OsmAnd/res/values/strings.xml
@@ -212,12 +212,15 @@
Portuguese (Brazil)
English
Afrikaans
+ Albanian
+ Arabic
Armenian
Basque
Belarusian
Bosnian
Bulgarian
Catalan
+ Croatian
Czech
Danish
Dutch
@@ -242,10 +245,14 @@
Portuguese
Romanian
Russian
+ Sardinian
+ Serbian
+ Simplified Chinese
Slovak
Slovenian
Spanish
Swedish
+ Traditional Chinese
Turkish
Ukrainian
Vietnamese
diff --git a/OsmAnd/src/net/osmand/plus/activities/SettingsGeneralActivity.java b/OsmAnd/src/net/osmand/plus/activities/SettingsGeneralActivity.java
index 9491e12fdc..e6eb29ab21 100644
--- a/OsmAnd/src/net/osmand/plus/activities/SettingsGeneralActivity.java
+++ b/OsmAnd/src/net/osmand/plus/activities/SettingsGeneralActivity.java
@@ -167,17 +167,21 @@ public class SettingsGeneralActivity extends SettingsBaseActivity {
}
registerListPreference(settings.METRIC_SYSTEM, screen, entries, mvls);
+ // See language list and statistics at: https://hosted.weblate.org/projects/osmand/main/
String incompleteSuffix = " (" + getString(R.string.incomplete_locale) + ")";
//getResources().getAssets().getLocales();
entrieValues = new String[] { "",
"en",
"af",
+ "al",
+ "ar",
"hy",
"eu",
"be",
"bs",
"bg",
"ca",
+ "hr",
"cs",
"da",
"nl",
@@ -197,15 +201,20 @@ public class SettingsGeneralActivity extends SettingsBaseActivity {
"lv",
"lt",
"mr",
- "no",
+ "nb",
+ "fa",
"pl",
"pt",
"ro",
"ru",
+ "sc",
+ "sr",
+ "zh-rCN",
"sk",
"sl",
"es",
"sv",
+ "zh-rTW",
"tr",
"uk",
"vi",
@@ -213,12 +222,15 @@ public class SettingsGeneralActivity extends SettingsBaseActivity {
entries = new String[] { getString(R.string.system_locale),
getString(R.string.lang_en),
getString(R.string.lang_af),
+ getString(R.string.lang_al) + incompleteSuffix,
+ getString(R.string.lang_ar) + incompleteSuffix,
getString(R.string.lang_hy) + incompleteSuffix,
getString(R.string.lang_eu) + incompleteSuffix,
- getString(R.string.lang_be) + incompleteSuffix,
+ getString(R.string.lang_be),
getString(R.string.lang_bs) + incompleteSuffix,
getString(R.string.lang_bg) + incompleteSuffix,
getString(R.string.lang_ca),
+ getString(R.string.lang_hr) + incompleteSuffix,
getString(R.string.lang_cs),
getString(R.string.lang_da),
getString(R.string.lang_nl),
@@ -228,28 +240,33 @@ public class SettingsGeneralActivity extends SettingsBaseActivity {
getString(R.string.lang_de),
getString(R.string.lang_el),
getString(R.string.lang_iw),
- getString(R.string.lang_he) ,
+ getString(R.string.lang_he),
getString(R.string.lang_hi) + incompleteSuffix,
getString(R.string.lang_hu),
getString(R.string.lang_id) + incompleteSuffix,
getString(R.string.lang_it),
getString(R.string.lang_ja) + incompleteSuffix,
- getString(R.string.lang_ko) + incompleteSuffix,
+ getString(R.string.lang_ko),
getString(R.string.lang_lv),
getString(R.string.lang_lt),
- getString(R.string.lang_mr),
+ getString(R.string.lang_mr) + incompleteSuffix,
getString(R.string.lang_no) + incompleteSuffix,
+ getString(R.string.lang_fa),
getString(R.string.lang_pl),
getString(R.string.lang_pt),
getString(R.string.lang_ro),
getString(R.string.lang_ru),
+ getString(R.string.lang_sc) + incompleteSuffix,
+ getString(R.string.lang_sr) + incompleteSuffix,
+ getString(R.string.lang_zh_CN) + incompleteSuffix,
getString(R.string.lang_sk),
getString(R.string.lang_sl),
getString(R.string.lang_es),
getString(R.string.lang_sv),
+ getString(R.string.lang_zh_TW),
getString(R.string.lang_tr),
getString(R.string.lang_uk),
- getString(R.string.lang_vi),
+ getString(R.string.lang_vi) + incompleteSuffix,
getString(R.string.lang_cy) + incompleteSuffix,};
registerListPreference(settings.PREFERRED_LOCALE, screen, entries, entrieValues);
}