diff --git a/OsmAnd/res/values-be/strings.xml b/OsmAnd/res/values-be/strings.xml
index 3e97e55959..07da977958 100644
--- a/OsmAnd/res/values-be/strings.xml
+++ b/OsmAnd/res/values-be/strings.xml
@@ -1873,9 +1873,9 @@ OsmAnd мае адкрыты зыходны код і актыўна разві
Загружаны %1$s сьлед OsMo.
Уваход па запрашэньнi
Калі ласка, прачытайце перад стварэньнем групы!
- " - Усе створаныя групы з\\\'яўляюцца алульнымі! Калі вы хочаце заставацца ананімным, падлучайце прыладу наўпрост праз Tracker-ідэнтыфікатар.
+ " - Усе створаныя групы з\\\'яўляюцца агульнымі! Калі вы хочаце заставацца ананімным, падлучайце прыладу наўпрост праз Tracker-ідэнтыфікатар.
\n - Група мажа быць зарэгістраваная на 16 чалавек.
\n - У выпадку бяздзейнасці або актыўнасці толькі 1 чалавека на працягу 2 тыдняў, група будзе выдаленая.
-\n - Вы можаце абмежаваць ўваход у групу, напррыклад па запрашэнні, але для кантрольню групай, вам неабходна скарыстацца кансольлю адміністратара.
+\n - Вы можаце абмежаваць ўваход у групу, напрыклад па запрашэнні, але для кантрольню групай, вам неабходна скарыстацца кансольлю адміністратара.
\n - Калі вам трэба стварыць групу з іншымі ўмовамі, калі ласка, звяртайцеся на http://osmo.mobi"
diff --git a/OsmAnd/res/values-nl/strings.xml b/OsmAnd/res/values-nl/strings.xml
index a9ca781685..f42afd039f 100644
--- a/OsmAnd/res/values-nl/strings.xml
+++ b/OsmAnd/res/values-nl/strings.xml
@@ -1876,4 +1876,8 @@ Afghanistan, Albanie, Algerije, Andorra, Angola, Anguilla, Antigua en Barbuda, A
Automatisch verbinding maken
OsMo service
OsMo track: %1$s opgehaald.
+ " - Alle groepen zijn openbaar! Om anoniem te blijven moet u apparaten rechtstreeks met elkaar verbinden via hun Tracker-ID, en niet in een groep.\n- Er kunnen maximaal 16 deelnemers in een groep.\n- Als er gedurende 2 weken geen of nog maar 1 deelnemer actief is, wordt de groep verwijderd.\n- Een groep kan besloten worden gemaakt (\"alleen op uitnodiging\"). Het beheer daarvan moet op de beheerspagina gebeuren.\n- Als u een groep nodig heeft met andere voorwaarden, ga dan naar http://osmo.mobi"
+ Lees dit voordat u een groep maakt!
+ Kon niet inloggen op OsMo
+ Gebruik uitnodiging om bij een groep te komen
diff --git a/OsmAnd/res/values-ru/strings.xml b/OsmAnd/res/values-ru/strings.xml
index 5d0e8b552d..1b55759d04 100644
--- a/OsmAnd/res/values-ru/strings.xml
+++ b/OsmAnd/res/values-ru/strings.xml
@@ -1729,4 +1729,5 @@ OsmAnd - открытый источник и активно развается.
Нет выбранных файлов GPX. Используйте длительное нажатие для выбора доступного трека.
Сбросить выбор
Выбрать для отображения
+ Войти по приглашению
diff --git a/OsmAnd/src/net/osmand/plus/helpers/FileNameTranslationHelper.java b/OsmAnd/src/net/osmand/plus/helpers/FileNameTranslationHelper.java
index 7f9f1eba0c..3d2497c97a 100644
--- a/OsmAnd/src/net/osmand/plus/helpers/FileNameTranslationHelper.java
+++ b/OsmAnd/src/net/osmand/plus/helpers/FileNameTranslationHelper.java
@@ -16,7 +16,11 @@ public class FileNameTranslationHelper {
public static String getFileName(Context ctx, OsmandRegions regions, String fileName) {
String basename = getBasename(fileName);
if (basename.endsWith("_wiki")) { //wiki files
- String wikiName = getStandardLangName(ctx, basename.substring(0, basename.indexOf("_wiki")));
+ String cutted = basename.substring(0, basename.indexOf("_wiki"));
+ String wikiName = getStandardLangName(ctx, cutted);
+ if (wikiName == null){
+ wikiName = cutted;
+ }
String wikiWord = ctx.getString(R.string.amenity_type_osmwiki);
int index = wikiWord.indexOf("(");
if (index >= 0) {
@@ -77,7 +81,7 @@ public class FileNameTranslationHelper {
return fileName.substring(0, fileName.length() - IndexConstants.SQLITE_EXT.length()).replace('_', ' ');
}
- int ls = fileName.lastIndexOf('-');
+ int ls = fileName.lastIndexOf("-roads");
if (ls >= 0) {
return fileName.substring(0, ls);
} else {
@@ -90,89 +94,89 @@ public class FileNameTranslationHelper {
}
private static String getStandardLangName(Context ctx, String filename) {
- if (filename.equals("Croatian")) {
+ if (filename.equalsIgnoreCase("Croatian")) {
return ctx.getString(R.string.lang_hr);
- } else if (filename.equals("Chinese")) {
+ } else if (filename.equalsIgnoreCase("Chinese")) {
return ctx.getString(R.string.lang_zh);
- } else if (filename.equals("Portuguese")) {
+ } else if (filename.equalsIgnoreCase("Portuguese")) {
return ctx.getString(R.string.lang_pt_br);
- } else if (filename.equals("English")) {
+ } else if (filename.equalsIgnoreCase("English")) {
return ctx.getString(R.string.lang_en);
- } else if (filename.equals("Afrikaans") || filename.equals("Africaans")) {
+ } else if (filename.equalsIgnoreCase("Afrikaans") || filename.equalsIgnoreCase("Africaans")) {
return ctx.getString(R.string.lang_af);
- } else if (filename.equals("Armenian")) {
+ } else if (filename.equalsIgnoreCase("Armenian")) {
return ctx.getString(R.string.lang_hy);
- } else if (filename.equals("Basque")) {
+ } else if (filename.equalsIgnoreCase("Basque")) {
return ctx.getString(R.string.lang_eu);
- } else if (filename.equals("Belarusian")) {
+ } else if (filename.equalsIgnoreCase("Belarusian")) {
return ctx.getString(R.string.lang_be);
- } else if (filename.equals("Bosnian")) {
+ } else if (filename.equalsIgnoreCase("Bosnian")) {
return ctx.getString(R.string.lang_bs);
- } else if (filename.equals("Bulgarian")) {
+ } else if (filename.equalsIgnoreCase("Bulgarian")) {
return ctx.getString(R.string.lang_bg);
- } else if (filename.equals("Catalan")) {
+ } else if (filename.equalsIgnoreCase("Catalan")) {
return ctx.getString(R.string.lang_ca);
- } else if (filename.equals("Czech")) {
+ } else if (filename.equalsIgnoreCase("Czech")) {
return ctx.getString(R.string.lang_cs);
- } else if (filename.equals("Danish")) {
+ } else if (filename.equalsIgnoreCase("Danish")) {
return ctx.getString(R.string.lang_da);
- } else if (filename.equals("Dutch")) {
+ } else if (filename.equalsIgnoreCase("Dutch")) {
return ctx.getString(R.string.lang_nl);
- } else if (filename.equals("Finnish")) {
+ } else if (filename.equalsIgnoreCase("Finnish")) {
return ctx.getString(R.string.lang_fi);
- } else if (filename.equals("French")) {
+ } else if (filename.equalsIgnoreCase("French")) {
return ctx.getString(R.string.lang_fr);
- } else if (filename.equals("Georgian")) {
+ } else if (filename.equalsIgnoreCase("Georgian")) {
return ctx.getString(R.string.lang_ka);
- } else if (filename.equals("German")) {
+ } else if (filename.equalsIgnoreCase("German")) {
return ctx.getString(R.string.lang_de);
- } else if (filename.equals("Greek")) {
+ } else if (filename.equalsIgnoreCase("Greek")) {
return ctx.getString(R.string.lang_el);
- } else if (filename.equals("Hebrew")) {
+ } else if (filename.equalsIgnoreCase("Hebrew")) {
return ctx.getString(R.string.lang_iw);
- } else if (filename.equals("Hindi")) {
+ } else if (filename.equalsIgnoreCase("Hindi")) {
return ctx.getString(R.string.lang_hi);
- } else if (filename.equals("Hungarian")) {
+ } else if (filename.equalsIgnoreCase("Hungarian")) {
return ctx.getString(R.string.lang_hu);
- } else if (filename.equals("Indonesian")) {
+ } else if (filename.equalsIgnoreCase("Indonesian")) {
return ctx.getString(R.string.lang_id);
- } else if (filename.equals("Italian")) {
+ } else if (filename.equalsIgnoreCase("Italian")) {
return ctx.getString(R.string.lang_it);
- } else if (filename.equals("Japanese")) {
+ } else if (filename.equalsIgnoreCase("Japanese")) {
return ctx.getString(R.string.lang_ja);
- } else if (filename.equals("Korean")) {
+ } else if (filename.equalsIgnoreCase("Korean")) {
return ctx.getString(R.string.lang_ko);
- } else if (filename.equals("Latvian")) {
+ } else if (filename.equalsIgnoreCase("Latvian")) {
return ctx.getString(R.string.lang_lv);
- } else if (filename.equals("Lithuanian")) {
+ } else if (filename.equalsIgnoreCase("Lithuanian")) {
return ctx.getString(R.string.lang_lt);
- } else if (filename.equals("Marathi")) {
+ } else if (filename.equalsIgnoreCase("Marathi")) {
return ctx.getString(R.string.lang_mr);
- } else if (filename.equals("Norwegian")) {
+ } else if (filename.equalsIgnoreCase("Norwegian")) {
return ctx.getString(R.string.lang_no);
- } else if (filename.equals("Polish")) {
+ } else if (filename.equalsIgnoreCase("Polish")) {
return ctx.getString(R.string.lang_pl);
- } else if (filename.equals("Portuguese")) {
+ } else if (filename.equalsIgnoreCase("Portuguese")) {
return ctx.getString(R.string.lang_pt);
- } else if (filename.equals("Romanian")) {
+ } else if (filename.equalsIgnoreCase("Romanian")) {
return ctx.getString(R.string.lang_ro);
- } else if (filename.equals("Russian")) {
+ } else if (filename.equalsIgnoreCase("Russian")) {
return ctx.getString(R.string.lang_ru);
- } else if (filename.equals("Slovak")) {
+ } else if (filename.equalsIgnoreCase("Slovak")) {
return ctx.getString(R.string.lang_sk);
- } else if (filename.equals("Slovenian")) {
+ } else if (filename.equalsIgnoreCase("Slovenian")) {
return ctx.getString(R.string.lang_sl);
- } else if (filename.equals("Spanish")) {
+ } else if (filename.equalsIgnoreCase("Spanish")) {
return ctx.getString(R.string.lang_es);
- } else if (filename.equals("Swedish")) {
+ } else if (filename.equalsIgnoreCase("Swedish")) {
return ctx.getString(R.string.lang_sv);
- } else if (filename.equals("Turkish")) {
+ } else if (filename.equalsIgnoreCase("Turkish")) {
return ctx.getString(R.string.lang_tr);
- } else if (filename.equals("Ukrainian")) {
+ } else if (filename.equalsIgnoreCase("Ukrainian")) {
return ctx.getString(R.string.lang_uk);
- } else if (filename.equals("Vietnamese")) {
+ } else if (filename.equalsIgnoreCase("Vietnamese")) {
return ctx.getString(R.string.lang_vi);
- } else if (filename.equals("Welsh")) {
+ } else if (filename.equalsIgnoreCase("Welsh")) {
return ctx.getString(R.string.lang_cy);
}
return null;
diff --git a/OsmAnd/src/net/osmand/plus/routing/RouteProvider.java b/OsmAnd/src/net/osmand/plus/routing/RouteProvider.java
index c05f4af02d..ea0ca48abd 100644
--- a/OsmAnd/src/net/osmand/plus/routing/RouteProvider.java
+++ b/OsmAnd/src/net/osmand/plus/routing/RouteProvider.java
@@ -1011,7 +1011,16 @@ public class RouteProvider {
track.segments.add(trkSegment);
int cRoute = currentRoute;
int cDirInfo = currentDirectionInfo;
-
+
+ //saving start point to gpx file
+ WptPt startpoint = new WptPt();
+ LatLon sc = helper.getPointToStart();
+ if (sc != null){
+ startpoint.lon = sc.getLongitude();
+ startpoint.lat = sc.getLatitude();
+ trkSegment.points.add(startpoint);
+ }
+
for(int i = cRoute; i< routeNodes.size(); i++){
Location loc = routeNodes.get(i);
WptPt pt = new WptPt();
diff --git a/OsmAnd/src/net/osmand/plus/views/controls/MapRoutePreferencesControl.java b/OsmAnd/src/net/osmand/plus/views/controls/MapRoutePreferencesControl.java
index f937f460be..3ba34e2e86 100644
--- a/OsmAnd/src/net/osmand/plus/views/controls/MapRoutePreferencesControl.java
+++ b/OsmAnd/src/net/osmand/plus/views/controls/MapRoutePreferencesControl.java
@@ -296,9 +296,9 @@ public class MapRoutePreferencesControl extends MapControls {
//if short way that it should set valut to fast mode opposite of current
if (rp.routingParameter != null && rp.routingParameter.getId().equals("short_way")){
settings.FAST_ROUTE_MODE.set(!isChecked);
- } else {
- rp.setSelected(settings, isChecked);
}
+ rp.setSelected(settings, isChecked);
+
if(rp instanceof OtherLocalRoutingParameter) {
updateGpxRoutingParameter((OtherLocalRoutingParameter) rp);
}