From e62b6b02abeee77863ba5a21a39548e13a595133 Mon Sep 17 00:00:00 2001 From: PavelRatushny Date: Fri, 7 Jul 2017 11:21:22 +0300 Subject: [PATCH 001/140] Add delay for splash screen --- OsmAnd/AndroidManifest-free.xml | 2 +- OsmAnd/AndroidManifest-freedev.xml | 2 +- OsmAnd/AndroidManifest.xml | 16 +++++++++---- OsmAnd/res/values/styles.xml | 6 ++--- .../plus/activities/SplashActivity.java | 24 +++++++++++++++++++ 5 files changed, 41 insertions(+), 9 deletions(-) create mode 100644 OsmAnd/src/net/osmand/plus/activities/SplashActivity.java diff --git a/OsmAnd/AndroidManifest-free.xml b/OsmAnd/AndroidManifest-free.xml index 0b67c77855..b2dd92f468 100644 --- a/OsmAnd/AndroidManifest-free.xml +++ b/OsmAnd/AndroidManifest-free.xml @@ -7,7 +7,7 @@ android:label="@string/app_name_free" tools:replace="android:icon, android:label"> - + + @@ -101,7 +106,7 @@ - + @@ -114,7 +119,7 @@ - + @@ -154,7 +159,10 @@ + + diff --git a/OsmAnd/res/values/styles.xml b/OsmAnd/res/values/styles.xml index 88d81f2d66..6c71f7b927 100644 --- a/OsmAnd/res/values/styles.xml +++ b/OsmAnd/res/values/styles.xml @@ -74,15 +74,15 @@ ?attr/selectableItemBackground - - - diff --git a/OsmAnd/src/net/osmand/plus/activities/SplashActivity.java b/OsmAnd/src/net/osmand/plus/activities/SplashActivity.java new file mode 100644 index 0000000000..9869191fd9 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/activities/SplashActivity.java @@ -0,0 +1,24 @@ +package net.osmand.plus.activities; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.support.annotation.Nullable; + +public class SplashActivity extends OsmandActionBarActivity { + private final static int SPLASH_DISPLAY_LENGTH = 3000; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + new Handler().postDelayed(new Runnable() { + @Override + public void run() { + Intent i = new Intent(SplashActivity.this, MapActivity.class); + startActivity(i); + finish(); + } + }, SPLASH_DISPLAY_LENGTH); + } +} \ No newline at end of file From 1700e4fcc581642a3b954c23a0d8b8fd5f7b0345 Mon Sep 17 00:00:00 2001 From: PavelRatushny Date: Fri, 7 Jul 2017 19:02:10 +0300 Subject: [PATCH 002/140] Test second splash screen --- OsmAnd/AndroidManifest-free.xml | 4 +- OsmAnd/AndroidManifest-freedev.xml | 4 +- OsmAnd/AndroidManifest.xml | 11 +---- ..._free.xml => first_splash_screen_free.xml} | 0 ...v.xml => first_splash_screen_free_dev.xml} | 0 .../first_splash_screen_plus.xml | 10 ++++ ...plus.xml => second_splash_screen_plus.xml} | 4 +- ..._free.xml => first_splash_screen_free.xml} | 0 ...v.xml => first_splash_screen_free_dev.xml} | 0 .../res/drawable/first_splash_screen_plus.xml | 10 ++++ ...plus.xml => second_splash_screen_plus.xml} | 2 +- .../layout/second_splash_screen_layout.xml | 9 ++++ OsmAnd/res/values/styles.xml | 12 ++--- .../osmand/SecondSplashScreenFragment.java | 49 +++++++++++++++++++ .../osmand/plus/activities/MapActivity.java | 22 ++++++++- .../plus/activities/SplashActivity.java | 24 --------- 16 files changed, 114 insertions(+), 47 deletions(-) rename OsmAnd/res/drawable-land/{splash_screen_free.xml => first_splash_screen_free.xml} (100%) rename OsmAnd/res/drawable-land/{splash_screen_free_dev.xml => first_splash_screen_free_dev.xml} (100%) create mode 100644 OsmAnd/res/drawable-land/first_splash_screen_plus.xml rename OsmAnd/res/drawable-land/{splash_screen_plus.xml => second_splash_screen_plus.xml} (83%) rename OsmAnd/res/drawable/{splash_screen_free.xml => first_splash_screen_free.xml} (100%) rename OsmAnd/res/drawable/{splash_screen_free_dev.xml => first_splash_screen_free_dev.xml} (100%) create mode 100644 OsmAnd/res/drawable/first_splash_screen_plus.xml rename OsmAnd/res/drawable/{splash_screen_plus.xml => second_splash_screen_plus.xml} (94%) create mode 100644 OsmAnd/res/layout/second_splash_screen_layout.xml create mode 100644 OsmAnd/src/net/osmand/SecondSplashScreenFragment.java delete mode 100644 OsmAnd/src/net/osmand/plus/activities/SplashActivity.java diff --git a/OsmAnd/AndroidManifest-free.xml b/OsmAnd/AndroidManifest-free.xml index b2dd92f468..660f7ef14c 100644 --- a/OsmAnd/AndroidManifest-free.xml +++ b/OsmAnd/AndroidManifest-free.xml @@ -7,8 +7,8 @@ android:label="@string/app_name_free" tools:replace="android:icon, android:label"> - + @@ -159,10 +155,7 @@ - - diff --git a/OsmAnd/res/drawable-land/splash_screen_free.xml b/OsmAnd/res/drawable-land/first_splash_screen_free.xml similarity index 100% rename from OsmAnd/res/drawable-land/splash_screen_free.xml rename to OsmAnd/res/drawable-land/first_splash_screen_free.xml diff --git a/OsmAnd/res/drawable-land/splash_screen_free_dev.xml b/OsmAnd/res/drawable-land/first_splash_screen_free_dev.xml similarity index 100% rename from OsmAnd/res/drawable-land/splash_screen_free_dev.xml rename to OsmAnd/res/drawable-land/first_splash_screen_free_dev.xml diff --git a/OsmAnd/res/drawable-land/first_splash_screen_plus.xml b/OsmAnd/res/drawable-land/first_splash_screen_plus.xml new file mode 100644 index 0000000000..dbaa837eb9 --- /dev/null +++ b/OsmAnd/res/drawable-land/first_splash_screen_plus.xml @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file diff --git a/OsmAnd/res/drawable-land/splash_screen_plus.xml b/OsmAnd/res/drawable-land/second_splash_screen_plus.xml similarity index 83% rename from OsmAnd/res/drawable-land/splash_screen_plus.xml rename to OsmAnd/res/drawable-land/second_splash_screen_plus.xml index 8f47e3dffe..55335c9752 100644 --- a/OsmAnd/res/drawable-land/splash_screen_plus.xml +++ b/OsmAnd/res/drawable-land/second_splash_screen_plus.xml @@ -2,12 +2,12 @@ - + - + diff --git a/OsmAnd/res/drawable/splash_screen_free.xml b/OsmAnd/res/drawable/first_splash_screen_free.xml similarity index 100% rename from OsmAnd/res/drawable/splash_screen_free.xml rename to OsmAnd/res/drawable/first_splash_screen_free.xml diff --git a/OsmAnd/res/drawable/splash_screen_free_dev.xml b/OsmAnd/res/drawable/first_splash_screen_free_dev.xml similarity index 100% rename from OsmAnd/res/drawable/splash_screen_free_dev.xml rename to OsmAnd/res/drawable/first_splash_screen_free_dev.xml diff --git a/OsmAnd/res/drawable/first_splash_screen_plus.xml b/OsmAnd/res/drawable/first_splash_screen_plus.xml new file mode 100644 index 0000000000..231252cffd --- /dev/null +++ b/OsmAnd/res/drawable/first_splash_screen_plus.xml @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file diff --git a/OsmAnd/res/drawable/splash_screen_plus.xml b/OsmAnd/res/drawable/second_splash_screen_plus.xml similarity index 94% rename from OsmAnd/res/drawable/splash_screen_plus.xml rename to OsmAnd/res/drawable/second_splash_screen_plus.xml index c6443c0d46..1ac702fc52 100644 --- a/OsmAnd/res/drawable/splash_screen_plus.xml +++ b/OsmAnd/res/drawable/second_splash_screen_plus.xml @@ -2,7 +2,7 @@ - + diff --git a/OsmAnd/res/layout/second_splash_screen_layout.xml b/OsmAnd/res/layout/second_splash_screen_layout.xml new file mode 100644 index 0000000000..3c9cf4f7a7 --- /dev/null +++ b/OsmAnd/res/layout/second_splash_screen_layout.xml @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/OsmAnd/res/values/styles.xml b/OsmAnd/res/values/styles.xml index 6c71f7b927..a4a983d4bf 100644 --- a/OsmAnd/res/values/styles.xml +++ b/OsmAnd/res/values/styles.xml @@ -74,16 +74,16 @@ ?attr/selectableItemBackground - - - diff --git a/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java b/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java new file mode 100644 index 0000000000..7fe2a0bcc4 --- /dev/null +++ b/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java @@ -0,0 +1,49 @@ +package net.osmand; + +import android.os.Bundle; +import android.os.Handler; +import android.support.annotation.Nullable; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import net.osmand.plus.R; +import net.osmand.plus.activities.MapActivity; + +public class SecondSplashScreenFragment extends Fragment { + public static final String TAG = "SecondSplashScreenFragment"; + public static boolean SHOW = true; + private static final int SECOND_SPLASH_TIME_OUT = 2000; + + @Nullable + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.second_splash_screen_layout, container, false); + + ((MapActivity) getActivity()).hideStatusBar(); + + new Handler().postDelayed(new Runnable() { + + @Override + public void run() { + ((MapActivity) getActivity()).showStatusBar(); + getActivity().getSupportFragmentManager().beginTransaction().remove(SecondSplashScreenFragment.this).commitAllowingStateLoss(); + } + }, SECOND_SPLASH_TIME_OUT); + + return view; + } + + @Override + public void onResume() { + super.onResume(); + ((MapActivity)getActivity()).disableDrawer(); + } + + @Override + public void onPause() { + super.onPause(); + ((MapActivity)getActivity()).enableDrawer(); + } +} diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java index c7e21e618a..b1c0a64e62 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java @@ -40,6 +40,7 @@ import android.widget.Toast; import net.osmand.Location; import net.osmand.PlatformUtil; +import net.osmand.SecondSplashScreenFragment; import net.osmand.StateChangedListener; import net.osmand.ValueHolder; import net.osmand.access.MapAccessibilityActions; @@ -108,7 +109,6 @@ import net.osmand.plus.views.OsmAndMapLayersView; import net.osmand.plus.views.OsmAndMapSurfaceView; import net.osmand.plus.views.OsmandMapLayer; import net.osmand.plus.views.OsmandMapTileView; -import net.osmand.plus.views.RulerControlLayer; import net.osmand.plus.views.corenative.NativeCoreContext; import net.osmand.plus.views.mapwidgets.MapInfoWidgetsFactory.TopToolbarController; import net.osmand.plus.views.mapwidgets.MapInfoWidgetsFactory.TopToolbarControllerType; @@ -188,8 +188,24 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven private boolean mIsDestroyed = false; private InAppHelper inAppHelper; + public void hideStatusBar() { +// getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); +// getWindow().setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); + + +// getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); + } + + public void showStatusBar() { +// getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); + + +// getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); + } + @Override public void onCreate(Bundle savedInstanceState) { + overridePendingTransition(0, 0); long tm = System.currentTimeMillis(); app = getMyApplication(); settings = app.getSettings(); @@ -687,6 +703,10 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven new XMasDialogFragment().show(getSupportFragmentManager(), XMasDialogFragment.TAG); } FirstUsageWelcomeFragment.SHOW = false; + if (!showWelcomeScreen && SecondSplashScreenFragment.SHOW) { + getSupportFragmentManager().beginTransaction().add(R.id.fragmentContainer, new SecondSplashScreenFragment(), SecondSplashScreenFragment.TAG).commitAllowingStateLoss(); + } + SecondSplashScreenFragment.SHOW = false; } @Override diff --git a/OsmAnd/src/net/osmand/plus/activities/SplashActivity.java b/OsmAnd/src/net/osmand/plus/activities/SplashActivity.java deleted file mode 100644 index 9869191fd9..0000000000 --- a/OsmAnd/src/net/osmand/plus/activities/SplashActivity.java +++ /dev/null @@ -1,24 +0,0 @@ -package net.osmand.plus.activities; - -import android.content.Intent; -import android.os.Bundle; -import android.os.Handler; -import android.support.annotation.Nullable; - -public class SplashActivity extends OsmandActionBarActivity { - private final static int SPLASH_DISPLAY_LENGTH = 3000; - - @Override - protected void onCreate(@Nullable Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - new Handler().postDelayed(new Runnable() { - @Override - public void run() { - Intent i = new Intent(SplashActivity.this, MapActivity.class); - startActivity(i); - finish(); - } - }, SPLASH_DISPLAY_LENGTH); - } -} \ No newline at end of file From 54feb6e00c40a8b28c8f86209e9bfba11771dcdf Mon Sep 17 00:00:00 2001 From: PavelRatushny Date: Mon, 10 Jul 2017 19:01:02 +0300 Subject: [PATCH 003/140] Test adding margins from code --- OsmAnd/build.gradle | 8 +- .../osmand/SecondSplashScreenFragment.java | 126 +++++++++++++++++- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 4 files changed, 129 insertions(+), 9 deletions(-) diff --git a/OsmAnd/build.gradle b/OsmAnd/build.gradle index 38697f2e4b..f6ba50073e 100644 --- a/OsmAnd/build.gradle +++ b/OsmAnd/build.gradle @@ -385,10 +385,10 @@ dependencies { // compile project(':eclipse-compile:design') // compile project(':eclipse-compile:cardview') // compile project(':eclipse-compile:gridlayout') - compile 'com.android.support:gridlayout-v7:25.+' - compile 'com.android.support:cardview-v7:25.+' - compile 'com.android.support:appcompat-v7:25.+' - compile 'com.android.support:design:25.+' + compile 'com.android.support:gridlayout-v7:25.3.1' + compile 'com.android.support:cardview-v7:25.3.1' + compile 'com.android.support:appcompat-v7:25.3.1' + compile 'com.android.support:design:25.3.1' compile fileTree(include: ['*.jar'], exclude: ['QtAndroid-bundled.jar', 'QtAndroidAccessibility-bundled.jar', 'OsmAndCore_android.jar', 'OsmAndCore_wrapper.jar', 'android-support-multidex.jar'], dir: 'libs') legacyCompile "net.osmand:OsmAndCore_android:0.1-SNAPSHOT@jar" qtcoredebugCompile "net.osmand:OsmAndCore_androidNativeDebug:0.1-SNAPSHOT@aar" diff --git a/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java b/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java index 7fe2a0bcc4..92c7d8d2e2 100644 --- a/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java +++ b/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java @@ -1,33 +1,153 @@ package net.osmand; +import android.content.pm.ActivityInfo; +import android.content.res.Configuration; import android.os.Bundle; import android.os.Handler; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.RelativeLayout; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; +import net.osmand.plus.helpers.AndroidUiHelper; public class SecondSplashScreenFragment extends Fragment { public static final String TAG = "SecondSplashScreenFragment"; public static boolean SHOW = true; private static final int SECOND_SPLASH_TIME_OUT = 2000; + public boolean hasNavBar () { + int id = getResources().getIdentifier("config_showNavigationBar", "bool", "android"); + if (id > 0) + return getResources().getBoolean(id); + else + return false; + } + + public int getStatusBarHeight() { + int statusBarHeight = 0; + int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android"); + if (resourceId > 0) { + statusBarHeight = getResources().getDimensionPixelSize(resourceId); + } + return statusBarHeight; + } + + public int getNavigationBarHeight () { + if (!hasNavBar()) + return 0; + + int orientation = getResources().getConfiguration().orientation; + + //Only phone between 0-599 has navigationbar can move + boolean isSmartphone = getResources().getConfiguration().smallestScreenWidthDp < 600; + if (isSmartphone && Configuration.ORIENTATION_LANDSCAPE == orientation) + return 0; + + int id = getResources().getIdentifier(orientation == Configuration.ORIENTATION_PORTRAIT ? "navigation_bar_height" : "navigation_bar_height_landscape", "dimen", "android"); + if (id > 0) + return getResources().getDimensionPixelSize(id); + + return 0; + } + + public int getNavigationBarWidth () + { + if (!hasNavBar()) + return 0; + + int orientation = getResources().getConfiguration().orientation; + + //Only phone between 0-599 has navigationbar can move + boolean isSmartphone = getResources().getConfiguration().smallestScreenWidthDp < 600; + + if (orientation == Configuration.ORIENTATION_LANDSCAPE && isSmartphone) + { + int id = getResources().getIdentifier("navigation_bar_width", "dimen", "android"); + if (id > 0) + return getResources().getDimensionPixelSize(id); + } + + return 0; + } + @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.second_splash_screen_layout, container, false); + RelativeLayout view = new RelativeLayout(getActivity()); + view.setBackgroundColor(getResources().getColor(R.color.map_background_color_light)); - ((MapActivity) getActivity()).hideStatusBar(); + ImageView logo = new ImageView(getContext()); + logo.setImageDrawable(getResources().getDrawable(R.drawable.ic_logo_splash_osmand_plus)); + RelativeLayout.LayoutParams logoLayoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); + logoLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP); + logoLayoutParams.addRule(RelativeLayout.CENTER_HORIZONTAL); + if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT || + AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT) { + int defaultLogoMarginTop = AndroidUtils.dpToPx(getActivity(), 150); + logoLayoutParams.setMargins(0, defaultLogoMarginTop - getStatusBarHeight(), 0, 0); + } else if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE || + AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE) { + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N_MR1) { + if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) { + int defaultLogoMarginTop = AndroidUtils.dpToPx(getActivity(), 24); + int logoMarginLeft = getNavigationBarWidth(); + logoLayoutParams.setMargins(logoMarginLeft, defaultLogoMarginTop - getStatusBarHeight(), 0, 0); + } else if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE) { + int defaultLogoMarginTop = AndroidUtils.dpToPx(getActivity(), 24); + int logoMarginRight = getNavigationBarWidth(); + logoLayoutParams.setMargins(0, defaultLogoMarginTop - getStatusBarHeight(), logoMarginRight, 0); + } + } else { + int defaultLogoMarginTop = AndroidUtils.dpToPx(getActivity(), 24); + int logoMarginLeft = getNavigationBarWidth(); + logoLayoutParams.setMargins(logoMarginLeft, defaultLogoMarginTop - getStatusBarHeight(), 0, 0); + } + } + logo.setLayoutParams(logoLayoutParams); + view.addView(logo); + + ImageView text = new ImageView(getActivity()); + text.setImageDrawable(getResources().getDrawable(R.drawable.image_text_osmand_plus)); + RelativeLayout.LayoutParams textLayoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); + textLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); + textLayoutParams.addRule(RelativeLayout.CENTER_HORIZONTAL); + if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT || + AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT) { + int defaultTextMarginBottom = AndroidUtils.dpToPx(getActivity(), 128); + textLayoutParams.setMargins(0, 0, 0, defaultTextMarginBottom - getNavigationBarHeight()); + } else if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE || + AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE) { + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N_MR1) { + if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) { + int defaultTextMarginBottom = AndroidUtils.dpToPx(getActivity(), 48); + int textMarginLeft = getNavigationBarWidth(); + Log.d("LANDSCAPE", "width: " + getNavigationBarWidth()); + textLayoutParams.setMargins(textMarginLeft, 0, 0, defaultTextMarginBottom); + } else if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE) { + int defaultTextMarginBottom = AndroidUtils.dpToPx(getActivity(), 48); + int textMarginRight = getNavigationBarWidth(); + Log.d("REVERSE_LANDSCAPE", "width: " + getNavigationBarWidth()); + textLayoutParams.setMargins(0, 0, textMarginRight, defaultTextMarginBottom); + } + } else { + int defaultTextMarginBottom = AndroidUtils.dpToPx(getActivity(), 48); + textLayoutParams.setMargins(0, 0, 0, defaultTextMarginBottom); + } + } + text.setLayoutParams(textLayoutParams); + view.addView(text); new Handler().postDelayed(new Runnable() { @Override public void run() { - ((MapActivity) getActivity()).showStatusBar(); getActivity().getSupportFragmentManager().beginTransaction().remove(SecondSplashScreenFragment.this).commitAllowingStateLoss(); } }, SECOND_SPLASH_TIME_OUT); diff --git a/build.gradle b/build.gradle index 5cad9d08ae..d1b579b89c 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:2.+' + classpath 'com.android.tools.build:gradle:2.1.3' classpath 'com.google.gms:google-services:3.0.0' } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index b12618a3f9..8679e4507f 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-bin.zip From 8ee0a077921c4d2433918ab6352397e6b980d0e6 Mon Sep 17 00:00:00 2001 From: PavelRatushny Date: Tue, 11 Jul 2017 12:35:29 +0300 Subject: [PATCH 004/140] Add paddings from code for second splash --- .../osmand/SecondSplashScreenFragment.java | 54 +++++++++++++------ .../osmand/plus/activities/MapActivity.java | 31 ++++++----- 2 files changed, 52 insertions(+), 33 deletions(-) diff --git a/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java b/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java index 92c7d8d2e2..5c1c08afdb 100644 --- a/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java +++ b/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java @@ -13,7 +13,9 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.RelativeLayout; +import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; +import net.osmand.plus.Version; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.helpers.AndroidUiHelper; @@ -45,7 +47,6 @@ public class SecondSplashScreenFragment extends Fragment { int orientation = getResources().getConfiguration().orientation; - //Only phone between 0-599 has navigationbar can move boolean isSmartphone = getResources().getConfiguration().smallestScreenWidthDp < 600; if (isSmartphone && Configuration.ORIENTATION_LANDSCAPE == orientation) return 0; @@ -57,6 +58,10 @@ public class SecondSplashScreenFragment extends Fragment { return 0; } + public boolean isSmartphone() { + return getResources().getConfiguration().smallestScreenWidthDp < 600; + } + public int getNavigationBarWidth () { if (!hasNavBar()) @@ -64,11 +69,9 @@ public class SecondSplashScreenFragment extends Fragment { int orientation = getResources().getConfiguration().orientation; - //Only phone between 0-599 has navigationbar can move boolean isSmartphone = getResources().getConfiguration().smallestScreenWidthDp < 600; - if (orientation == Configuration.ORIENTATION_LANDSCAPE && isSmartphone) - { + if (orientation == Configuration.ORIENTATION_LANDSCAPE && isSmartphone) { int id = getResources().getIdentifier("navigation_bar_width", "dimen", "android"); if (id > 0) return getResources().getDimensionPixelSize(id); @@ -97,47 +100,59 @@ public class SecondSplashScreenFragment extends Fragment { if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N_MR1) { if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) { int defaultLogoMarginTop = AndroidUtils.dpToPx(getActivity(), 24); - int logoMarginLeft = getNavigationBarWidth(); - logoLayoutParams.setMargins(logoMarginLeft, defaultLogoMarginTop - getStatusBarHeight(), 0, 0); + int logoPaddingLeft = getNavigationBarWidth(); + logo.setPadding(logoPaddingLeft, 0, 0, 0); + logoLayoutParams.setMargins(0, defaultLogoMarginTop - getStatusBarHeight(), 0, 0); } else if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE) { int defaultLogoMarginTop = AndroidUtils.dpToPx(getActivity(), 24); - int logoMarginRight = getNavigationBarWidth(); - logoLayoutParams.setMargins(0, defaultLogoMarginTop - getStatusBarHeight(), logoMarginRight, 0); + int logoPaddingRight = getNavigationBarWidth(); + logo.setPadding(0, 0, logoPaddingRight, 0); + logoLayoutParams.setMargins(0, defaultLogoMarginTop - getStatusBarHeight(), 0, 0); } } else { int defaultLogoMarginTop = AndroidUtils.dpToPx(getActivity(), 24); - int logoMarginLeft = getNavigationBarWidth(); - logoLayoutParams.setMargins(logoMarginLeft, defaultLogoMarginTop - getStatusBarHeight(), 0, 0); + int logoPaddingLeft = getNavigationBarWidth(); + logo.setPadding(logoPaddingLeft, 0, 0, 0); + logoLayoutParams.setMargins(0, defaultLogoMarginTop - getStatusBarHeight(), 0, 0); } } logo.setLayoutParams(logoLayoutParams); view.addView(logo); ImageView text = new ImageView(getActivity()); - text.setImageDrawable(getResources().getDrawable(R.drawable.image_text_osmand_plus)); + if (Version.isFreeVersion(((MapActivity) getActivity()).getMyApplication())) { + text.setImageDrawable(getResources().getDrawable(R.drawable.image_text_osmand)); + } else if ((Version.isPaidVersion(((MapActivity) getActivity()).getMyApplication())) || + (Version.isDeveloperVersion(((MapActivity) getActivity()).getMyApplication()))) { + text.setImageDrawable(getResources().getDrawable(R.drawable.image_text_osmand_plus)); + } RelativeLayout.LayoutParams textLayoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); textLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); textLayoutParams.addRule(RelativeLayout.CENTER_HORIZONTAL); if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT || AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT) { int defaultTextMarginBottom = AndroidUtils.dpToPx(getActivity(), 128); + Log.d("PORTRAIT", "defaultTextMarginBottom: " + defaultTextMarginBottom); + Log.d("PORTRAIT", "getNavigationBarHeight: " + getNavigationBarHeight()); textLayoutParams.setMargins(0, 0, 0, defaultTextMarginBottom - getNavigationBarHeight()); } else if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE || AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE) { if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N_MR1) { if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) { int defaultTextMarginBottom = AndroidUtils.dpToPx(getActivity(), 48); - int textMarginLeft = getNavigationBarWidth(); - Log.d("LANDSCAPE", "width: " + getNavigationBarWidth()); - textLayoutParams.setMargins(textMarginLeft, 0, 0, defaultTextMarginBottom); + int textPaddingLeft = getNavigationBarWidth(); + text.setPadding(textPaddingLeft, 0, 0, 0); + textLayoutParams.setMargins(0, 0, 0, defaultTextMarginBottom); } else if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE) { int defaultTextMarginBottom = AndroidUtils.dpToPx(getActivity(), 48); - int textMarginRight = getNavigationBarWidth(); - Log.d("REVERSE_LANDSCAPE", "width: " + getNavigationBarWidth()); - textLayoutParams.setMargins(0, 0, textMarginRight, defaultTextMarginBottom); + int textPaddingRight = getNavigationBarWidth(); + text.setPadding(0, 0, textPaddingRight, 0); + textLayoutParams.setMargins(0, 0, 0, defaultTextMarginBottom); } } else { int defaultTextMarginBottom = AndroidUtils.dpToPx(getActivity(), 48); + int textPaddingLeft = getNavigationBarWidth(); + text.setPadding(textPaddingLeft, 0, 0, 0); textLayoutParams.setMargins(0, 0, 0, defaultTextMarginBottom); } } @@ -148,6 +163,11 @@ public class SecondSplashScreenFragment extends Fragment { @Override public void run() { +// getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); +// if (((MapActivity)getActivity()).getMyApplication().getSettings().MAP_SCREEN_ORIENTATION.get() != getActivity().getRequestedOrientation()) { +// getActivity().setRequestedOrientation(settings.MAP_SCREEN_ORIENTATION.get()); +// // can't return from this method we are not sure if activity will be recreated or not +// } getActivity().getSupportFragmentManager().beginTransaction().remove(SecondSplashScreenFragment.this).commitAllowingStateLoss(); } }, SECOND_SPLASH_TIME_OUT); diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java index b1c0a64e62..2997bb5228 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java @@ -10,6 +10,7 @@ import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; +import android.content.pm.ActivityInfo; import android.content.pm.PackageManager; import android.media.AudioManager; import android.net.Uri; @@ -188,23 +189,9 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven private boolean mIsDestroyed = false; private InAppHelper inAppHelper; - public void hideStatusBar() { -// getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); -// getWindow().setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); - - -// getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); - } - - public void showStatusBar() { -// getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); - - -// getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); - } - @Override public void onCreate(Bundle savedInstanceState) { +// setRequestedOrientation(AndroidUiHelper.getScreenOrientation(this)); overridePendingTransition(0, 0); long tm = System.currentTimeMillis(); app = getMyApplication(); @@ -235,6 +222,7 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven mapView = new OsmandMapTileView(this, w, h); if (app.getAppInitializer().checkAppVersionChanged() && WhatsNewDialogFragment.SHOW) { + SecondSplashScreenFragment.SHOW = false; WhatsNewDialogFragment.SHOW = false; new WhatsNewDialogFragment().show(getSupportFragmentManager(), null); } @@ -542,8 +530,10 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven dashboardOnMap.setDashboardVisibility(true, DashboardOnMap.staticVisibleType); } else { if (ErrorBottomSheetDialog.shouldShow(settings, this)) { + SecondSplashScreenFragment.SHOW = false; new ErrorBottomSheetDialog().show(getSupportFragmentManager(), "dialog"); } else if (RateUsBottomSheetDialog.shouldShow(app)) { + SecondSplashScreenFragment.SHOW = false; new RateUsBottomSheetDialog().show(getSupportFragmentManager(), "dialog"); } } @@ -696,16 +686,25 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven enableDrawer(); if (showWelcomeScreen) { + SecondSplashScreenFragment.SHOW = false; getSupportFragmentManager().beginTransaction() .add(R.id.fragmentContainer, new FirstUsageWelcomeFragment(), FirstUsageWelcomeFragment.TAG).commitAllowingStateLoss(); } else if (!isFirstScreenShowing() && XMasDialogFragment.shouldShowXmasDialog(app)) { + SecondSplashScreenFragment.SHOW = false; new XMasDialogFragment().show(getSupportFragmentManager(), XMasDialogFragment.TAG); } FirstUsageWelcomeFragment.SHOW = false; - if (!showWelcomeScreen && SecondSplashScreenFragment.SHOW) { + if (SecondSplashScreenFragment.SHOW) { getSupportFragmentManager().beginTransaction().add(R.id.fragmentContainer, new SecondSplashScreenFragment(), SecondSplashScreenFragment.TAG).commitAllowingStateLoss(); } +// else { +// setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); +// if (settings.MAP_SCREEN_ORIENTATION.get() != getRequestedOrientation()) { +// setRequestedOrientation(settings.MAP_SCREEN_ORIENTATION.get()); +// // can't return from this method we are not sure if activity will be recreated or not +// } +// } SecondSplashScreenFragment.SHOW = false; } From b74c2f6a392e5910006a6d8d88de013dd7be762b Mon Sep 17 00:00:00 2001 From: njohnston Date: Thu, 13 Jul 2017 16:32:38 +0000 Subject: [PATCH 005/140] Add support for showing GPX tracks in pink Pink is one of the least used colours on the map, making it a good choice for clearly showing GPX tracks. Pink was previously available in OsmAnd 2.5 but removed in 2.6. --- OsmAnd/res/values/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index d48bef4920..5011c04356 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -627,6 +627,7 @@ Translucent blue Purple Pink + Translucent pink Brown Translucent purple In order to fully apply the changes, a manual application restart is required. From 0741d3a0427d4cdb17af642a0dc6c3586a7c2c83 Mon Sep 17 00:00:00 2001 From: PavelRatushny Date: Thu, 13 Jul 2017 20:14:02 +0300 Subject: [PATCH 006/140] Add splash screen for phone and tablet from code --- .../first_splash_screen_free.xml | 15 --- .../first_splash_screen_free_dev.xml | 15 --- .../first_splash_screen_plus.xml | 10 -- .../res/drawable/first_splash_screen_free.xml | 7 +- .../drawable/first_splash_screen_free_dev.xml | 7 +- .../res/drawable/first_splash_screen_plus.xml | 2 +- OsmAnd/res/values-land/sizes.xml | 3 + OsmAnd/res/values-sw600dp-land/sizes.xml | 5 + OsmAnd/res/values-sw600dp-port/sizes.xml | 5 + OsmAnd/res/values/sizes.xml | 3 + .../osmand/SecondSplashScreenFragment.java | 118 ++++++------------ .../osmand/plus/activities/MapActivity.java | 19 ++- 12 files changed, 65 insertions(+), 144 deletions(-) delete mode 100644 OsmAnd/res/drawable-land/first_splash_screen_free.xml delete mode 100644 OsmAnd/res/drawable-land/first_splash_screen_free_dev.xml delete mode 100644 OsmAnd/res/drawable-land/first_splash_screen_plus.xml create mode 100644 OsmAnd/res/values-sw600dp-land/sizes.xml create mode 100644 OsmAnd/res/values-sw600dp-port/sizes.xml diff --git a/OsmAnd/res/drawable-land/first_splash_screen_free.xml b/OsmAnd/res/drawable-land/first_splash_screen_free.xml deleted file mode 100644 index 4e12cbfe75..0000000000 --- a/OsmAnd/res/drawable-land/first_splash_screen_free.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/OsmAnd/res/drawable-land/first_splash_screen_free_dev.xml b/OsmAnd/res/drawable-land/first_splash_screen_free_dev.xml deleted file mode 100644 index 4e12cbfe75..0000000000 --- a/OsmAnd/res/drawable-land/first_splash_screen_free_dev.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/OsmAnd/res/drawable-land/first_splash_screen_plus.xml b/OsmAnd/res/drawable-land/first_splash_screen_plus.xml deleted file mode 100644 index dbaa837eb9..0000000000 --- a/OsmAnd/res/drawable-land/first_splash_screen_plus.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/OsmAnd/res/drawable/first_splash_screen_free.xml b/OsmAnd/res/drawable/first_splash_screen_free.xml index 92b8a6f82d..b3d6f99388 100644 --- a/OsmAnd/res/drawable/first_splash_screen_free.xml +++ b/OsmAnd/res/drawable/first_splash_screen_free.xml @@ -2,14 +2,9 @@ - + - - - \ No newline at end of file diff --git a/OsmAnd/res/drawable/first_splash_screen_free_dev.xml b/OsmAnd/res/drawable/first_splash_screen_free_dev.xml index 92b8a6f82d..b3d6f99388 100644 --- a/OsmAnd/res/drawable/first_splash_screen_free_dev.xml +++ b/OsmAnd/res/drawable/first_splash_screen_free_dev.xml @@ -2,14 +2,9 @@ - + - - - \ No newline at end of file diff --git a/OsmAnd/res/drawable/first_splash_screen_plus.xml b/OsmAnd/res/drawable/first_splash_screen_plus.xml index 231252cffd..1dc65ed611 100644 --- a/OsmAnd/res/drawable/first_splash_screen_plus.xml +++ b/OsmAnd/res/drawable/first_splash_screen_plus.xml @@ -2,7 +2,7 @@ - + diff --git a/OsmAnd/res/values-land/sizes.xml b/OsmAnd/res/values-land/sizes.xml index 79aeb33d21..7cf56d5d90 100644 --- a/OsmAnd/res/values-land/sizes.xml +++ b/OsmAnd/res/values-land/sizes.xml @@ -1,4 +1,7 @@ 200dp + + 24dp + 48dp \ No newline at end of file diff --git a/OsmAnd/res/values-sw600dp-land/sizes.xml b/OsmAnd/res/values-sw600dp-land/sizes.xml new file mode 100644 index 0000000000..aaecd82cda --- /dev/null +++ b/OsmAnd/res/values-sw600dp-land/sizes.xml @@ -0,0 +1,5 @@ + + + 200dp + 150dp + \ No newline at end of file diff --git a/OsmAnd/res/values-sw600dp-port/sizes.xml b/OsmAnd/res/values-sw600dp-port/sizes.xml new file mode 100644 index 0000000000..e4cf1852c8 --- /dev/null +++ b/OsmAnd/res/values-sw600dp-port/sizes.xml @@ -0,0 +1,5 @@ + + + 300dp + 200dp + \ No newline at end of file diff --git a/OsmAnd/res/values/sizes.xml b/OsmAnd/res/values/sizes.xml index 16dd668b42..0a922ea0a4 100644 --- a/OsmAnd/res/values/sizes.xml +++ b/OsmAnd/res/values/sizes.xml @@ -138,4 +138,7 @@ 10sp 20sp + + 150dp + 128dp \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java b/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java index 5c1c08afdb..e65f4cc30c 100644 --- a/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java +++ b/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java @@ -6,14 +6,12 @@ import android.os.Bundle; import android.os.Handler; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; -import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.RelativeLayout; -import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; import net.osmand.plus.Version; import net.osmand.plus.activities.MapActivity; @@ -24,7 +22,7 @@ public class SecondSplashScreenFragment extends Fragment { public static boolean SHOW = true; private static final int SECOND_SPLASH_TIME_OUT = 2000; - public boolean hasNavBar () { + private boolean hasNavBar() { int id = getResources().getIdentifier("config_showNavigationBar", "bool", "android"); if (id > 0) return getResources().getBoolean(id); @@ -32,7 +30,7 @@ public class SecondSplashScreenFragment extends Fragment { return false; } - public int getStatusBarHeight() { + private int getStatusBarHeight() { int statusBarHeight = 0; int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android"); if (resourceId > 0) { @@ -41,42 +39,29 @@ public class SecondSplashScreenFragment extends Fragment { return statusBarHeight; } - public int getNavigationBarHeight () { + private int getNavigationBarHeight() { if (!hasNavBar()) return 0; - int orientation = getResources().getConfiguration().orientation; - boolean isSmartphone = getResources().getConfiguration().smallestScreenWidthDp < 600; if (isSmartphone && Configuration.ORIENTATION_LANDSCAPE == orientation) return 0; - int id = getResources().getIdentifier(orientation == Configuration.ORIENTATION_PORTRAIT ? "navigation_bar_height" : "navigation_bar_height_landscape", "dimen", "android"); if (id > 0) return getResources().getDimensionPixelSize(id); - return 0; } - public boolean isSmartphone() { - return getResources().getConfiguration().smallestScreenWidthDp < 600; - } - - public int getNavigationBarWidth () - { + private int getNavigationBarWidth() { if (!hasNavBar()) return 0; - int orientation = getResources().getConfiguration().orientation; - boolean isSmartphone = getResources().getConfiguration().smallestScreenWidthDp < 600; - if (orientation == Configuration.ORIENTATION_LANDSCAPE && isSmartphone) { int id = getResources().getIdentifier("navigation_bar_width", "dimen", "android"); if (id > 0) return getResources().getDimensionPixelSize(id); } - return 0; } @@ -91,34 +76,6 @@ public class SecondSplashScreenFragment extends Fragment { RelativeLayout.LayoutParams logoLayoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); logoLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP); logoLayoutParams.addRule(RelativeLayout.CENTER_HORIZONTAL); - if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT || - AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT) { - int defaultLogoMarginTop = AndroidUtils.dpToPx(getActivity(), 150); - logoLayoutParams.setMargins(0, defaultLogoMarginTop - getStatusBarHeight(), 0, 0); - } else if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE || - AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE) { - if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N_MR1) { - if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) { - int defaultLogoMarginTop = AndroidUtils.dpToPx(getActivity(), 24); - int logoPaddingLeft = getNavigationBarWidth(); - logo.setPadding(logoPaddingLeft, 0, 0, 0); - logoLayoutParams.setMargins(0, defaultLogoMarginTop - getStatusBarHeight(), 0, 0); - } else if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE) { - int defaultLogoMarginTop = AndroidUtils.dpToPx(getActivity(), 24); - int logoPaddingRight = getNavigationBarWidth(); - logo.setPadding(0, 0, logoPaddingRight, 0); - logoLayoutParams.setMargins(0, defaultLogoMarginTop - getStatusBarHeight(), 0, 0); - } - } else { - int defaultLogoMarginTop = AndroidUtils.dpToPx(getActivity(), 24); - int logoPaddingLeft = getNavigationBarWidth(); - logo.setPadding(logoPaddingLeft, 0, 0, 0); - logoLayoutParams.setMargins(0, defaultLogoMarginTop - getStatusBarHeight(), 0, 0); - } - } - logo.setLayoutParams(logoLayoutParams); - view.addView(logo); - ImageView text = new ImageView(getActivity()); if (Version.isFreeVersion(((MapActivity) getActivity()).getMyApplication())) { text.setImageDrawable(getResources().getDrawable(R.drawable.image_text_osmand)); @@ -129,50 +86,53 @@ public class SecondSplashScreenFragment extends Fragment { RelativeLayout.LayoutParams textLayoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); textLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); textLayoutParams.addRule(RelativeLayout.CENTER_HORIZONTAL); - if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT || - AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT) { - int defaultTextMarginBottom = AndroidUtils.dpToPx(getActivity(), 128); - Log.d("PORTRAIT", "defaultTextMarginBottom: " + defaultTextMarginBottom); - Log.d("PORTRAIT", "getNavigationBarHeight: " + getNavigationBarHeight()); - textLayoutParams.setMargins(0, 0, 0, defaultTextMarginBottom - getNavigationBarHeight()); - } else if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE || - AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE) { - if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N_MR1) { - if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) { - int defaultTextMarginBottom = AndroidUtils.dpToPx(getActivity(), 48); - int textPaddingLeft = getNavigationBarWidth(); - text.setPadding(textPaddingLeft, 0, 0, 0); - textLayoutParams.setMargins(0, 0, 0, defaultTextMarginBottom); - } else if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE) { - int defaultTextMarginBottom = AndroidUtils.dpToPx(getActivity(), 48); - int textPaddingRight = getNavigationBarWidth(); - text.setPadding(0, 0, textPaddingRight, 0); - textLayoutParams.setMargins(0, 0, 0, defaultTextMarginBottom); - } - } else { - int defaultTextMarginBottom = AndroidUtils.dpToPx(getActivity(), 48); - int textPaddingLeft = getNavigationBarWidth(); - text.setPadding(textPaddingLeft, 0, 0, 0); - textLayoutParams.setMargins(0, 0, 0, defaultTextMarginBottom); + int defaultLogoMarginTop = (int) getResources().getDimension(R.dimen.splash_screen_logo_top); + int logoMarginTop = defaultLogoMarginTop - getStatusBarHeight(); + int logoPaddingLeft = 0; + int logoPaddingRight = 0; + int defaultTextMarginBottom = (int) getResources().getDimension(R.dimen.splash_screen_text_bottom); + int textMarginBottom = defaultTextMarginBottom - getNavigationBarHeight(); + int textPaddingLeft = 0; + int textPaddingRight = 0; + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N_MR1) { + if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) { + logoPaddingLeft = getNavigationBarWidth(); + textPaddingLeft = getNavigationBarWidth(); + } else if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE) { + logoPaddingRight = getNavigationBarWidth(); + textPaddingRight = getNavigationBarWidth(); } + } else { + logoPaddingLeft = getNavigationBarWidth(); + textPaddingLeft = getNavigationBarWidth(); } + logoLayoutParams.setMargins(0, logoMarginTop, 0, 0); + logo.setPadding(logoPaddingLeft, 0, logoPaddingRight, 0); + logo.setLayoutParams(logoLayoutParams); + view.addView(logo); + textLayoutParams.setMargins(0, 0, 0, textMarginBottom); + text.setPadding(textPaddingLeft, 0, textPaddingRight, 0); text.setLayoutParams(textLayoutParams); view.addView(text); + return view; + } + + @Override + public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); new Handler().postDelayed(new Runnable() { @Override public void run() { -// getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); -// if (((MapActivity)getActivity()).getMyApplication().getSettings().MAP_SCREEN_ORIENTATION.get() != getActivity().getRequestedOrientation()) { -// getActivity().setRequestedOrientation(settings.MAP_SCREEN_ORIENTATION.get()); -// // can't return from this method we are not sure if activity will be recreated or not -// } + getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); + if (((MapActivity)getActivity()).getMyApplication().getSettings().MAP_SCREEN_ORIENTATION.get() != getActivity().getRequestedOrientation()) { + getActivity().setRequestedOrientation(((MapActivity)getActivity()).getMyApplication().getSettings().MAP_SCREEN_ORIENTATION.get()); + // can't return from this method we are not sure if activity will be recreated or not + } getActivity().getSupportFragmentManager().beginTransaction().remove(SecondSplashScreenFragment.this).commitAllowingStateLoss(); } }, SECOND_SPLASH_TIME_OUT); - - return view; } @Override diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java index 2997bb5228..c01d74dc5c 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java @@ -191,7 +191,7 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven @Override public void onCreate(Bundle savedInstanceState) { -// setRequestedOrientation(AndroidUiHelper.getScreenOrientation(this)); + setRequestedOrientation(AndroidUiHelper.getScreenOrientation(this)); overridePendingTransition(0, 0); long tm = System.currentTimeMillis(); app = getMyApplication(); @@ -548,10 +548,6 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven if (getSupportActionBar() != null) { getSupportActionBar().hide(); } - if (settings.MAP_SCREEN_ORIENTATION.get() != getRequestedOrientation()) { - setRequestedOrientation(settings.MAP_SCREEN_ORIENTATION.get()); - // can't return from this method we are not sure if activity will be recreated or not - } app.getLocationProvider().checkIfLastKnownLocationIsValid(); // for voice navigation @@ -697,14 +693,13 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven FirstUsageWelcomeFragment.SHOW = false; if (SecondSplashScreenFragment.SHOW) { getSupportFragmentManager().beginTransaction().add(R.id.fragmentContainer, new SecondSplashScreenFragment(), SecondSplashScreenFragment.TAG).commitAllowingStateLoss(); + } else { + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); + if (settings.MAP_SCREEN_ORIENTATION.get() != getRequestedOrientation()) { + setRequestedOrientation(settings.MAP_SCREEN_ORIENTATION.get()); + // can't return from this method we are not sure if activity will be recreated or not + } } -// else { -// setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); -// if (settings.MAP_SCREEN_ORIENTATION.get() != getRequestedOrientation()) { -// setRequestedOrientation(settings.MAP_SCREEN_ORIENTATION.get()); -// // can't return from this method we are not sure if activity will be recreated or not -// } -// } SecondSplashScreenFragment.SHOW = false; } From 6059edbe0050644f347ad540c74631d9a2175a14 Mon Sep 17 00:00:00 2001 From: PavelRatushny Date: Thu, 13 Jul 2017 20:35:40 +0300 Subject: [PATCH 007/140] Delete unnecessary layout for second splash --- .../drawable-land/second_splash_screen_plus.xml | 15 --------------- OsmAnd/res/drawable/second_splash_screen_plus.xml | 15 --------------- OsmAnd/res/layout/second_splash_screen_layout.xml | 9 --------- 3 files changed, 39 deletions(-) delete mode 100644 OsmAnd/res/drawable-land/second_splash_screen_plus.xml delete mode 100644 OsmAnd/res/drawable/second_splash_screen_plus.xml delete mode 100644 OsmAnd/res/layout/second_splash_screen_layout.xml diff --git a/OsmAnd/res/drawable-land/second_splash_screen_plus.xml b/OsmAnd/res/drawable-land/second_splash_screen_plus.xml deleted file mode 100644 index 55335c9752..0000000000 --- a/OsmAnd/res/drawable-land/second_splash_screen_plus.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/OsmAnd/res/drawable/second_splash_screen_plus.xml b/OsmAnd/res/drawable/second_splash_screen_plus.xml deleted file mode 100644 index 1ac702fc52..0000000000 --- a/OsmAnd/res/drawable/second_splash_screen_plus.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/OsmAnd/res/layout/second_splash_screen_layout.xml b/OsmAnd/res/layout/second_splash_screen_layout.xml deleted file mode 100644 index 3c9cf4f7a7..0000000000 --- a/OsmAnd/res/layout/second_splash_screen_layout.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - \ No newline at end of file From 46a2e88c24ae587b16e3b671cfdced438e47dc5b Mon Sep 17 00:00:00 2001 From: PavelRatushny Date: Thu, 13 Jul 2017 20:36:07 +0300 Subject: [PATCH 008/140] Fix gradle --- OsmAnd/build.gradle | 8 ++++---- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/OsmAnd/build.gradle b/OsmAnd/build.gradle index f6ba50073e..38697f2e4b 100644 --- a/OsmAnd/build.gradle +++ b/OsmAnd/build.gradle @@ -385,10 +385,10 @@ dependencies { // compile project(':eclipse-compile:design') // compile project(':eclipse-compile:cardview') // compile project(':eclipse-compile:gridlayout') - compile 'com.android.support:gridlayout-v7:25.3.1' - compile 'com.android.support:cardview-v7:25.3.1' - compile 'com.android.support:appcompat-v7:25.3.1' - compile 'com.android.support:design:25.3.1' + compile 'com.android.support:gridlayout-v7:25.+' + compile 'com.android.support:cardview-v7:25.+' + compile 'com.android.support:appcompat-v7:25.+' + compile 'com.android.support:design:25.+' compile fileTree(include: ['*.jar'], exclude: ['QtAndroid-bundled.jar', 'QtAndroidAccessibility-bundled.jar', 'OsmAndCore_android.jar', 'OsmAndCore_wrapper.jar', 'android-support-multidex.jar'], dir: 'libs') legacyCompile "net.osmand:OsmAndCore_android:0.1-SNAPSHOT@jar" qtcoredebugCompile "net.osmand:OsmAndCore_androidNativeDebug:0.1-SNAPSHOT@aar" diff --git a/build.gradle b/build.gradle index d1b579b89c..5cad9d08ae 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:2.1.3' + classpath 'com.android.tools.build:gradle:2.+' classpath 'com.google.gms:google-services:3.0.0' } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8679e4507f..b12618a3f9 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-bin.zip From a540d473202af2f10754eca284de40a8a187e36d Mon Sep 17 00:00:00 2001 From: PavelRatushny Date: Fri, 14 Jul 2017 09:57:24 +0300 Subject: [PATCH 009/140] Fix logo for different versions --- OsmAnd/src/net/osmand/SecondSplashScreenFragment.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java b/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java index e65f4cc30c..e71254190a 100644 --- a/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java +++ b/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java @@ -72,7 +72,12 @@ public class SecondSplashScreenFragment extends Fragment { view.setBackgroundColor(getResources().getColor(R.color.map_background_color_light)); ImageView logo = new ImageView(getContext()); - logo.setImageDrawable(getResources().getDrawable(R.drawable.ic_logo_splash_osmand_plus)); + if (Version.isFreeVersion(((MapActivity) getActivity()).getMyApplication())) { + logo.setImageDrawable(getResources().getDrawable(R.drawable.ic_logo_splash_osmand)); + } else if ((Version.isPaidVersion(((MapActivity) getActivity()).getMyApplication())) || + (Version.isDeveloperVersion(((MapActivity) getActivity()).getMyApplication()))) { + logo.setImageDrawable(getResources().getDrawable(R.drawable.ic_logo_splash_osmand_plus)); + } RelativeLayout.LayoutParams logoLayoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); logoLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP); logoLayoutParams.addRule(RelativeLayout.CENTER_HORIZONTAL); From 0bd6b0134ae6b0054cdb0c1e113a1bd8f1ab7b4f Mon Sep 17 00:00:00 2001 From: Xuacu Saturio Date: Thu, 13 Jul 2017 16:44:44 +0000 Subject: [PATCH 010/140] Translated using Weblate (Asturian) Currently translated at 37.2% (877 of 2356 strings) --- OsmAnd/res/values-b+ast/strings.xml | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/OsmAnd/res/values-b+ast/strings.xml b/OsmAnd/res/values-b+ast/strings.xml index 9f8aaea9bd..f7f97254cc 100644 --- a/OsmAnd/res/values-b+ast/strings.xml +++ b/OsmAnd/res/values-b+ast/strings.xml @@ -1,4 +1,5 @@ - + + Allugamientos Complementos Nun hai anovamientos disponibles @@ -460,7 +461,7 @@ Llo %2$s Bengalí Tagalu Serbocroata - Azerí + Azerbaiyanu Bishnupriya Navayu Curdu @@ -543,7 +544,7 @@ L\'allugamientu y tiempu son visibles nel cuadru de mandos d\'OsmAnd tamién nel Amestar a favoritos Grabación de viaxe El complementu de notes d\'audiu/videu apurre la funcionalidá de facer notes d\'audiu/semeyes/videu nun viaxe, usando un botón na pantalla\'l mapa o direutamente dende\'l menú contestual pa cualesquier posición nel mapa. - Llibre %1$s + %1$s llibre DESANICIAR ETIQUETA Pasos peatones Entá ta executándose\'l serviciu de fondu d\'OsmAnd. ¿Quies paralu tamién? @@ -674,7 +675,7 @@ Puntos Espera fasta que fines la xera actual, por favor Amenorga\'l ruíu nes llectures de la brúxula pero amiesta inercia Usar peñera Kalman - Usa\'l sensor magnéticu pa determinar el valor de la brúxula en cuentes del sensor d\'orientación + Pa lleer la brúxula, usar el sensor magnéticu en cuentes del sensor d\'orientación Falten %1$d ficheros Versión completa Llimpiar destín @@ -713,8 +714,8 @@ Puntos Barra cimera Afita\'l tamañu\'l testu nel mapa. Habilita la navegación pa camudancies d\'OSM Live (Beta) - Evita\'l recálculu automáticu de ruta al tar daqué lloñe del camín correutu - Evita\'l recálculu automáticu de ruta cuando teas diendo pela direición incorreuta + Evita\'l recálculu automáticu de la ruta después d\'abandonala + Evita\'l recálculu automáticu de la ruta cuando sólo te muevas en direición contraria Primi pa ver la ID del rastrexador Esti complementu apurre de mou parcial la función de Siguimientu d\'OpenStreetMap, mira https://osmo.mobi \n @@ -724,7 +725,7 @@ Puntos \n \nEl grupu nun se desanició dempués de meses, ponlu en llinia coles regles coles que crees grupos nel sitiu web OsMo.mobi Para de simular el to allugamientu - Simula usando una ruta calculada o un GPX grabáu + Simular la posición usando una ruta calculada o una traza GPX grabada Posaráse\'l rexistru de GPX cuando s\'amortie l\'aplicación (per aplicaciones recientes). (La indicación de fondu d\'OsmAnd desapaecerá de la barra d\'avisos d\'Android). Restaurar merques Fontes pal mapa @@ -868,11 +869,11 @@ Puntos Grabar Ensin datos Rexistru de velocidá mínima - Afita la velocidá mínima pa un un puntu a rexistrar - Rexistru de deteición de movición - Afita la distancia mínima dende la cabera posición pal puntu a rexistrar + Filtru: Configura la velocidá mínima pa rexistrar un puntu + Movimientu mínimu a grabar + Filtru: Configura la distancia mínima dende la cabera posición pa rexistrar el puntu Rexistru de precisión mínimo - Afita la precisión mínimo pa un puntu a rexistrar + Filtru: Configura la precisión mínima pa rexistrar un puntu POI de Nadal Anticipa les vacaciones de Nadal y Añu nuevu, pues escoyer l\'amosar los POI asociaos col Nadal: Árboles de nadal, tiendes... etc. ¿Amosar POI de Nadal? @@ -888,7 +889,7 @@ Puntos Amosar %1$s nel mapa Abierto 24/7 Ruta actual - Nun camudar la ruta al tar fuera de la carretera + Nun recalcular la ruta cuando s\'abandone Permisos OsmAnd nun pudo importar el ficheru. Comprueba si OsmAnd tien permisu pa lleer el ficheru dende\'l so allugamientu. Distancia correxida @@ -925,4 +926,4 @@ Puntos Conxuntu de mapes que contienen la batimetría y puntos del fondu del mar. ¡Gracies por comprar les curves de fondura marina! - \ No newline at end of file + From 5078e1eacbad1735eeb8facbcfe27a0c439adde5 Mon Sep 17 00:00:00 2001 From: elPresidento Date: Fri, 14 Jul 2017 07:17:58 +0000 Subject: [PATCH 011/140] Translated using Weblate (Czech) Currently translated at 99.3% (2340 of 2356 strings) --- OsmAnd/res/values-cs/strings.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-cs/strings.xml b/OsmAnd/res/values-cs/strings.xml index f6039dfd4f..143609a864 100644 --- a/OsmAnd/res/values-cs/strings.xml +++ b/OsmAnd/res/values-cs/strings.xml @@ -1,4 +1,5 @@ - + + Off-line vektorové mapy toto místo neobsahují. Mapová data můžete stáhnout v Nastavení (Stáhnout mapy), nebo se přepněte na on-line mapy (vyžaduje modul „On-line mapy“). Nahrát GPX soubory do OSM? @@ -2674,4 +2675,5 @@ Pokud potřebujete pomoci s aplikací OsmAnd, prosím kontaktujte naši podporu Čas pohybu Max/Min - \ No newline at end of file + Min/Max + From 5a20049ef230419b3bb477821df3a2ad46106bab Mon Sep 17 00:00:00 2001 From: Xuacu Saturio Date: Thu, 13 Jul 2017 16:31:26 +0000 Subject: [PATCH 012/140] Translated using Weblate (Asturian) Currently translated at 7.3% (228 of 3116 strings) --- OsmAnd/res/values-b+ast/phrases.xml | 125 ++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) diff --git a/OsmAnd/res/values-b+ast/phrases.xml b/OsmAnd/res/values-b+ast/phrases.xml index 3f8afa3aae..28dea222d6 100644 --- a/OsmAnd/res/values-b+ast/phrases.xml +++ b/OsmAnd/res/values-b+ast/phrases.xml @@ -106,4 +106,129 @@ Tresporte ciclista Tresporte per cable Nudos de rede d\'escursionismu/ciclismu + Rutes d\'escursionismu + Control del tráficu + Artificial + Tresporte en construcción + Suministru d\'agua + Enerxía + Vertíu de basoria + Usu del suelu + Educación + Alministrativu + Sanidá + Oficina + Deporte + Turismu + Visita interesante + Agospiamientu + Accesu a Internet + Entretenimientu + Club + Comida + Café y restaurante + Serviciu + Artesanía + Finances + Naturaleza + Náutica + Militar + Wikipedia + Definíu pol usuariu + + Xacimientu paleontolóxicu + + Panadería + Llicorería + Quesería + Chicolatería + Tienda de cafés + Tienda d\'alimentación + Centru comercial + Tienda de bébora + Carnicería + Tienda gourmet + Productos d\'aldea + Verdulería + Pescadería + Pastelería + Xeladería + Supermercáu + Venta de te + Tienda de pasta + Confitería + Llechería + Máquina vendedora + Tienda de vinos + Llibrería + Tienda de bicicletes + Tienda d\'anime + Anticuariu + Galería d\'arte + Artículos pa nácaros + Bolsos + Muebles de bañu + Ropa de cama + Boutique + Cámares y lentes + Tienda d\'alfombres + Tienda benéfica + Droguería + Tienda de ropa + Ropa infantil + Zapatería + Cerería + Tienda d\'informática + Copistería + Tienda de cortines + Tienda de teles +Equipamientu de merguyu + Tienda de bricolaxe + Puertes + Tienda erótica + Tienda de moda + Equipamientu de pesca + Floristería + Tienda de marcos + Artículos de vuelu llibre +Mueblería + Centru de xardinería + Muebles de xardín + Tienda de gas líquidu + Bazar + Tienda de regalos + Cristalería + Ferretería + Audífonos + Herbolariu + Equipos d\'alta fidelidá + Complementos pal llar + Equipamientu de caza + Decoración d\'interiores + Xoyería + Quioscu + Muebles de cocina + Artículos de cueru + Suministros médicos + Tienda de telefonía móvil + Tienda de motocicletes + Tienda de música + Instrumentos musicales + Prensa + Optometría + Comida ecolóxica + Tienda d\'aire llibre + Pintures + Tienda d\'animales + Tienda de fotografía + Tienda de radioteunia + Tienda de segunda mano + Artículos de merguyu con botella + Efeutos navales + Material deportivu + Papelería + Tienda de cacía + Venta d\'entraes + Estancu + Xuguetería From dfeef96366ccda70ea2262ce89bc310539f39650 Mon Sep 17 00:00:00 2001 From: josep constanti Date: Fri, 14 Jul 2017 06:18:56 +0000 Subject: [PATCH 013/140] Translated using Weblate (Catalan) Currently translated at 90.6% (2825 of 3116 strings) --- OsmAnd/res/values-ca/phrases.xml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-ca/phrases.xml b/OsmAnd/res/values-ca/phrases.xml index 05bb276c05..f5ed753a2a 100644 --- a/OsmAnd/res/values-ca/phrases.xml +++ b/OsmAnd/res/values-ca/phrases.xml @@ -956,10 +956,10 @@ Fax Facebook Mòbil - Tipus de refugi: per gossos - Tipus de refugi: per gats - Tipus de refugi: per gossos i gats - Tipus de refugi: per ocells + Gossos + Gats + Gossos i gats + Ocells Deixalleria Contenidor @@ -3106,4 +3106,9 @@ Tipus de moto Curri + Animals admesos + Finalitat + +Civilització: hèrnica + Període històric: principat (27 aC - 284 dC) From abd5932f013af14d142ea76fac5dd0f6e6c9927b Mon Sep 17 00:00:00 2001 From: ezjerry liao Date: Fri, 14 Jul 2017 04:58:34 +0000 Subject: [PATCH 014/140] Translated using Weblate (Chinese (Traditional)) Currently translated at 99.9% (3113 of 3116 strings) --- OsmAnd/res/values-zh-rTW/phrases.xml | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-zh-rTW/phrases.xml b/OsmAnd/res/values-zh-rTW/phrases.xml index f75535dd08..32a76801d9 100644 --- a/OsmAnd/res/values-zh-rTW/phrases.xml +++ b/OsmAnd/res/values-zh-rTW/phrases.xml @@ -950,10 +950,10 @@ 傳真 臉書 行動電話 - 收容所類型:狗 - 收容所類型:貓 - 收容所類型:狗、貓 - 收容所類型:鳥 + + + 狗、貓 + 鳥類 淋浴 類型:資源回收中心 @@ -3434,4 +3434,20 @@ 業主 +動物收容所 + 目的 + +野生動物 + + 哺乳動物 + 魚類 + + 聖誕節:活動期間 + 領養:是的 + 領養:否 + 釋放:是的 + 釋放:否 + + 太空中心 + From 0e297b70b2f5c7152530cb2b8b551ce3278a472f Mon Sep 17 00:00:00 2001 From: elPresidento Date: Fri, 14 Jul 2017 07:17:19 +0000 Subject: [PATCH 015/140] Translated using Weblate (Czech) Currently translated at 98.0% (3056 of 3116 strings) --- OsmAnd/res/values-cs/phrases.xml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-cs/phrases.xml b/OsmAnd/res/values-cs/phrases.xml index 0987b6b3d5..f5d4ef6219 100644 --- a/OsmAnd/res/values-cs/phrases.xml +++ b/OsmAnd/res/values-cs/phrases.xml @@ -1213,10 +1213,10 @@ Město Venkov - Typ útulku: pes - Typ útulku: kočky - Typ útulku: pes, kočka - Typ útulku: pták + Psi + Kočky + Psi, kočky + Ptáci Sedačky Opěradlo: ano @@ -3383,4 +3383,7 @@ Služby Typ motocyklu +Zvířata povolena + Účel + From a9866e86cd508e38dabaed5fa9797be90bd6a835 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus=20R=C3=BCdinger?= Date: Thu, 13 Jul 2017 20:12:01 +0000 Subject: [PATCH 016/140] Translated using Weblate (German) Currently translated at 99.3% (3096 of 3116 strings) --- OsmAnd/res/values-de/phrases.xml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/OsmAnd/res/values-de/phrases.xml b/OsmAnd/res/values-de/phrases.xml index db4a5b8a22..9d96d2c699 100644 --- a/OsmAnd/res/values-de/phrases.xml +++ b/OsmAnd/res/values-de/phrases.xml @@ -1002,10 +1002,10 @@ Privatweg Anlieger frei Zutritt erlaubt - Asylform: Hunde - Asylform: Katzen - Asylform: Hunde, Katzen - Asylform: Vögel + Hunde + Katzen + Hunde, Katzen + Vögel Mühlenteich Twitter @@ -3405,4 +3405,9 @@ Reiseenduro Standard - +Wildtiere + Pferde + Säugetiere + Fische + + From 0411b3a335e673a50ce5c4848a9fddc62efef7e2 Mon Sep 17 00:00:00 2001 From: Victor Shcherb Date: Fri, 14 Jul 2017 10:55:33 +0200 Subject: [PATCH 017/140] Move code below --- OsmAnd/src/net/osmand/plus/GPXDatabase.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/GPXDatabase.java b/OsmAnd/src/net/osmand/plus/GPXDatabase.java index de16d07f8d..5799532663 100644 --- a/OsmAnd/src/net/osmand/plus/GPXDatabase.java +++ b/OsmAnd/src/net/osmand/plus/GPXDatabase.java @@ -177,15 +177,19 @@ public class GPXDatabase { } if (oldVersion < 3) { db.execSQL("ALTER TABLE " + GPX_TABLE_NAME + " ADD " + GPX_COL_FILE_LAST_MODIFIED_TIME + " long"); + } + + if (oldVersion < 4) { + db.execSQL("ALTER TABLE " + GPX_TABLE_NAME + " ADD " + GPX_COL_SPLIT_TYPE + " int"); + db.execSQL("ALTER TABLE " + GPX_TABLE_NAME + " ADD " + GPX_COL_SPLIT_INTERVAL + " double"); + } + + if (oldVersion < 3) { List items = getItems(); for (GpxDataItem item : items) { updateLastModifiedTime(item); } } - if (oldVersion < 4) { - db.execSQL("ALTER TABLE " + GPX_TABLE_NAME + " ADD " + GPX_COL_SPLIT_TYPE + " int"); - db.execSQL("ALTER TABLE " + GPX_TABLE_NAME + " ADD " + GPX_COL_SPLIT_INTERVAL + " double"); - } } private boolean updateLastModifiedTime(GpxDataItem item) { From 94330f490399cc8e7b92ba70337f5b1b48de73e2 Mon Sep 17 00:00:00 2001 From: Viktar Vauchkevich Date: Fri, 14 Jul 2017 09:31:01 +0000 Subject: [PATCH 018/140] Translated using Weblate (Belarusian) Currently translated at 100.0% (3116 of 3116 strings) --- OsmAnd/res/values-be/phrases.xml | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-be/phrases.xml b/OsmAnd/res/values-be/phrases.xml index e1868edf07..f73b1faa44 100644 --- a/OsmAnd/res/values-be/phrases.xml +++ b/OsmAnd/res/values-be/phrases.xml @@ -961,10 +961,10 @@ Факс Фэйсбук Сотавы тэлефон - Тып прытулку: для сабак - Тып прытулку: для котак - Тып прытулку: для сабак і котак - Тып прытулку: для птушак + Сабакі + Каты + Сабакі, каты + Птушкі Душ Пункт прыёму @@ -3449,4 +3449,19 @@ Уладальнік +Прымаюцца жывёлы + Мэта + +Звяры + Коні + Сысуны + Рыбы + + Апека: так + Апека: не + Выпуск: так + Выпуск: не + + Касмадром + From 40530a4792d12c83ce41c387f109d50e825c8444 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D3=98mrah=20N=D3=99biyev?= Date: Fri, 14 Jul 2017 15:07:18 +0400 Subject: [PATCH 019/140] Update phrases.xml --- OsmAnd/res/values-az/phrases.xml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-az/phrases.xml b/OsmAnd/res/values-az/phrases.xml index cde9ab199f..614bb39871 100644 --- a/OsmAnd/res/values-az/phrases.xml +++ b/OsmAnd/res/values-az/phrases.xml @@ -1,5 +1,6 @@ -Ofis + + Ofis İdman Turizm Klub @@ -87,7 +88,6 @@ Çınqıl Gips Dəmir filizi - Poçt şöbəsi Poçt qutusu Telefon @@ -122,7 +122,6 @@ GTL dizel HGV dizel Bio dizel - İctimai nəqliyyat dayanacağı Avtobus dayanacağı Avtobus dayanacağı @@ -149,4 +148,4 @@ Stadion İdman mərkəzi Qolf - + From 9a63d07c21ee6be8b827b1d626ff0994be589c76 Mon Sep 17 00:00:00 2001 From: PavelRatushny Date: Fri, 14 Jul 2017 14:27:02 +0300 Subject: [PATCH 020/140] Add delay for 5 seconds --- .../osmand/SecondSplashScreenFragment.java | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java b/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java index e71254190a..d60362454b 100644 --- a/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java +++ b/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java @@ -20,7 +20,7 @@ import net.osmand.plus.helpers.AndroidUiHelper; public class SecondSplashScreenFragment extends Fragment { public static final String TAG = "SecondSplashScreenFragment"; public static boolean SHOW = true; - private static final int SECOND_SPLASH_TIME_OUT = 2000; + private static final int SECOND_SPLASH_TIME_OUT = 5000; private boolean hasNavBar() { int id = getResources().getIdentifier("config_showNavigationBar", "bool", "android"); @@ -124,28 +124,25 @@ public class SecondSplashScreenFragment extends Fragment { } @Override - public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); + public void onResume() { + super.onResume(); + ((MapActivity)getActivity()).disableDrawer(); new Handler().postDelayed(new Runnable() { @Override public void run() { - getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); - if (((MapActivity)getActivity()).getMyApplication().getSettings().MAP_SCREEN_ORIENTATION.get() != getActivity().getRequestedOrientation()) { - getActivity().setRequestedOrientation(((MapActivity)getActivity()).getMyApplication().getSettings().MAP_SCREEN_ORIENTATION.get()); - // can't return from this method we are not sure if activity will be recreated or not + if ((MapActivity)getActivity() != null) { + ((MapActivity)getActivity()).setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); + if (((MapActivity)getActivity()).getMyApplication().getSettings().MAP_SCREEN_ORIENTATION.get() != getActivity().getRequestedOrientation()) { + getActivity().setRequestedOrientation(((MapActivity)getActivity()).getMyApplication().getSettings().MAP_SCREEN_ORIENTATION.get()); + // can't return from this method we are not sure if activity will be recreated or not + } + ((MapActivity)getActivity()).getSupportFragmentManager().beginTransaction().remove(SecondSplashScreenFragment.this).commitAllowingStateLoss(); } - getActivity().getSupportFragmentManager().beginTransaction().remove(SecondSplashScreenFragment.this).commitAllowingStateLoss(); } }, SECOND_SPLASH_TIME_OUT); } - @Override - public void onResume() { - super.onResume(); - ((MapActivity)getActivity()).disableDrawer(); - } - @Override public void onPause() { super.onPause(); From 465e42448802f601c966cf8d69f18816f664b621 Mon Sep 17 00:00:00 2001 From: PavelRatushny Date: Fri, 14 Jul 2017 15:31:29 +0300 Subject: [PATCH 021/140] First splash on center --- OsmAnd/res/drawable/first_splash_screen_free.xml | 4 ++-- .../res/drawable/first_splash_screen_free_dev.xml | 4 ++-- OsmAnd/res/drawable/first_splash_screen_plus.xml | 4 ++-- .../net/osmand/SecondSplashScreenFragment.java | 15 +++++++++------ 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/OsmAnd/res/drawable/first_splash_screen_free.xml b/OsmAnd/res/drawable/first_splash_screen_free.xml index b3d6f99388..aec9198e4d 100644 --- a/OsmAnd/res/drawable/first_splash_screen_free.xml +++ b/OsmAnd/res/drawable/first_splash_screen_free.xml @@ -2,9 +2,9 @@ - + \ No newline at end of file diff --git a/OsmAnd/res/drawable/first_splash_screen_free_dev.xml b/OsmAnd/res/drawable/first_splash_screen_free_dev.xml index b3d6f99388..aec9198e4d 100644 --- a/OsmAnd/res/drawable/first_splash_screen_free_dev.xml +++ b/OsmAnd/res/drawable/first_splash_screen_free_dev.xml @@ -2,9 +2,9 @@ - + \ No newline at end of file diff --git a/OsmAnd/res/drawable/first_splash_screen_plus.xml b/OsmAnd/res/drawable/first_splash_screen_plus.xml index 1dc65ed611..278da90a36 100644 --- a/OsmAnd/res/drawable/first_splash_screen_plus.xml +++ b/OsmAnd/res/drawable/first_splash_screen_plus.xml @@ -2,9 +2,9 @@ - + \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java b/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java index d60362454b..7f598417a7 100644 --- a/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java +++ b/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java @@ -21,6 +21,7 @@ public class SecondSplashScreenFragment extends Fragment { public static final String TAG = "SecondSplashScreenFragment"; public static boolean SHOW = true; private static final int SECOND_SPLASH_TIME_OUT = 5000; + private boolean started = false; private boolean hasNavBar() { int id = getResources().getIdentifier("config_showNavigationBar", "bool", "android"); @@ -69,6 +70,7 @@ public class SecondSplashScreenFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { RelativeLayout view = new RelativeLayout(getActivity()); + view.setOnClickListener(null); view.setBackgroundColor(getResources().getColor(R.color.map_background_color_light)); ImageView logo = new ImageView(getContext()); @@ -127,11 +129,12 @@ public class SecondSplashScreenFragment extends Fragment { public void onResume() { super.onResume(); ((MapActivity)getActivity()).disableDrawer(); - new Handler().postDelayed(new Runnable() { + if (!started) { + started = true; + new Handler().postDelayed(new Runnable() { - @Override - public void run() { - if ((MapActivity)getActivity() != null) { + @Override + public void run() { ((MapActivity)getActivity()).setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); if (((MapActivity)getActivity()).getMyApplication().getSettings().MAP_SCREEN_ORIENTATION.get() != getActivity().getRequestedOrientation()) { getActivity().setRequestedOrientation(((MapActivity)getActivity()).getMyApplication().getSettings().MAP_SCREEN_ORIENTATION.get()); @@ -139,8 +142,8 @@ public class SecondSplashScreenFragment extends Fragment { } ((MapActivity)getActivity()).getSupportFragmentManager().beginTransaction().remove(SecondSplashScreenFragment.this).commitAllowingStateLoss(); } - } - }, SECOND_SPLASH_TIME_OUT); + }, SECOND_SPLASH_TIME_OUT); + } } @Override From e34d91dfabd6ec3e51d1f0333edbc3bdb6c16a90 Mon Sep 17 00:00:00 2001 From: josep constanti Date: Fri, 14 Jul 2017 12:29:54 +0000 Subject: [PATCH 022/140] Translated using Weblate (Catalan) Currently translated at 90.7% (2827 of 3116 strings) --- OsmAnd/res/values-ca/phrases.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OsmAnd/res/values-ca/phrases.xml b/OsmAnd/res/values-ca/phrases.xml index f5ed753a2a..094f6e872c 100644 --- a/OsmAnd/res/values-ca/phrases.xml +++ b/OsmAnd/res/values-ca/phrases.xml @@ -3111,4 +3111,6 @@ Civilització: hèrnica Període històric: principat (27 aC - 284 dC) + Baguets + Pastissos From 0a3c443f21429bd79225858d1a476935665ec5e6 Mon Sep 17 00:00:00 2001 From: Dmitriy Prodchenko Date: Fri, 14 Jul 2017 18:42:13 +0300 Subject: [PATCH 023/140] Change Latest changes URL --- OsmAnd/src/net/osmand/plus/AppInitializer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/src/net/osmand/plus/AppInitializer.java b/OsmAnd/src/net/osmand/plus/AppInitializer.java index 15b3b8f1ca..08fcb40034 100644 --- a/OsmAnd/src/net/osmand/plus/AppInitializer.java +++ b/OsmAnd/src/net/osmand/plus/AppInitializer.java @@ -86,7 +86,7 @@ public class AppInitializer implements IProgress { private static final String VERSION_INSTALLED = "VERSION_INSTALLED"; //$NON-NLS-1$ private static final String EXCEPTION_FILE_SIZE = "EXCEPTION_FS"; //$NON-NLS-1$ - public static final String LATEST_CHANGES_URL = "http://osmand.net/blog?id=osmand-2-6-released"; + public static final String LATEST_CHANGES_URL = "http://osmand.net/blog?id=osmand-2-7-released"; // public static final String LATEST_CHANGES_URL = null; // not enough to read public static final int APP_EXIT_CODE = 4; public static final String APP_EXIT_KEY = "APP_EXIT_KEY"; From 10cd330b586dca61af1c25b16dfaab0c6e893dd5 Mon Sep 17 00:00:00 2001 From: Dmitriy Prodchenko Date: Fri, 14 Jul 2017 18:49:04 +0300 Subject: [PATCH 024/140] Add strings with release notes for 2.7 --- OsmAnd/res/values/strings.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index d48bef4920..336f36e7d9 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -163,6 +163,12 @@ \u2022 Several other improvements and bug fixes\n\n and more… + + \u2022 Mapillary plugin with street-level imagery\n\n + \u2022 Ruler widget for distance measurement\n\n + \u2022 GPX split intervals with detailed info about your track\n\n + \u2022 Other improvements and bug fixes\n\n + Auto-split recordings after gap Start new segment after gap of 6 min, new track after gap of 2 h, or new file after longer gap if date has changed. Contour lines density From c854b28371826d80165465b935382c1c50f90567 Mon Sep 17 00:00:00 2001 From: PavelRatushny Date: Fri, 14 Jul 2017 18:49:47 +0300 Subject: [PATCH 025/140] Add support for kmz --- OsmAnd/AndroidManifest.xml | 5 ++ .../osmand/plus/helpers/GpxImportHelper.java | 59 +++++++++++++++++++ 2 files changed, 64 insertions(+) diff --git a/OsmAnd/AndroidManifest.xml b/OsmAnd/AndroidManifest.xml index 72d1495689..ee5f79a412 100644 --- a/OsmAnd/AndroidManifest.xml +++ b/OsmAnd/AndroidManifest.xml @@ -131,6 +131,11 @@ + + + + + diff --git a/OsmAnd/src/net/osmand/plus/helpers/GpxImportHelper.java b/OsmAnd/src/net/osmand/plus/helpers/GpxImportHelper.java index 517d8c4694..826995ad32 100644 --- a/OsmAnd/src/net/osmand/plus/helpers/GpxImportHelper.java +++ b/OsmAnd/src/net/osmand/plus/helpers/GpxImportHelper.java @@ -36,6 +36,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Locale; +import java.util.zip.ZipInputStream; /** * @author Koen Rabaey @@ -43,6 +44,7 @@ import java.util.Locale; public class GpxImportHelper { public static final String KML_SUFFIX = ".kml"; + public static final String KMZ_SUFFIX = ".kmz"; public static final String GPX_SUFFIX = ".gpx"; private final Activity activity; private final OsmandApplication app; @@ -86,6 +88,8 @@ public class GpxImportHelper { if (fileName != null && fileName.endsWith(KML_SUFFIX)) { handleKmlImport(intentUri, fileName, saveFile, useImportDir); + } else if (fileName != null && fileName.endsWith(KMZ_SUFFIX)) { + handleKmzImport(intentUri, fileName, saveFile, useImportDir); } else { handleFavouritesImport(intentUri, fileName, saveFile, useImportDir); } @@ -218,6 +222,59 @@ public class GpxImportHelper { }.execute(); } + private void handleKmzImport(final Uri kmzFile, final String name, final boolean save, final boolean useImportDir) { + new AsyncTask() { + ProgressDialog progress = null; + + @Override + protected void onPreExecute() { + progress = ProgressDialog.show(activity, app.getString(R.string.loading_smth, ""), app.getString(R.string.loading_data)); + } + + @Override + protected GPXFile doInBackground(Void... voids) { + InputStream is = null; + ZipInputStream zis = null; + try { + final ParcelFileDescriptor pFD = app.getContentResolver().openFileDescriptor(kmzFile, "r"); + if (pFD != null) { + is = new FileInputStream(pFD.getFileDescriptor()); + zis = new ZipInputStream(is); + zis.getNextEntry(); + final String result = Kml2Gpx.toGpx(zis); + if (result != null) { + try { + return GPXUtilities.loadGPXFile(app, new ByteArrayInputStream(result.getBytes("UTF-8"))); + } catch (UnsupportedEncodingException e) { + return null; + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + if (is != null) { + is.close(); + } + if (zis != null) { + zis.close(); + } + } catch (IOException ignore) { + } + } + return null; + } + + @Override + protected void onPostExecute(GPXFile result) { + progress.dismiss(); + handleResult(result, name, save, useImportDir); + } + + }.execute(); + } + private void handleKmlImport(final Uri kmlFile, final String name, final boolean save, final boolean useImportDir) { new AsyncTask() { ProgressDialog progress = null; @@ -345,6 +402,8 @@ public class GpxImportHelper { } if (fileName.endsWith(KML_SUFFIX)) { builder.replace(builder.length() - KML_SUFFIX.length(), builder.length(), GPX_SUFFIX); + } else if (fileName.endsWith(KMZ_SUFFIX)) { + builder.replace(builder.length() - KMZ_SUFFIX.length(), builder.length(), GPX_SUFFIX); } else if (!fileName.endsWith(GPX_SUFFIX)) { builder.append(GPX_SUFFIX); } From b570f7e26e40e899d36dbfde254df6450071eb10 Mon Sep 17 00:00:00 2001 From: Dmitriy Prodchenko Date: Fri, 14 Jul 2017 18:50:07 +0300 Subject: [PATCH 026/140] Change string name for new release 2.7 --- OsmAnd/src/net/osmand/plus/dialogs/WhatsNewDialogFragment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/src/net/osmand/plus/dialogs/WhatsNewDialogFragment.java b/OsmAnd/src/net/osmand/plus/dialogs/WhatsNewDialogFragment.java index ebef0d9f2a..ae3c982caa 100644 --- a/OsmAnd/src/net/osmand/plus/dialogs/WhatsNewDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/dialogs/WhatsNewDialogFragment.java @@ -28,7 +28,7 @@ public class WhatsNewDialogFragment extends DialogFragment { final OsmandApplication osmandApplication = (OsmandApplication) getActivity().getApplication(); final String appVersion = Version.getAppVersion(osmandApplication); builder.setTitle(getString(R.string.whats_new) + " " + appVersion) - .setMessage(getString(R.string.release_2_6)) + .setMessage(getString(R.string.release_2_7)) .setNegativeButton(R.string.shared_string_close, null); if (AppInitializer.LATEST_CHANGES_URL != null) { builder.setPositiveButton(R.string.read_more, new DialogInterface.OnClickListener() { From 014e32c5b325312dc1daf37c1558cdff9d93945c Mon Sep 17 00:00:00 2001 From: Franco Date: Fri, 14 Jul 2017 18:45:51 +0000 Subject: [PATCH 027/140] Translated using Weblate (Spanish) Currently translated at 97.2% (2292 of 2356 strings) --- OsmAnd/res/values-es/strings.xml | 35 +++++++++++++++++++------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/OsmAnd/res/values-es/strings.xml b/OsmAnd/res/values-es/strings.xml index 6102119f9e..1f86cfdd14 100644 --- a/OsmAnd/res/values-es/strings.xml +++ b/OsmAnd/res/values-es/strings.xml @@ -1,4 +1,5 @@ - + + Configurar pantalla Carriles @@ -2636,21 +2637,27 @@ Algunas de las características principales: Permisos OsmAnd no puede importar el archivo. Comprueba si OsmAnd tiene permiso para leer el archivo en esa ubicación. Distancia corregida - Almacenar pistas grabadas en directorios mensuales - Almacena las pistas grabadas en subcarpetas según el mes de grabación (como 2017 - 01). - Reiniciar + Guardar las trazas grabadas en carpetas mensuales + Guarda las trazas grabadas en subcarpetas por mes de grabación (como 2017-01). + Restablecer Recargar - Recarga las teselas para ver ldatos actualizados. - Almacén de teselas + Recargar teselas para ver la información actualizada. + Caché de teselas ¡Nombre de usuario incorrecto! - Para - De - Ver las imágenes añadidas en un periodo determinado. + Hasta + Desde + Ver imágenes añadidas en un cierto período. Fechas - Escribe el nombre de usuario - Ver las imágenes añadidas por un determinado usuario. + Tipo de nombre de usuario + Ver imágenes añadidas por un determinado usuario. Nombre de usuario - Puedes filtrar imágenes por remitente o por fecha. Los filtros se aplican sólo para el zoom de primer plano. + Puedes filtrar imágenes por usuario o por fecha. Los filtros aplican para los primeros acercamientos. - Regla de radio - \ No newline at end of file + Regla radial + Promedio + %1$d de %2$d + Ascenso/Descenso + Tiempo moviéndose + Máx/Min + Min/Máx + From 493eea972a3170900325ed92c9ae6e061da075a5 Mon Sep 17 00:00:00 2001 From: Franco Date: Fri, 14 Jul 2017 19:02:36 +0000 Subject: [PATCH 028/140] Translated using Weblate (Spanish) Currently translated at 100.0% (2356 of 2356 strings) --- OsmAnd/res/values-es/strings.xml | 451 ++++++++++++++----------------- 1 file changed, 207 insertions(+), 244 deletions(-) diff --git a/OsmAnd/res/values-es/strings.xml b/OsmAnd/res/values-es/strings.xml index 1f86cfdd14..60b41e5a10 100644 --- a/OsmAnd/res/values-es/strings.xml +++ b/OsmAnd/res/values-es/strings.xml @@ -297,7 +297,7 @@ El servicio de navegación se ha cambiado temporalmente al servicio con conexió Marcar todo Actualizar Ruta más rápida - "Activar para calcular la ruta más rápida o desactivar para la ruta que ahorra combustible " + Activar para calcular la ruta más rápida o desactivar para la ruta que ahorra combustible En zoom {0} descarga {1} teselas ({2} MB) Descargar mapa Seleccione el zoom máximo para precargar @@ -335,7 +335,7 @@ El servicio de navegación se ha cambiado temporalmente al servicio con conexió Borrar PDI A la brújula En dirección al movimiento - No rotar + No rotar (norte arriba) Selecciona la alineación del mapa Orientación del mapa Detalle de la ruta @@ -625,11 +625,11 @@ El servicio de navegación se ha cambiado temporalmente al servicio con conexió Usa mapas con conexión (teselas descargadas y almacenadas en la tarjeta SD) Mapas con conexión Configura las fuentes de teselas de mapas con conexión o almacenadas - "Con este complemento puede acceder a muchos tipos de mapas con conexión (llamados de teselas o ráster), desde teselas de OpenStreetMap predefinidas (como Mapnik) a imágenes de satélite y capas de propósito especial como mapas del tiempo, mapas del clima, mapas geológicos, capas de sombreado, etc. -\n -\nCualquiera de estos mapas se puede utilizar como el mapa (base) principal, que se mostrará en la pantalla del mapa de OsmAnd, o como una superposición o subyacente de otro mapa base (como los mapas estándares sin conexión de OsmAnd). Para hacer cualquier mapa subyacente más visible, ciertos elementos de los mapas vectoriales de OsmAnd se pueden ocultar fácilmente a través del menú \'Configurar mapa\'. -\n -\nLas teselas de mapas, se pueden obtener directamente a través de fuentes con conexión o pueden prepararse para su uso sin conexión (y copiarse manualmente en la carpeta de datos de OsmAnd) como una base de datos SQLite, que puede generarse con diversas herramientas de preparación de mapas de terceros. " + Con este complemento puede acceder a muchos tipos de mapas con conexión (llamados de teselas o ráster), desde teselas de OpenStreetMap predefinidas (como Mapnik) a imágenes de satélite y capas de propósito especial como mapas del tiempo, mapas del clima, mapas geológicos, capas de sombreado, etc. +\n +\nCualquiera de estos mapas se puede utilizar como el mapa (base) principal, que se mostrará en la pantalla del mapa de OsmAnd, o como una superposición o subyacente de otro mapa base (como los mapas estándares sin conexión de OsmAnd). Para hacer cualquier mapa subyacente más visible, ciertos elementos de los mapas vectoriales de OsmAnd se pueden ocultar fácilmente a través del menú \'Configurar mapa\'. +\n +\nLas teselas de mapas, se pueden obtener directamente a través de fuentes con conexión o pueden prepararse para su uso sin conexión (y copiarse manualmente en la carpeta de datos de OsmAnd) como una base de datos SQLite, que puede generarse con diversas herramientas de preparación de mapas de terceros. Muestra los ajustes para activar el seguimiento y la navegación en segundo plano (pantalla apagada) activando periódicamente el dispositivo GPS. Este complemento activa las características de accesibilidad del dispositivo directamente en OsmAnd. Facilita, por ejemplo, el ajuste de la velocidad de la voz para voces TTS, la configuración de navegación de pantalla con el panel direccional, el uso de bola de desplazamiento para el control del zoom o el uso de comentarios texto a voz, como el anuncio automático de tu posición. Este complemento muestra los ajustes de características de desarrollo y depuración para probar la simulación de rutas, el rendimiento del renderizado en pantalla, o los avisos de voz. @@ -640,7 +640,7 @@ El servicio de navegación se ha cambiado temporalmente al servicio con conexió Este complemento OsmAnd puede ser utilizado para hacer contribuciones en OSM como crear o modificar objetos PDI (puntos de interés) de OSM, abrir o comentar errores de OSM, y contribuir con archivos grabados de trazas GPX. OSM es un proyecto de mapeo impulsado por la comunidad y de dominio público mundial. Para más detalles consulte https://openstreetmap.org. \n\nSe aprecia la participación activa, y las contribuciones se pueden hacer directamente desde OsmAnd, si especifica sus credenciales personales de OSM en la aplicación. Los mapas vectoriales pueden mostrarse más rápido. Puede no funcionar correctamente en algunos dispositivos. - Reproduce frases con la voz seleccionada + Elige una voz y comprueba las indicaciones por voz Desarrollo de OsmAnd Dibujo nativo Probar avisos de voz @@ -802,39 +802,39 @@ Tanto la ubicación como el tiempo de estacionamiento se muestran en el panel de Atributos de dibujado Estilo del mapa Visor y navegador móvil global de mapas OSM con y sin conexión - " OsmAnd (OSM Automated Navigation Directions, Guía de Navegación Automatizada) -\n -\nOsmAnd es una aplicación de navegación de código abierto con acceso a una amplia variedad de datos OpenStreetMap (OSM) globales. Todos los datos del mapa (vectoriales y teselas), pueden ser almacenados en la memoria del teléfono para su uso sin conexión. OsmAnd también ofrece funcionalidad de navegación con y sin conexión, incluyendo indicaciones giro-a-giro mediante voz. -\n -\nAlgunas de las características fundamentales: -\n - Completa funcionalidad sin conexión (almacena los mapas vectoriales o teselas descargados en el almacenamiento del dispositivo) -\n - Mapas vectoriales compactos disponibles de todo el planeta -\n - Descarga de mapas por país o región directamente desde la aplicación -\n - Posibilidad de superponer varias capas de mapa, como GPX o rutas de navegación, puntos de interés (PDI), favoritos, curvas de nivel, paradas de transporte público, mapas adicionales con transparencia personalizable -\n - Búsqueda sin conexión de direcciones y lugares (PDIs) -\n - Navegación sin conexión para distancias medianas. -\n - Modos automóvil, bicicleta y peatón con: \t- opción de cambio automático de vista diurna/nocturna \t- opción de zoom en función de la velocidad \t- opción de alineamiento del mapa según la brújula o la dirección de movimiento \t- opción de indicación de carriles, visualización de límites de velocidad, voces grabadas y TTS -\n -\nLimitaciones de la versión gratuita de OsmAnd: -\n - Limitado el número de mapas descargados -\n - Sin acceso a los PDIs descargados de Wikipedia -\n -\nOsmAnd está siendo desarrollado activamente y nuestro proyecto y su desarrollo adicional se basa en contribuciones económicas para financiar el desarrollo y las pruebas de nuevas funcionalidades. Por favor, considere comprar OsmAnd+, financiar nuevas características concretas o hacer una donación general en osmand.net. " + OsmAnd (OSM Automated Navigation Directions, Guía de Navegación Automatizada), es una aplicación de navegación de código abierto con acceso a una amplia variedad de datos OpenStreetMap (OSM) globales. Todos los datos del mapa (vectoriales y teselas), pueden ser almacenados en la memoria del teléfono para su uso sin conexión. OsmAnd también ofrece funcionalidad de navegación con y sin conexión, incluyendo indicaciones giro-a-giro mediante voz. +\n +\nAlgunas de las características fundamentales: +\n - Completa funcionalidad sin conexión (almacena los mapas vectoriales o teselas descargados en el almacenamiento del dispositivo) +\n - Mapas vectoriales compactos disponibles de todo el planeta +\n - Descarga de mapas por país o región directamente desde la aplicación +\n - Posibilidad de superponer varias capas de mapa, como GPX o rutas de navegación, puntos de interés (PDI), favoritos, curvas de nivel, paradas de transporte público, mapas adicionales con transparencia personalizable +\n - Búsqueda sin conexión de direcciones y lugares (PDIs) +\n - Navegación sin conexión para distancias medianas. +\n - Modos automóvil, bicicleta y peatón con: \t- opción de cambio automático de vista diurna/nocturna \t- opción de zoom en función de la velocidad \t- opción de alineamiento del mapa según la brújula o la dirección de movimiento \t- opción de indicación de carriles, visualización de límites de velocidad, voces grabadas y TTS +\n +\nLimitaciones de la versión gratuita de OsmAnd: +\n - Limitado el número de mapas descargados +\n - Sin acceso a los PDIs descargados de Wikipedia +\n +\nOsmAnd está siendo desarrollado activamente y nuestro proyecto y su desarrollo adicional se basa en contribuciones económicas para financiar el desarrollo y las pruebas de nuevas funcionalidades. Por favor, considere comprar OsmAnd+, financiar nuevas características concretas o hacer una donación general en osmand.net. Visor y navegador móvil global de mapas OSM con y sin conexión - " OsmAnd+ (OSM Automated Navigation Directions) -\n -\n OsmAnd+ es una aplicación de navegación de código abierto con acceso a una amplia variedad de datos OpenStreetMap (OSM) globales. Todos los datos de mapa (vectores y teselas) pueden ser almacenados en la memoria del teléfono para su uso sin conexión. OsmAnd también ofrece funcionalidad de rutas con y sin conexión con guía giro-a-giro mediante voz. -\n -\n OsmAnd+ es la versión de pago de la aplicación, comprándola da soporte al proyecto, financia el desarrollo de nuevas características y recibe las últimas actualizaciones. -\n -\n Algunas de las características fundamentales: -\n - Funcionalidad completa sin conexión (almacena los mapas de vectores y teselas descargados en el almacenamiento del dispositivo) -\n - Mapas de vectores compactos disponibles de todo el planeta -\n - Descarga ilimitada de mapas de país o región directamente desde la aplicación -\n - Posibilidad de superponer varias capas de mapa, como GPX o rutas de navegación, Puntos de Interés, favoritos, curvas de nivel, paradas de transporte público, mapas adicionales con transparencia personalizable -\n - Búsqueda sin conexión de direcciones y lugares (PDIs) -\n - Rutas sin conexión para medias distancias. -\n - Modos de coche, bicicleta, y peatón con: \t- Cambio automático opcional de vista diurna/nocturna \t- Zoom del mapa opcional en función de la velocidad \t- Orientación del mapa opcional a la brújula o a la dirección de movimiento \t- Indicación de carriles, mostrar límites de velocidad, voces grabadas y generadas opcionales " + OsmAnd+ (OSM Automated Navigation Directions), es una aplicación de navegación de código abierto con acceso a una amplia variedad de datos OpenStreetMap (OSM) globales. Todos los datos de mapa (vectores y teselas) pueden ser almacenados en la memoria del teléfono para su uso sin conexión. OsmAnd también ofrece funcionalidad de rutas con y sin conexión con guía giro-a-giro mediante voz. +\n +\n OsmAnd+ es la versión de pago de la aplicación, comprándola da soporte al proyecto, financia el desarrollo de nuevas características y recibe las últimas actualizaciones. +\n +\n Algunas de las características fundamentales: +\n - Funcionalidad completa sin conexión (almacena los mapas de vectores y teselas descargados en el almacenamiento del dispositivo) +\n - Mapas de vectores compactos disponibles de todo el planeta +\n - Descarga ilimitada de mapas de país o región directamente desde la aplicación +\n - Posibilidad de superponer varias capas de mapa, como GPX o rutas de navegación, Puntos de Interés, favoritos, curvas de nivel, paradas de transporte público, mapas adicionales con transparencia personalizable +\n - Búsqueda sin conexión de direcciones y lugares (PDIs) +\n - Rutas sin conexión para medias distancias. +\n - Modos de coche, bicicleta, y peatón con: +\n - Cambio automático opcional de vista diurna/nocturna +\n - Zoom del mapa opcional en función de la velocidad +\n - Orientación del mapa opcional a la brújula o a la dirección de movimiento +\n - Indicación de carriles, mostrar límites de velocidad, voces grabadas y generadas opcionales Evitar autopistas Ajusta la posición a las carreteras durante la navegación Ajustar a carreteras @@ -892,17 +892,18 @@ Tanto la ubicación como el tiempo de estacionamiento se muestran en el panel de Ocultar fronteras regionales (niveles administrativos 5-9) piezas Curvas de nivel - "Este complemento proporciona una capa superpuesta de curvas de nivel y una capa (de relieve) sombreada que se pueden visualizar sobre los mapas descargados de OsmAnd. Esta funcionalidad será muy apreciada por atletas, caminantes, excursionistas, y cualquiera interesado en la estructura de relieve de un paisaje. (Por favor ten en cuenta que las curvas de nivel o datos de relieve están separados, hay descargas adicionales después de activar el complemento). -\n -\nLos datos globales (entre 70 grados norte y 70 grados sur) se basan en mediciones de SRTM (Shuttle Radar Topography Mission, o en español Misión de Topografía por Radar Shuffle) y ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer, o en español Radiómetro Espacial Avanzado de Emisión Térmica y Reflexión), un instrumento de captura de imágenes a bordo de Terra, el satélite insignia del Sistema de Observación de la Tierra de la NASA. ASTER es un esfuerzo cooperativo entre la NASA, el Ministerio de Economía, Comercio e Industria de Japón (METI) y Sistemas Espaciales de Japón (J-spacesystems). " + Este complemento proporciona una capa superpuesta de curvas de nivel y una capa (de relieve) sombreada que se pueden visualizar sobre los mapas descargados de OsmAnd. Esta funcionalidad será muy apreciada por atletas, caminantes, excursionistas, y cualquiera interesado en la estructura de relieve de un paisaje. (Por favor ten en cuenta que las curvas de nivel o datos de relieve están separados, hay descargas adicionales después de activar el complemento). +\n +\nLos datos globales (entre 70 grados norte y 70 grados sur) se basan en mediciones de SRTM (Shuttle Radar Topography Mission, o en español Misión de Topografía por Radar Shuffle) y ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer, o en español Radiómetro Espacial Avanzado de Emisión Térmica y Reflexión), un instrumento de captura de imágenes a bordo de Terra, el satélite insignia del Sistema de Observación de la Tierra de la NASA. ASTER es un esfuerzo cooperativo entre la NASA, el Ministerio de Economía, Comercio e Industria de Japón (METI) y Sistemas Espaciales de Japón (J-spacesystems). Curvas de nivel Otros mapas Curvas de nivel Este complemento, proporciona la funcionalidad para tomar notas de audio/fotografía/vídeo durante un viaje, utilizando un botón en la pantalla del mapa, o directamente en el menú contextual para cualquier posición en el mapa. Notas audio/vídeo Complemento OsmAnd para curvas de nivel sin conexión - "Este complemento proporciona una capa superpuesta de curvas de nivel y una capa (de relieve) sombreada que se pueden visualizar sobre los mapas descargados de OsmAnd. Esta funcionalidad será muy apreciada por atletas, caminantes, excursionistas, y cualquiera interesado en la estructura de relieve de un paisaje. -\n\nLos datos globales (entre 70 grados norte y 70 grados sur) se basan en mediciones de SRTM (Shuttle Radar Topography Mission, o en español Misión de Topografía por Radar desde Transbordador) y ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer, o en español Radiómetro Espacial Avanzado de Emisión Térmica y Reflexión), un instrumento de captura de imágenes a bordo de Terra, el satélite insignia del Sistema de Observación de la Tierra de la NASA. ASTER es un esfuerzo cooperativo entre la NASA, el Ministerio de Economía, Comercio e Industria de Japón (METI) y Sistemas Espaciales de Japón (J-spacesystems). " + Este complemento proporciona una capa superpuesta de curvas de nivel y una capa (de relieve) sombreada que se pueden visualizar sobre los mapas descargados de OsmAnd. Esta funcionalidad será muy apreciada por atletas, caminantes, excursionistas, y cualquiera interesado en la estructura de relieve de un paisaje. +\n +\nLos datos globales (entre 70 grados norte y 70 grados sur) se basan en mediciones de SRTM (Shuttle Radar Topography Mission, o en español Misión de Topografía por Radar desde Transbordador) y ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer, o en español Radiómetro Espacial Avanzado de Emisión Térmica y Reflexión), un instrumento de captura de imágenes a bordo de Terra, el satélite insignia del Sistema de Observación de la Tierra de la NASA. ASTER es un esfuerzo cooperativo entre la NASA, el Ministerio de Economía, Comercio e Industria de Japón (METI) y Sistemas Espaciales de Japón (J-spacesystems). Medición de distancia La ubicación para asociar con la nota no está definida todavía. Utiliza la opción «Utilizar ubicación…» para asignar una nota a la ubicación especificada. Notas de audio @@ -929,7 +930,7 @@ Tanto la ubicación como el tiempo de estacionamiento se muestran en el panel de Utiliza la grabadora de vídeo del sistema Utilizar grabadora externa Configure los ajustes de notas multimedia - "Ajustes de notas multimedia " + Ajustes de notas multimedia "Error durante la grabación" La cámara no está disponible Reproduciendo audio de la grabación especificada.\n%1$s @@ -980,7 +981,7 @@ Tanto la ubicación como el tiempo de estacionamiento se muestran en el panel de Más acciones Reduce el ruido en las lecturas de la brújula pero añade inercia Utilizar filtro Kalman - Utiliza el sensor magnético para determinar el valor de la brújula en vez del sensor de orientación + Para la lectura de la brújula, usa el sensor magnético en vez del sensor de orientación Utilizar sensor magnético Otra Quedan %1$d archivos @@ -1091,7 +1092,7 @@ Tanto la ubicación como el tiempo de estacionamiento se muestran en el panel de Para mediano alcance Para largo alcance Primero calcule la ruta - "Simular, utilizando la ruta calculada " + Simular, utilizando la ruta calculada Simular, utilizando la traza GPX Senderismo Moto @@ -1102,7 +1103,7 @@ Tanto la ubicación como el tiempo de estacionamiento se muestran en el panel de Náutica Perfiles de aplicación Renderizado del mapa - Elige los perfiles de uso que son visibles en la aplicación + Elige los perfiles de uso que se mostrarán en la aplicación Preferencias de navegación Preferencias de navegación Especifica la velocidad en el habla sintetizada (TTS) @@ -1201,8 +1202,11 @@ Tanto la ubicación como el tiempo de estacionamiento se muestran en el panel de Pausar música Identificador único del dispositivo Configura los ajustes de rastreo y configura el canal de rastreo personal - "Este extra proporciona parcialmente la funcionalidad de Monitorización OpenStreetMap, ver https://osmo.mobi\n\nPuedes rastrear en tiempo real todos los dispositivos de un grupo en el que participes. También puedes ver el punto y las pistas subidas al grupo al que perteneces. -\n\nEl grupo no ha sido eliminado después de meses, actívalo con las normas que crear grupos en el sitio web OsMo.mobi " + Este extra proporciona parcialmente la funcionalidad de Monitorización OpenStreetMap, ver https://osmo.mobi +\n +\nPuedes rastrear en tiempo real todos los dispositivos de un grupo en el que participes. También puedes ver el punto y las pistas subidas al grupo al que perteneces. +\n +\nEl grupo no ha sido eliminado después de meses, actívalo con las normas que crear grupos en el sitio web OsMo.mobi Monitorización OpenStreetMap OsMo Compartir la ruta como archivo GPX @@ -1222,7 +1226,7 @@ Tanto la ubicación como el tiempo de estacionamiento se muestran en el panel de Nombre de usuario Dispositivos conectados Esperando autorización… - "Ubicaciones enviadas %1$d (en buffer %2$d) " + Ubicaciones enviadas %1$d (en buffer %2$d) Conexión establecida: %1$s Grupos OsMo Información @@ -1307,12 +1311,12 @@ Tanto la ubicación como el tiempo de estacionamiento se muestran en el panel de Iniciar automáticamente la guía giro a giro seleccionado Intervalo de división - "Subtrazas: %1$s " - "Puntos de ruta: %1$s " + Subtrazas: %1$s + Puntos de ruta: %1$s Distancia: %1$s (%2$s puntos) - "Hora inicio: %1$tF, %1$tT " - "Hora fin: %1$tF, %1$tT " - "Velocidad promedio: %1$s " + Hora inicio: %1$tF, %1$tT + Hora fin: %1$tF, %1$tT + Velocidad promedio: %1$s Velocidad máxima: %1$s Altitud promedio: %1$s Rango de altitud: %1$s @@ -1349,13 +1353,13 @@ Tanto la ubicación como el tiempo de estacionamiento se muestran en el panel de ¿Quiere realizar un nuevo registro? Entrar por invitación - " - Al crear un grupo por favor dale un nombre e introduce su descripción. -\n - Desde la aplicación los grupos se crean sólo con el tipo Simple, lee más en el sitio web https://osmo.mobi/g/new -\n - A través de un sitio web puedes gestionar un grupo, para ubicar pistas y puntos disponibles para todos -\n - No apoyamos el uso de grupos de un único usuario, si no es el grupo POI -\n - Los grupos privados están limitados a 8 personas -\n - Los términos y condiciones detallados siempre están en el sitio web OsMo.mobi -\n - Si necesitas condiciones especiales por favor contacta con soporte: osmo.mobi@gmail.com " + "- Al crear un grupo por favor dale un nombre e introduce su descripción. +\n - Desde la aplicación los grupos se crean sólo con el tipo Simple, lee más en el sitio web https://osmo.mobi/g/new +\n - A través de un sitio web puedes gestionar un grupo, para ubicar pistas y puntos disponibles para todos +\n - No apoyamos el uso de grupos de un único usuario, si no es el grupo POI +\n - Los grupos privados están limitados a 8 personas +\n - Los términos y condiciones detallados siempre están en el sitio web OsMo.mobi +\n - Si necesitas condiciones especiales por favor contacta con soporte: osmo.mobi@gmail.com" ¡Lee antes de crear un grupo! Fallo al iniciar sesión en OsMo Puntos OsMo %1$s descargados. @@ -1423,8 +1427,9 @@ Tanto la ubicación como el tiempo de estacionamiento se muestran en el panel de Duración Distancia Grabación de viaje - "Este complemento activa la funcionalidad para grabar y guardar sus trazas manualmente tocando el control de registro GPX en la pantalla del mapa, o automáticamente registrando todas sus rutas navegadas en un archivo GPX. -\n\nLas trazas grabadas pueden ser compartidas con sus amigos o ser usadas para contribuir a OSM. Los atletas pueden utilizar las trazas grabadas para seguir sus entrenamientos. Algunos análisis básicos de trazas se pueden realizar directamente en OsmAnd, como tiempos por vuelta, velocidad media, etc., y por supuesto las trazas pueden analizarse posteriormente con herramientas de análisis de terceros. " + Este complemento activa la funcionalidad para grabar y guardar sus trazas manualmente tocando el control de registro GPX en la pantalla del mapa, o automáticamente registrando todas sus rutas navegadas en un archivo GPX. +\n +\nLas trazas grabadas pueden ser compartidas con sus amigos o ser usadas para contribuir a OSM. Los atletas pueden utilizar las trazas grabadas para seguir sus entrenamientos. Algunos análisis básicos de trazas se pueden realizar directamente en OsmAnd, como tiempos por vuelta, velocidad media, etc., y por supuesto las trazas pueden analizarse posteriormente con herramientas de análisis de terceros. Rutas de autobús, trolebús y lanzadera Registrar traza en archivo GPX Intervalo de registro @@ -1549,7 +1554,7 @@ Tanto la ubicación como el tiempo de estacionamiento se muestran en el panel de Activar Desactivar Obtener - "Libre %1$s " + Libre %1$s Memoria del dispositivo Pistas de esquí Pista de entrenamiento @@ -1559,22 +1564,25 @@ Tanto la ubicación como el tiempo de estacionamiento se muestran en el panel de Mapa con conexión Exportar Audio - "Este complemento enriquece el mapa y la navegación de OsmAnd al producir también mapas náuticos para el canotaje, vela y otros tipos de deportes acuáticos. -\n\nUn mapa especial complementado para OsmAnd que proporciona toda las marcas de navegación náutica y símbolos cartográficos, para el interior, así como para la navegación cerca de la costa. La descripción de cada marca de navegación proporciona los datos necesarios para su identificación y su significado (categoría, forma, color, número, referencia, etc.). -\n\nPara volver a uno de los estilos de mapas convencionales de OsmAnd, simplemente desactive este complemento de nuevo, o cambie el \'Estilo del mapa\' en \'Configurar mapa\' cuando desee. " - "Este complemento para OsmAnd pone a su alcance detalles sobre pistas de esquí de descenso, de travesía, rutas de esquí alpino, teleféricos y remontes a nivel mundial. Las rutas y pistas se muestran por código de color en función de su dificultad, y representados con un estilo del mapa especial \'Invierno\' que lo asemeja a un paisaje invernal nevado. -\n\nActivando esta vista cambia el estilo del mapa a \'Invernal\', mostrando las características del terreno en condiciones invernales. Esta vista puede ser revertida desactivando de nuevo aquí, o cambiando el \'Estilo del mapa\' en \'Configurar mapa\' cuando desee. " - "Activando esta vista cambia el estilo del mapa OSMAnd a la \'Vista turística\', que es una vista de alto detalle especial para viajeros y conductores profesionales. + Este complemento enriquece el mapa y la navegación de OsmAnd al producir también mapas náuticos para el canotaje, vela y otros tipos de deportes acuáticos. +\n +\nUn mapa especial complementado para OsmAnd que proporciona toda las marcas de navegación náutica y símbolos cartográficos, para el interior, así como para la navegación cerca de la costa. La descripción de cada marca de navegación proporciona los datos necesarios para su identificación y su significado (categoría, forma, color, número, referencia, etc.). +\n +\nPara volver a uno de los estilos de mapas convencionales de OsmAnd, simplemente desactive este complemento de nuevo, o cambie el \'Estilo del mapa\' en \'Configurar mapa\' cuando desee. + Este complemento para OsmAnd pone a su alcance detalles sobre pistas de esquí de descenso, de travesía, rutas de esquí alpino, teleféricos y remontes a nivel mundial. Las rutas y pistas se muestran por código de color en función de su dificultad, y representados con un estilo del mapa especial \'Invierno\' que lo asemeja a un paisaje invernal nevado. +\n +\nActivando esta vista cambia el estilo del mapa a \'Invernal\', mostrando las características del terreno en condiciones invernales. Esta vista puede ser revertida desactivando de nuevo aquí, o cambiando el \'Estilo del mapa\' en \'Configurar mapa\' cuando desee. + Activando esta vista cambia el estilo del mapa OSMAnd a la \'Vista turística\', que es una vista de alto detalle especial para viajeros y conductores profesionales. \n \nEsta vista proporciona, en cualquier nivel de zoom del mapa, la máxima cantidad de detalles de viaje disponible en los datos del mapa (especialmente carreteras, senderos, caminos y marcas de orientación). \n -\nTambién representa claramente todos los tipos de carreteras sin ambigüedades por códigos de color, que es útil, por ejemplo, cuando se conducen vehículos grandes. -\n -\nY proporciona opciones especiales de turismo como mostrar las rutas de bicicleta o rutas de montaña alpina. -\n +\nTambién representa claramente todos los tipos de carreteras sin ambigüedades por códigos de color, que es útil, por ejemplo, cuando se conducen vehículos grandes. +\n +\nY proporciona opciones especiales de turismo como mostrar las rutas de bicicleta o rutas de montaña alpina. +\n \nNo es necesario descargar un mapa especial, la vista es creada a partir de nuestros mapas estándar. \n -\nEsta vista puede ser revertida desactivando de nuevo aquí, o cambiando el \'Estilo del mapa\' desde \'Configurar mapa\' cuando desee. " +\nEsta vista puede ser revertida desactivando de nuevo aquí, o cambiando el \'Estilo del mapa\' desde \'Configurar mapa\' cuando desee. días atrás Ubicación:\n Lat %1$s\n Lon %2$s Ver @@ -1683,7 +1691,7 @@ Lon %2$s Bengalí Tagalo Serbocroata - Azerí + Azerí (Azerbaiyán) Bretón Albanés Islandés @@ -1782,7 +1790,7 @@ Lon %2$s ¿Está seguro? Se perderán los cambios no guardados. ¿Continuar? Parar simulación de posición - Simula tu ubicación utilizando una ruta calculada o una grabación GPX + Simula tu ubicación, usando una ruta calculada o una traza GPX guardada Quedan %1$s descargas Define la unidad de velocidad Unidad de velocidad @@ -1813,7 +1821,7 @@ Lon %2$s Curvas de nivel desactivadas Descargando - %1$d archivo/s Mostrar anuncio de versión gratuita - Aunque tengas la versión de pago, puedes ver el anuncio de la versión gratuita + Muestra el anuncio de la versión gratuita, incluso en la versión de pago COMPRAR Active el complemento náutico Active el complemento SRTM @@ -1902,23 +1910,23 @@ Lon %2$s Ancho del GPX Estilo de carretera Guardar sin conexión - " • Nueva interfaz de usuario sensible al contexto para pulsar ubicaciones en el mapa y en otras pantallas. -\n -\n• La pantalla del mapa ahora se inicia directamente, a menos que \'Mostrar panel de control al iniciar la aplicación\', este seleccionado. -\n -\n• Configura cuál y cómo se mostrarán las tarjetas en el panel de instrumentos. -\n -\n• Omitir el panel de control, si quieres controlar la aplicación desde el menú. -\n -\n• Para descargar mapas, las regiones pueden seleccionarse directamente pulsando sobre el mapa mundial. -\n -\n• La búsqueda de PDI, ahora soporta consultas más específicas. -\n -\n• Mejoras en PDI y funcionalidad de edición OSM. -\n -\n• Se rediseñó la estructura e interfaz de los datos de mapas. -\n -\n y más… " + \\022 Nueva interfaz de usuario sensible al contexto para pulsar ubicaciones en el mapa y en otras pantallas. +\n +\n• La pantalla del mapa ahora se inicia directamente, a menos que \'Mostrar panel de control al iniciar la aplicación\', este seleccionado. +\n +\n• Configura cuál y cómo se mostrarán las tarjetas en el panel de instrumentos. +\n +\n• Omitir el panel de control, si quieres controlar la aplicación desde el menú. +\n +\n• Para descargar mapas, las regiones pueden seleccionarse directamente pulsando sobre el mapa mundial. +\n +\n• La búsqueda de PDI, ahora soporta consultas más específicas. +\n +\n• Mejoras en PDI y funcionalidad de edición OSM. +\n +\n• Se rediseñó la estructura e interfaz de los datos de mapas. +\n +\n y más… Copiado al portapapeles @@ -2063,9 +2071,17 @@ El espacio de almacenamiento usado es {3} MB temporalmente y {1} MB permanenteme La carpeta de almacenamiento de datos seleccionada actualmente es de sólo lectura. La carpeta de almacenamiento fue cambiada temporalmente a la memoria interna. Por favor, elige directorio de almacenamiento válido. Memoria compartida Ahora la aplicación puede escribir en el almacenamiento externo. Se necesita un rearranque manual de la aplicación. - " • OSM en vivo. Apoya a colaboradores del mapa y desarrolladores y obtén actualizaciones de mapas cada hora. -\n\n • Marcadores de mapa. Una nueva forma de seleccionar rápidamente lugares en el mapa.\n\n • Mapas de OSM más detallados con escudos de carreteras específicos de cada país y un montón de nuevas características del mapa.\n\n • Mejor aspecto visual en la preparación de la ruta. -\n\n • Muchas mejoras en el menú contextual del mapa como la búsqueda de direcciones contextual.\n\n y más... " + "\\022 OSM en vivo. Apoya a colaboradores del mapa y desarrolladores y obtén actualizaciones de mapas cada hora. +\n +\n • Marcadores de mapa. Una nueva forma de seleccionar rápidamente lugares en el mapa. +\n +\n • Mapas de OSM más detallados con escudos de carreteras específicos de cada país y un montón de nuevas características del mapa. +\n +\n • Mejor aspecto visual en la preparación de la ruta. +\n +\n • Muchas mejoras en el menú contextual del mapa como la búsqueda de direcciones contextual. +\n +\n y más…" Mover hacia arriba Mover hacia abajo Finalizar navegación @@ -2081,10 +2097,10 @@ El espacio de almacenamiento usado es {3} MB temporalmente y {1} MB permanenteme Fino Mediano Negrita - No recalcular al desviarme de la ruta - "Evita el recálculo de ruta automático cuando estás bastante lejos de la vía correcta" - No cambiar de ruta por ir en dirección errónea - Evita el recálculo de ruta automático cuando te estás moviendo en dirección equivocada + No recalcular la ruta, al salirme de la misma + Previene el recálculo automático de la ruta, al alejarse de la misma + No recalcular la ruta para una dirección opuesta + Previene el recálculo automático de ruta, al moverse en dirección opuesta Autoanuncio inteligente Sólo notifica cuando se cambia la dirección al punto de destino "Período de autoanuncio" @@ -2137,7 +2153,7 @@ El espacio de almacenamiento usado es {3} MB temporalmente y {1} MB permanenteme Inglés (Reino Unido) Bielorruso (latino) Canarés - " compartido vía OsmAnd" + compartido vía OsmAnd Búsqueda de coordenadas Búsqueda avanzada de coordenadas @@ -2145,19 +2161,19 @@ El espacio de almacenamiento usado es {3} MB temporalmente y {1} MB permanenteme ¿Quieres quitar del historial los elementos seleccionados? Mostrar %1$s en el mapa Buscar en %1$s alrededor - " • Nueva y muy poderosa búsqueda por texto libre -\n -\n • Integración con el sistema de audio y el micrófono del automóvil vía Bluetooth -\n -\n • Mejoras en la guía de ruta, avisos por voz e indicaciones de carriles de giro -\n -\n • Mejoras en la capa de transporte con dibujado de rutas -\n -\n • Se agregaron más idiomas y ahora soporta idiomas regionales -\n -\n • Muchas otras mejoras y correcciones de errores -\n -\n y más… " + "\\022 Nueva y muy poderosa búsqueda por texto libre +\n +\n • Integración con el sistema de audio y el micrófono del automóvil vía Bluetooth +\n +\n • Mejoras en la guía de ruta, avisos por voz e indicaciones de carriles de giro +\n +\n • Mejoras en la capa de transporte con dibujado de rutas +\n +\n • Se agregaron más idiomas y ahora soporta idiomas regionales +\n +\n • Muchas otras mejoras y correcciones de errores +\n +\n y más…" %1$s parada(s) anterior(es) ¿Quieres actualizar todos los mapas ahora? Borrar todas las teselas @@ -2181,8 +2197,8 @@ El espacio de almacenamiento usado es {3} MB temporalmente y {1} MB permanenteme Dar permiso Permitir acceso a la ubicación Obtén indicaciones y descubre nuevos lugares sin conexión a Internet - Buscar mi ubicación - No comprueba las actualizaciones sobre nuevas versiones o descuentos relacionados con OsmAnd + Encontrar mi ubicación + Omite la búsqueda de nuevas actualizaciones o descuentos relacionados con OsmAnd No mostrar actualizaciones Se aplicará un cargo mensual por suscripción. Puedes cancelar tu suscripción en Google Play en cualquier momento. Donación a la comunidad de OpenStreetMap @@ -2227,7 +2243,7 @@ El espacio de almacenamiento usado es {3} MB temporalmente y {1} MB permanenteme Sin datos Búsqueda clásica Mostrar búsqueda clásica - Activa la búsqueda clásica en la lista de cajón + Añade el modo de búsqueda clásica a la lista del panel lateral Permitir autopistas Permite autopistas Grabación de viaje (sin datos) @@ -2237,11 +2253,11 @@ El espacio de almacenamiento usado es {3} MB temporalmente y {1} MB permanenteme Grabar Esquema de color de las curvas de nivel Velocidad mínima para registro - Establece la velocidad mínima para que un punto se registre - Detección de movimiento para registro - Establece la distancia mínima desde la última posición para que un punto se registre + Filtro: Establece la velocidad mínima para que un punto se registre + Registro de desplazamiento mínimo + Filtro: Establece la distancia mínima desde la última posición para que un punto se registre Precisión mínima para registro - Establece la precisión mínima de un punto para que se registre + Filtro: Establece la precisión mínima de un punto para que se registre PDI de Navidades Anticipando las vacaciones de Navidad y Año nuevo, puedes optar por mostrar el PDI asociado a las Navidades: árboles de Navidad, mercados, etc.. ¿Mostrar PDI de Navidades? @@ -2434,69 +2450,27 @@ Por favor proporciona un código completo Seleccionar la fluctuación de elevación Conducción por la derecha Automático - " OsmAnd (OSM Automated Navigation Directions, Guía de Navegación Automatizada) es una aplicación de mapa y navegación con acceso a los datos abiertos, de todo el mundo y de alta calidad de OpenStreetMap (OSM). Disfruta del navegador por voz y visual, visualización de PDIs (puntos de interés), creación y gestión de trazas GPX, visualización de curvas de nivel y uso de la información de altitud (mediante un extra), elegir entre modos conducción, ciclismo o peatonal, edición de OSM y mucho más. " + "OsmAnd (OSM Automated Navigation Directions, Guía de Navegación Automatizada) es una aplicación de mapa y navegación con acceso a los datos abiertos, de todo el mundo y de alta calidad de OpenStreetMap (OSM). Disfruta del navegador por voz y visual, visualización de PDIs (puntos de interés), creación y gestión de trazas GPX, visualización de curvas de nivel y uso de la información de altitud (mediante un extra), elegir entre modos conducción, ciclismo o peatonal, edición de OSM y mucho más." Analizar en el mapa Visible Restaurar compras Fuentes para mapa - " - Navegación GPS -• Puedes elegir modo entre desconectado (sin cargos de roaming cuando estás en el extranjero) o conectado (más rápido) -• La guía de voz correo a giro te indica a lo largo del camino (voces grabadas y sintetizadas) -• La ruta se reconstruye cada vez que te apartes de ella -• La indicación de carril, los nombres de las calles, y el tiempo estimado de llegada ayudará a lo largo de la vía -• Para hacer tu viaje más seguro, el modo día/noche cambia automáticamente -• Puedes elegir mostrar los límites de velocidad, y recibir recordatorios si se superan -• El zoom del mapa se ajusta a tu velocidad -• Puedes buscar destinos por dirección, por tipo (por ejemplo: aparcamiento, restaurante, hotel, gasolinera, museo), o mediante coordenadas geográficas -• Admite puntos intermedios en el itinerario -• Puedes grabar tu propia pista GPX o subir una, y seguirla - " - " - Mapa -• Muestra PDIs (puntos de interés) a tu alrededor -• Ajusta el mapa hacia la dirección del movimiento (o a la brújula) -• Muestra dónde estás y hacia dónde estás mirando -• Comparte tu ubicación para que tus amigos puedan encontrarte -• Mantiene tus lugares más importantes en Favoritos -• Te permite elegir cómo se muestran los nombres en el mapa: en inglés, local, o con ortografía fonética -• Muestra teselas especializadas en línea, vista de satélite (de Bing), diferentes superposiciones como pistas GPX y capas adicionales con transparencia personalizable. - " - " Esquí El complemento de OsmAnd de mapas de esquí te permite ver las pistas de esquí con el nivel de complejidad y alguna información adicional, como la ubicación de los ascensores y otras instalaciones. " - " Ciclismo -\n • Puedes encontrar vías ciclistas en el mapa -\n • La navegación GPS en modo ciclismo construye tu ruta utilizando vías ciclistas -\n • Puedes ver tu velocidad y altitud -\n • La opción de grabación de GPX te permite grabar tu viaje y compartirlo -\n • Vía un complemento adicional puedes habilitar mostrar curvas de nivel y sombreado del relieve " - " - Caminar, senderismo, turismo de ciudad -• El mapa tmuestrae caminos y rutas de senderismo -• Wikipedia en tu idioma preferido puede decirte mucho durante una visita turística -• Las paradas de transporte público (autobús, tranvía, tren), incluyendo los nombres de las líneas, ayudan a navegar en una nueva ciudad -• Navegación GPS en el modo de peatón construye tu ruta mediante caminos y senderos -• Puedes subir y seguir una ruta GPX o grabar y compartir las tuyas - " - " Contribuir a OSM -\n • Informar de fallos en los datos -\n • Subir pistas GPX a OSM directamente desde la aplicación -\n • Añadir PDIs y subirlos directamente a OSM (o más tarde si estuvieras desconectado) " - " - OsmAnd es de código abierto y está siendo activamente desarrollado. Todo el mundo puede contribuir a la aplicación informando de fallos, mejorando las traducciones o la codificación de nuevas características. El proyecto se encuentra en un animado estado de mejora continua por medio de todas estas formas de interacción entre desarrolladores y usuarios. El progreso del proyecto también se basa en contribuciones financieras para pagar la codificación y las pruebas de nuevas funcionalidades. -Cobertura y calidad aproximadas del mapa: -• Europa Occidental: **** -• Europa Del Este: *** -• Rusia: *** -• América Del Norte: *** -• América Del Sur: ** -• Asia: ** -• Japón y Corea: *** -• Oriente Medio: ** -• África: ** -• Antártida: * -¡La mayoría de los países de todo el mundo están disponibles para su descarga! - Consigue un navegador fiable navigator en su país - ya sea Francia, Alemania, Méjico, Reino Unido, España, Países Bajos, Estados Unidos, Rusia, Brasil o cualquier otro. - " + "Navegación GPS • Puedes elegir modo entre desconectado (sin cargos de roaming cuando estás en el extranjero) o conectado (más rápido) • La guía de voz correo a giro te indica a lo largo del camino (voces grabadas y sintetizadas) • La ruta se reconstruye cada vez que te apartes de ella • La indicación de carril, los nombres de las calles, y el tiempo estimado de llegada ayudará a lo largo de la vía • Para hacer tu viaje más seguro, el modo día/noche cambia automáticamente • Puedes elegir mostrar los límites de velocidad, y recibir recordatorios si se superan • El zoom del mapa se ajusta a tu velocidad • Puedes buscar destinos por dirección, por tipo (por ejemplo: aparcamiento, restaurante, hotel, gasolinera, museo), o mediante coordenadas geográficas • Admite puntos intermedios en el itinerario • Puedes grabar tu propia pista GPX o subir una, y seguirla" + Mapa • Muestra PDIs (puntos de interés) a tu alrededor • Ajusta el mapa hacia la dirección del movimiento (o a la brújula) • Muestra dónde estás y hacia dónde estás mirando • Comparte tu ubicación para que tus amigos puedan encontrarte • Mantiene tus lugares más importantes en Favoritos • Te permite elegir cómo se muestran los nombres en el mapa: en inglés, local, o con ortografía fonética • Muestra teselas especializadas en línea, vista de satélite (de Bing), diferentes superposiciones como pistas GPX y capas adicionales con transparencia personalizable. + Esquí El complemento de OsmAnd de mapas de esquí te permite ver las pistas de esquí con el nivel de complejidad y alguna información adicional, como la ubicación de los ascensores y otras instalaciones. + Ciclismo +\n • Puedes encontrar vías ciclistas en el mapa +\n • La navegación GPS en modo ciclismo construye tu ruta utilizando vías ciclistas +\n • Puedes ver tu velocidad y altitud +\n • La opción de grabación de GPX te permite grabar tu viaje y compartirlo +\n • Vía un complemento adicional puedes habilitar mostrar curvas de nivel y sombreado del relieve + Caminar, senderismo, turismo de ciudad • El mapa tmuestrae caminos y rutas de senderismo • Wikipedia en tu idioma preferido puede decirte mucho durante una visita turística • Las paradas de transporte público (autobús, tranvía, tren), incluyendo los nombres de las líneas, ayudan a navegar en una nueva ciudad • Navegación GPS en el modo de peatón construye tu ruta mediante caminos y senderos • Puedes subir y seguir una ruta GPX o grabar y compartir las tuyas + Contribuir a OSM +\n • Informar de fallos en los datos +\n • Subir pistas GPX a OSM directamente desde la aplicación +\n • Añadir PDIs y subirlos directamente a OSM (o más tarde si estuvieras desconectado) + OsmAnd es de código abierto y está siendo activamente desarrollado. Todo el mundo puede contribuir a la aplicación informando de fallos, mejorando las traducciones o la codificación de nuevas características. El proyecto se encuentra en un animado estado de mejora continua por medio de todas estas formas de interacción entre desarrolladores y usuarios. El progreso del proyecto también se basa en contribuciones financieras para pagar la codificación y las pruebas de nuevas funcionalidades. Cobertura y calidad aproximadas del mapa: • Europa Occidental: **** • Europa Del Este: *** • Rusia: *** • América Del Norte: *** • América Del Sur: ** • Asia: ** • Japón y Corea: *** • Oriente Medio: ** • África: ** • Antártida: * ¡La mayoría de los países de todo el mundo están disponibles para su descarga! +\n Consigue un navegador fiable en su país - ya sea Francia, Alemania, Méjico, Reino Unido, España, Países Bajos, Estados Unidos, Rusia, Brasil o cualquier otro. Zoom automático del mapa sí/no Tocando el botón de acción encenderá/apagará el zoom automático del mapa de acuerdo a tu velocidad. Encender zoom automático del mapa @@ -2518,14 +2492,11 @@ Cobertura y calidad aproximadas del mapa: Curvas de profundidad náuticas del hemisferio norte Curvas de profundidad náuticas Mapas náuticos - " - OsmAnd+ (OSM Automated Navigation Directions, Guía de Navegación Automatizada de OSM) es una aplicación de mapa y navegación con acceso a los datos libres, de ámbito mundial y de alta calidad de OpenStreetMap (OSM). -Disfruta de la navegación por voz y óptica, visualización de puntos de interés (PDI), creación y gestión de trazas GPX, uso de la visualización de las curvas de nivel y de la información de altitud, elección entre modos conducción, ciclista y peatonal, edición de OSM y mucho más. - -OsmAnd+ es la versión de pago de la aplicación. Al comprarla, estás apoyando el proyecto, soportas el desarrollo de nuevas características, y recibes las últimas actualizaciones. - -Algunas de las características principales: - " + OsmAnd+ (OSM Automated Navigation Directions, Guía de Navegación Automatizada de OSM) es una aplicación de mapa y navegación con acceso a los datos libres, de ámbito mundial y de alta calidad de OpenStreetMap (OSM). Disfruta de la navegación por voz y óptica, visualización de puntos de interés (PDI), creación y gestión de trazas GPX, uso de la visualización de las curvas de nivel y de la información de altitud, elección entre modos conducción, ciclista y peatonal, edición de OSM y mucho más. +\n +\nOsmAnd+ es la versión de pago de la aplicación. Al comprarla, estás apoyando el proyecto, soportas el desarrollo de nuevas características, y recibes las últimas actualizaciones. +\n +\nAlgunas de las características principales: Seleccionar calle en %1$s Escribe la dirección @@ -2541,59 +2512,51 @@ Algunas de las características principales: Animar mi ubicación Activa la animación de mi ubicación durante la navegación Resumen - " Navegación GPS -\n • Funciona en línea (rápido) o sin conexión (sin cargos de roaming al viajar al extranjero) -\n • Guía por voz giro-a-giro (voces grabadas y sintetizadas) -\n • (Opcional) Guía de carriles, nombres de calles y tiempo estimado al destino -\n • Soporta puntos intermedios en el itinerario + "Navegación GPS +\n • Funciona en línea (rápido) o sin conexión (sin cargos de roaming al viajar al extranjero) +\n • Guía por voz giro-a-giro (voces grabadas y sintetizadas) +\n • (Opcional) Guía de carriles, nombres de calles y tiempo estimado al destino +\n • Soporta puntos intermedios en el itinerario \n • La ruta se recalcula al salirse de la misma -\n • Puedes buscar destinos por dirección, tipo (p.e.: estacionamientos, restaurantes, hoteles, estaciones de servicio, museos), o por coordenada geográfica " - " Mapa -\n • Muestra tu ubicación y orientación -\n • (Opcional) Ajusta el mapa a la dirección del movimiento (o brújula) -\n • Guarda lugares importantes en Favoritos -\n • Muestra PDIs (puntos de interés) cerca de ti -\n • Muestra teselas en línea especiales, vista satelital (de Bing), diferentes superposiciones como trazas de travesía/navegación GPX y capas adicionales con transparencia personalizable -\n • Permite elegir como mostrar los nombres en el mapa: en inglés, local, u ortografía fonética " - " Uso de datos de OSM y Wikipedia -\n • Información de alta calidad del mejor proyecto colaborativo del mundo -\n • Datos OSM disponibles por país o región -\n • PDIs de Wikipedia, ideal para el turismo -\n • Descargas gratis ilimitadas, directamente desde la aplicación -\n • Mapas vectoriales reducidos sin conexión, actualizados al menos una vez cada mes -\n • Elije entre datos completos de la región o sólo la red de rutas (Ejemplo: Todo Japón tiene 700 MB o sólo 200 MB para la red de rutas) " - " Funciones de seguridad +\n • Puedes buscar destinos por dirección, tipo (p.e.: estacionamientos, restaurantes, hoteles, estaciones de servicio, museos), o por coordenada geográfica" + Mapa +\n • Muestra tu ubicación y orientación +\n • (Opcional) Ajusta el mapa a la dirección del movimiento (o brújula) +\n • Guarda lugares importantes en Favoritos +\n • Muestra PDIs (puntos de interés) cerca de ti +\n • Muestra teselas en línea especiales, vista satelital (de Bing), diferentes superposiciones como trazas de travesía/navegación GPX y capas adicionales con transparencia personalizable +\n • Permite elegir como mostrar los nombres en el mapa: en inglés, local, u ortografía fonética + Uso de datos de OSM y Wikipedia +\n • Información de alta calidad del mejor proyecto colaborativo del mundo +\n • Datos OSM disponibles por país o región +\n • PDIs de Wikipedia, ideal para el turismo +\n • Descargas gratis ilimitadas, directamente desde la aplicación +\n • Mapas vectoriales reducidos sin conexión, actualizados al menos una vez cada mes +\n • Elije entre datos completos de la región o sólo la red de rutas (Ejemplo: Todo Japón tiene 700 MB o sólo 200 MB para la red de rutas) + Funciones de seguridad \n • Alternancia automática opcional de la vista día/noche -\n • Visualización opcional del límite de velocidad, con aviso si lo excedes -\n • Zoom opcional del mapa dependiente a la velocidad -\n • Compartir tu ubicación para que tus amigos puedan encontrarte " - " - Funciones de ciclismo y peatón -• Visualización de caminos para caminar, senderismo y ciclismo,ideal para actividades al aire libre -• Navegación especial y modos de visualización para bicicletas y peatones -• (Opcional) Paradas de transporte público (colectivo, tranvía, tren) incluyendo nombres de líneas -• (Opcional) Graba el viaje en forma local en un archivo GPX o con un servicio en línea -• (Opcional) Muestra la velocidad y altitud -• Mediante un complemento adicional, puedes activar la visualización de las curvas de nivel y el sombreado de colinas - " - " Contribuye con OSM -\n • Informa sobre problemas de datos en el mapa -\n • Sube trazas GPX a OSM directamente desde la aplicación -\n • Añade PDIs y súbelos directamente a OSM (o más tarde, si no estás conectado) -\n • (Opcional) Grabación del viaje en segundo plano (mientras el dispositivo está bloqueado) -\n OsmAnd es de código abierto y se desarrolla activamente. Puedes contribuir con la aplicación al informar sobre errores, mejorar las traducciones o desarrollar nuevas funciones. El proyecto se encuentra en un estado de mejora continua gracias a todas estas formas de interacción entre el desarrollador y el usuario. El progreso del proyecto también depende de contribuciones financieras para financiar el desarrollo y pruebas de nuevas funcionalidades. " - " Cobertura y calidad aproximada del mapa: -\n • Europa Occidental: **** -\n • Europa Oriental: *** -\n • Rusia: *** -\n • Norteamérica: *** -\n • Sudamérica: ** -\n • Asia: ** -\n • Japón y Corea: *** -\n • Oriente Medio: ** -\n • África: ** -\n • Antártida: * -\n ¡La mayoría de países alrededor del globo están disponibles para descargar! Desde Afganistán a Zimbabue, desde Australia a Estados Unidos. Argentina, Brasil, Canadá, Francia, Alemania, México, Reino Unido, España, … " +\n • Visualización opcional del límite de velocidad, con aviso si lo excedes +\n • Zoom opcional del mapa dependiente a la velocidad +\n • Compartir tu ubicación para que tus amigos puedan encontrarte + Funciones de ciclismo y peatón • Visualización de caminos para caminar, senderismo y ciclismo,ideal para actividades al aire libre • Navegación especial y modos de visualización para bicicletas y peatones • (Opcional) Paradas de transporte público (colectivo, tranvía, tren) incluyendo nombres de líneas • (Opcional) Graba el viaje en forma local en un archivo GPX o con un servicio en línea • (Opcional) Muestra la velocidad y altitud • Mediante un complemento adicional, puedes activar la visualización de las curvas de nivel y el sombreado de colinas + "Contribuye con OSM +\n • Informa sobre problemas de datos en el mapa +\n • Sube trazas GPX a OSM directamente desde la aplicación +\n • Añade PDIs y súbelos directamente a OSM (o más tarde, si no estás conectado) +\n • (Opcional) Grabación del viaje en segundo plano (mientras el dispositivo está bloqueado) +\n OsmAnd es de código abierto y se desarrolla activamente. Puedes contribuir con la aplicación al informar sobre errores, mejorar las traducciones o desarrollar nuevas funciones. El proyecto se encuentra en un estado de mejora continua gracias a todas estas formas de interacción entre el desarrollador y el usuario. El progreso del proyecto también depende de contribuciones financieras para financiar el desarrollo y pruebas de nuevas funcionalidades." + Cobertura y calidad aproximada del mapa: +\n • Europa Occidental: **** +\n • Europa Oriental: *** +\n • Rusia: *** +\n • Norteamérica: *** +\n • Sudamérica: ** +\n • Asia: ** +\n • Japón y Corea: *** +\n • Oriente Medio: ** +\n • África: ** +\n • Antártida: * +\n ¡La mayoría de países alrededor del globo están disponibles para descargar! Desde Afganistán a Zimbabue, desde Australia a Estados Unidos. Argentina, Brasil, Canadá, Francia, Alemania, México, Reino Unido, España, … El nombre contiene demasiadas letras capitales. ¿Continuar? Para ver las curvas de nivel en el mapa, necesitas descargar el mapa de curvas de nivel de esta región. Complemento From 7644921d9a8db02ee262327d5fae914969193fb0 Mon Sep 17 00:00:00 2001 From: Franco Date: Fri, 14 Jul 2017 19:12:34 +0000 Subject: [PATCH 029/140] Translated using Weblate (Spanish) Currently translated at 99.3% (3096 of 3116 strings) --- OsmAnd/res/values-es/phrases.xml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/OsmAnd/res/values-es/phrases.xml b/OsmAnd/res/values-es/phrases.xml index 4442664e42..caf4a4770b 100644 --- a/OsmAnd/res/values-es/phrases.xml +++ b/OsmAnd/res/values-es/phrases.xml @@ -3444,4 +3444,24 @@ Doble propósito Estándar +Animales aceptados + Propósito específico + +Compuerta de esclusa + Fauna silvestre + Caballos + Mamíferos + Peces + + Salida (electricidad): No + + Propietario + + Adopción + Adopción: No + Rehabilitación y liberación + Rehabilitación y liberación: No + + Puerto espacial + From d8d363bee14eaa5f202da56e3f897f9e9863c304 Mon Sep 17 00:00:00 2001 From: Franco Date: Fri, 14 Jul 2017 19:15:28 +0000 Subject: [PATCH 030/140] Translated using Weblate (Spanish) Currently translated at 100.0% (3116 of 3116 strings) --- OsmAnd/res/values-es/phrases.xml | 40 ++++++++++++++++---------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/OsmAnd/res/values-es/phrases.xml b/OsmAnd/res/values-es/phrases.xml index caf4a4770b..df22d862a2 100644 --- a/OsmAnd/res/values-es/phrases.xml +++ b/OsmAnd/res/values-es/phrases.xml @@ -954,10 +954,10 @@ Fax Facebook Móvil - Refugio canino - Refugio gatuno - Refugio canino y gatuno - Refugio para aves + Perros + Gatos + Perros, gatos + Aves Centro de reciclaje Contenedor @@ -1546,7 +1546,7 @@ No acepta Tokens Tarjetas de regalo No acepta tarjetas de regalo - "PRO100 " + PRO100 No acepta tarjetas PRO100 Union Card No acepta tarjetas Union card @@ -2128,7 +2128,7 @@ Prohibido encender fuego No - Permitido campamento scout + Prohibido campamento scout Sólo para grupos Sólo para grupos: No @@ -2293,7 +2293,7 @@ Período histórico: Antiguo reinado (2686 – 2181 aC) Período histórico: Primer período intermedio (2181 – 2055 aC) Período histórico: Segundo período intermedio (1650 – 1550 aC) - "Período histórico: Tercer período intermedio (1069 – 664 aC) " + Período histórico: Tercer período intermedio (1069 – 664 aC) Período histórico: Primer período persa Período histórico: Último período (664 – 332 aC) Período histórico: Segundo período persa @@ -2425,7 +2425,7 @@ Wiki en Afrikáans Wiki en alsaciano - Wiki en azerí + Wiki en azerí (Azerbaiyán) Wiki en bengalí Wiki en bishnupriya Wiki en bretón @@ -2751,7 +2751,7 @@ Tipo de centro sanitario: hogar de ancianos Tipo de centro sanitario: grupo de apoyo - Especialidad sanitario: medicina paliativa + Medicina paliativa Punto de aspiración @@ -2865,12 +2865,12 @@ Presión del hidrante Cantidad de hidrantes Capacidad de caudal del hidrante - Ubicación del hidrante: en acera - Ubicación del hidrante: en césped - Ubicación del hidrante: en carril - Ubicación del hidrante: en aparcamiento - Ubicación del hidrante: en la calle - Ubicación del hidrante: subterráneo + En acera + En césped + En carril + En aparcamiento + En la calle + Subterráneo Estilo del hidrante: wsh Principal Estanque @@ -2959,9 +2959,9 @@ No acepta tarjeta Troika Telescopio - Tipo de telescopio: óptico - Tipo de telescopio: radiotelescopio - Tipo de telescopio: de rayos gamma + Óptico + Radiotelescopio + Rayos gamma Diámetro Espectro Uso: educativo @@ -3130,8 +3130,8 @@ Tienda de artículos de Artes y oficios - Carga de bicicletas: sí - Carga de bicicletas: no + Cargador eléctrico + Cargador eléctrico: no Navidad Evento de Navidad From 23ce9a4aa1f0e551d38ab85e653ba3f7c2026940 Mon Sep 17 00:00:00 2001 From: Franco Date: Fri, 14 Jul 2017 19:20:35 +0000 Subject: [PATCH 031/140] Translated using Weblate (Spanish) Currently translated at 100.0% (3116 of 3116 strings) --- OsmAnd/res/values-es/phrases.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-es/phrases.xml b/OsmAnd/res/values-es/phrases.xml index df22d862a2..e18296331c 100644 --- a/OsmAnd/res/values-es/phrases.xml +++ b/OsmAnd/res/values-es/phrases.xml @@ -2140,14 +2140,14 @@ Ducha: exterior Ducha: fría Ducha: interior - Si + Prohibido casas rodantes - Improvisado: Si + Improvisado: Sí Improvisado: No Con estación de descarga sanitaria Sin estación de descarga sanitaria Estación de descarga sanitaria sólo para clientes - Si + Sin fuentes de alimentación Fuente de alimentación (enchufe): CEE 17 azul Fuente de alimentación (enchufe): CEE 7/4 @@ -2389,7 +2389,7 @@ Escultor Cruz - Cumbre a la cruz: Si + Cumbre a la cruz: Sí Ex campo de prisioneros Tipo: Campo de concentración From 1b06bd095192ff56a406d90040e3f3df940aeba7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D1=96=D0=B9=20=D0=94=D1=83=D0=B1?= =?UTF-8?q?=D0=B8=D0=BA?= Date: Fri, 14 Jul 2017 22:07:16 +0000 Subject: [PATCH 032/140] Translated using Weblate (Ukrainian) Currently translated at 100.0% (3116 of 3116 strings) --- OsmAnd/res/values-uk/phrases.xml | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-uk/phrases.xml b/OsmAnd/res/values-uk/phrases.xml index 97c812f40c..8aac3c7bf0 100644 --- a/OsmAnd/res/values-uk/phrases.xml +++ b/OsmAnd/res/values-uk/phrases.xml @@ -1405,10 +1405,10 @@ Обмеження: оплата Притулок для тварин - Тип притулку: для собак - Тип притулку: для кішок - Тип притулку: для собак та кішок - Тип притулку: для птахів + Собаки + Кішки + Собаки і кішки + Птахи Сидіння Зі спинкою @@ -3403,4 +3403,19 @@ Власник +Приймаються тварини + Мета утримання + +Дикі тварини + Коні + Ссавці + Риби + + Довготривала опіка: так + Довготривала опіка: немає + Реабілітація та випуск: так + Реабілітація та випуск: немає + + Космодром + From 931e9c77bd6869875870032d31cedbd942b8183b Mon Sep 17 00:00:00 2001 From: Franco Date: Sat, 15 Jul 2017 00:54:30 +0000 Subject: [PATCH 033/140] Translated using Weblate (Spanish) Currently translated at 100.0% (3116 of 3116 strings) --- OsmAnd/res/values-es/phrases.xml | 408 +++++++++++++++---------------- 1 file changed, 204 insertions(+), 204 deletions(-) diff --git a/OsmAnd/res/values-es/phrases.xml b/OsmAnd/res/values-es/phrases.xml index e18296331c..cc8c711df4 100644 --- a/OsmAnd/res/values-es/phrases.xml +++ b/OsmAnd/res/values-es/phrases.xml @@ -11,7 +11,7 @@ Transporte fluvial Transporte ciclista Transporte elevado - Artificial + Estructura artificial Transporte en construcción Suministro de agua Energía @@ -26,7 +26,7 @@ Turismo Lugares de interés Alojamiento - Acceso a Internet + Conexión a Internet Ocio Club Comida @@ -62,7 +62,7 @@ Tienda de ordenadores Florería Mueblería - Vivero + Centro de jardinería Gas líquido Tienda generalista Tienda de regalos @@ -164,7 +164,7 @@ Radar Círculo de giro Salida de autopista - Cruce + Cruce (intersección vial) Torre de agua Compuerta Subestación @@ -187,7 +187,7 @@ Observatorio Astronómico Torre - Poste eléctrico + Antena de comunicación Radar Construcción Fábrica @@ -226,7 +226,7 @@ Medicina alternativa Banco de sangre Centro médico - Empresa + Empresa privada Inmobiliaria Abogado Municipalidad/Ayuntamiento @@ -291,9 +291,9 @@ Apartamento Lugar de culto Cristianismo - Internet inalámbrico - Internet cableado - Internet público + Conexión a Internet: inalámbrico (Wi-Fi) + Conexión a Internet: cableado + Conexión a Internet: público Monasterio Monasterio histórico Información @@ -389,7 +389,7 @@ Tienda benéfica Confitería Tienda de ropa - Ropa infantil + Infantil Zapatería Tienda de fotocopiado Tienda de cortinas @@ -516,7 +516,7 @@ Rehabilitación Centro médico - Seguros + Aseguradora Oficina de telecomunicaciones ONG Oficina de investigación @@ -693,7 +693,7 @@ Noria Carrusel/Tiovivo oscilante Judaísmo - Servicio de Internet + Conexión a Internet: servicio Manantial Funicular @@ -709,7 +709,7 @@ Edificio náutico Distrito Tobogán de verano - Terminal con Internet + Conexión a Internet: terminal con Internet Campamento de caravanas Fuente termal Complejo turístico @@ -723,7 +723,7 @@ Parquetista Guarnicionero Astillero artesanal - Diseño de stands + Creador de estand Fábrica de toldos Deshollinador Alicatador @@ -775,7 +775,7 @@ Cobertizo Mesa de picnic Bodega - Bodega + Bodega (vinicultura) Galería de arte Refugio de caza @@ -839,7 +839,7 @@ Tienda de moda Artículos de paracaidismo Tienda de calefactores - Tienda de jardinería + Muebles de jardín Marroquinería Tienda de música Artículos de buceo @@ -1227,8 +1227,8 @@ Rural Asientos - Con respaldo - Sin respaldo + Respaldo: sí + Respaldo: no Intermitente @@ -1367,15 +1367,15 @@ No Mogul -Jardín residencial - Jardín comunitario - Jardín privado - Jardín botánico +Tipo de jardín: residencial + Tipo de jardín: comunitario + Tipo de jardín: privado + Tipo de jardín: botánico - Jardín huerta - Jardín francés - Jardín inglés - Jardín japonés + Estilo de jardín: huerta + Estilo de jardín: francés + Estilo de jardín: inglés + Estilo de jardín: japonés Capacidad @@ -1423,11 +1423,11 @@ Estrellas: 7 Habitaciones - Jardín rosaleda + Estilo de jardín: rosaleda Albergue transitorio -Con acceso a Internet - Sin acceso a Internet +Conexión a Internet: sí + Conexión a Internet: no Monedas No acepta monedas @@ -1554,8 +1554,8 @@ No acepta Yandex.Money Detalles de pago - Acceso a Internet tarifado - Acceso a Internet sin cargo + Conexión a Internet: tarifado + Conexión a Internet: no tarifado PIKEPASS (indicado) Routex @@ -1578,31 +1578,31 @@ No acepta MTS-Money Salón de eventos - Vegetariana sólo + Sólo vegetariana Vegetariana - Sin dieta vegetariana + Dieta vegetariana: no Vegetariana (poco) - Vegana sólo + Sólo vegana Vegana - Sin dieta vegana - Sin gluten sólo - Sin gluten - Sin dieta libre de gluten - Kosher sólo + Dieta vegana: no + Sólo libre de gluten + Libre de gluten + Dieta libre de gluten: no + Sólo kosher Kosher - Sin dieta kosher - Halal sólo + Dieta kosher: no + Sólo halal Halal - Sin dieta halal - Sin lactosa sólo - Sin lactosa - Sin dieta libre de lactosa + Dieta halal: no + Sólo libre de lactosa + Libre de lactosa + Dieta libre de lactosa: no Pescetariana Conducir dentro: No - Sin servicio dentro del coche + Servicio en el automóvil: no Nombre de cervecería Micro-cervecería @@ -1659,7 +1659,7 @@ Acceso a los baños: Comunidad Acceso a los baños: Público - Con cambiador de pañales + Cambiador de pañales Sin cambiador de pañales Habitación para cambio de pañales @@ -1688,7 +1688,7 @@ Inscripción - Sin cepillo giratorio + Cepillo giratorio: no Lavado de autos: No Estadía máxima @@ -1710,7 +1710,7 @@ Vales de teléfono Planes de transporte público Vales - Rama + Rama/sucursal Memorial de guerra Placa @@ -1813,12 +1813,12 @@ Tipo de refugio: Carpa Refugio abandonado - Wi-Fi + Inalámbrico (Wi-Fi) Terminal (PC con internet) Cableado - Tipo de Internet: Público - Tipo de Internet: Servicio - Sin acceso a Internet + Tipo de conexión a Internet: Público + Tipo de conexión a Internet: Servicio + Conexión a Internet: no Ancho máximo Código IATA @@ -1843,26 +1843,26 @@ Arquitecto - Arquitectura moderna - Arquitectura neoclasista stalinista - Arquitectura ecléctica - Arquitectura: Nueva objetividad - Arquitectura contemporánea - Arquitectura constructivista - Arquitectura alemana - Arquitectura de madera - Arquitectura: Arte nuevo - Arquitectura neoclasista - Arquitectura victoriana - Arquitectura brutalista - Arquitectura clasicista - Arquitectura gótica - Arquitectura rusa antigua - Arquitectura barroca - Arquitectura post-constructivista - Arquitectura estilo guillerminista - Arquitectura renacentista - Arquitectura románica + Arquitectura: moderna + Arquitectura: neoclasista stalinista + Arquitectura: ecléctica + Arquitectura: nueva objetividad + Arquitectura: contemporánea + Arquitectura: constructivista + Arquitectura: alemana + Arquitectura: estructura de madera + Arquitectura: arte nuevo + Arquitectura: neoclasista + Arquitectura: victoriana + Arquitectura: brutalista + Arquitectura: clasicista + Arquitectura: gótica + Arquitectura: rusa antigua + Arquitectura: barroca + Arquitectura: post-constructivista + Arquitectura: estilo guillerminista + Arquitectura: renacentista + Arquitectura: románica Escombros Barrera New Jersey @@ -1906,8 +1906,8 @@ Tipo de puente móvil: Transportador Tipo de puente móvil: Retráctil - Iluminado - No iluminado + Iluminado: sí + Iluminado: no Superficie sin pavimentar Superficie pavimentada @@ -2002,10 +2002,10 @@ Nota Abrevadero Alojamiento de animales - Alojamiento canino - Alojamiento gatuno - Alojamiento canino y gatuno - Alojamiento ecuestre + Tipo de alojamiento: Canino + Tipo de alojamiento: Gatuno + Tipo de alojamiento: Canino y gatuno + Tipo de alojamiento: Ecuestre Avión histórico @@ -2041,56 +2041,56 @@ Camino de emergencia - Cultivo de arroz - Cultivo de césped - Cultivo de maíz - Cultivo de cereales - Cultivo de cañas de azúcar - Cultivo de trigo - Cultivo de soja - Cultivo de cebada - Cultivo de verduras - Cultivo de lúpulo - Cultivo de colza - Cultivo de remolacha - Cultivo de lavanda - Cultivo de té - Cultivo de café - Granja avícola - Cultivo de girasoles - Cultivo de frambuesas - Cultivo de tabaco - Cultivo de fresas - Cultivo de verduras y flores - Cultivo de mandioca - Cultivo de arándanos - Cultivo de espárragos - Cultivo de flores + Cultivo: arroz + Cultivo: césped + Cultivo: maíz + Cultivo: cereales + Cultivo: cañas de azúcar + Cultivo: trigo + Cultivo: soja + Cultivo: cebada + Cultivo: verduras + Cultivo: lúpulo + Cultivo: colza + Cultivo: remolacha + Cultivo: lavanda + Cultivo: té + Cultivo: café + Granja: avícola + Cultivo: girasoles + Cultivo: frambuesas + Cultivo: tabaco + Cultivo: fresas + Cultivo: verduras y flores + Cultivo: mandioca + Cultivo: arándanos + Cultivo: espárragos + Cultivo: flores Vigilancia interior Vigilancia exterior Vigilancia pública - Mujeres - Ropa interior - Hombres + Femenina + Íntima + Masculina Vestidos de novia - Deportes + Deportiva Bebés Vaqueros - Ropa de trabajo + De trabajo Sombreros - Ropa de piel - Ropa de cuero + De piel + De cuero Disfraces Tradicional - Trajes + Trajes de vestir Premamá Antigua Tallas grandes Escolar Trajes de baño - Medias/Calcetines + Medias/calcetines Camisas Danza Militar @@ -2104,14 +2104,14 @@ Ortopédico Mansión histórica - Castillo: Majestuoso - Castillo: Defensivo - Castillo: Fortaleza - Castillo: Palacio - Castillo: Kremlin - Castillo: Defensivo, Majestuoso - Castillo: Fortificación (castrum) - Castillo: Shiro + Tipo de castillo: Majestuoso + Tipo de castillo: Defensivo + Tipo de castillo: Fortaleza + Tipo de castillo: Palacio + Tipo de castillo: Kremlin + Tipo de castillo: Defensivo, majestuoso + Tipo de castillo: Fortificación (castrum) + Tipo de castillo: Shiro Tailandés Sexual @@ -2141,7 +2141,7 @@ Ducha: fría Ducha: interior - Prohibido casas rodantes + Caravanas: no Improvisado: Sí Improvisado: No Con estación de descarga sanitaria @@ -2212,8 +2212,8 @@ Descripción para sordos Escalera - Con barandilla - Sin barandilla + Barandilla: sí + Barandilla: no Con rampa Sin rampa Con rampa para sillas de rueda @@ -2233,7 +2233,7 @@ Decoración de la fachada Desfibrilador - Con desfibrilador + Desfibrilador: sí Tipo: Guerra Tipo: Túmulo @@ -2373,15 +2373,15 @@ Horca histórica Vía ferroviaria histórica -Iglesia - Capilla - Mezquita - Templo - Catedral - Monasterio - Basílica - Sinagoga - Santuario +Tipo de edificio: Iglesia + Tipo de edificio: Capilla + Tipo de edificio: Mezquita + Tipo de edificio: Templo + Tipo de edificio: Catedral + Tipo de edificio: Monasterio + Tipo de edificio: Basílica + Tipo de edificio: Sinagoga + Tipo de edificio: Santuario Plaza @@ -2491,7 +2491,7 @@ Longitud -Con acceso a Internet +Conexión a Internet: sí Médico general Oftalmología @@ -2500,7 +2500,7 @@ Ortopedia Otorrinolaringología Pediatría - Especialidad médica: Sin pediatría + Especialidad en salud: Sin pediatría Dermatología Urología Cirugía general @@ -2517,7 +2517,7 @@ Cirugía dental, oral y maxilofacial Maternidad Medicina de urgencia - Especialidad médica: Sin medicina de urgencia + Especialidad en salud: Sin medicina de urgencia Cirugía plástica Ortodoncia Psicoterapia @@ -2537,15 +2537,15 @@ Anatomía patológica Oncología Medicina tropical - Especialidad médica: Sin medicina tropical + Especialidad en salud: Sin medicina tropical Obstetricia (postnatal) - Especialidad médica: Sin obstetricia (postnatal) + Especialidad en salud: Sin obstetricia (postnatal) Obstetricia (prenatal) - Especialidad médica: Sin obstetricia (prenatal) + Especialidad en salud: Sin obstetricia (prenatal) Pediatría social - Especialidad médica: Sin pediatría social + Especialidad en salud: Sin pediatría social Obstetricia (cesárea) - Especialidad médica: Sin obstetricia (cesárea) + Especialidad en salud: Sin obstetricia (cesárea) Medicina adictiva Optometría Patología clínica @@ -2565,10 +2565,10 @@ Herbolaria - Pirámide + Tipo de edificio: Pirámide Gimnasio - Gimnasio (deporte) + Ejercicio físico Billar @@ -2600,7 +2600,7 @@ Nombre oficial Señal ďe Dique - Duque de alba + Duque de alba (náutico) Inscripción: N Inscripción: NO @@ -2689,22 +2689,22 @@ Aterrizaje elevado Remolcador Formación - Oficial: Sí - Oficial: No + Autorizado + No autorizado Parapente Parapente: no Ala delta Ala delta: no Rígido Vuelo libre rígido: no - "Orientación del sitio de vuelo libre: N" + Orientación del sitio de vuelo libre: N Orientación del sitio de vuelo libre: NE - "Orientación del sitio de vuelo libre: E" - "Orientación del sitio de vuelo libre: SE" - "Orientación del sitio de vuelo libre: S" - "Orientación del sitio de vuelo libre: SO" - "Orientación del sitio de vuelo libre: O" - "Orientación del sitio de vuelo libre: NO" + Orientación del sitio de vuelo libre: E + Orientación del sitio de vuelo libre: SE + Orientación del sitio de vuelo libre: S + Orientación del sitio de vuelo libre: SO + Orientación del sitio de vuelo libre: O + Orientación del sitio de vuelo libre: NO Sin horario de vuelo (vuelo libre) Directrices de huésped: Sí Directrices de huésped: No @@ -2740,7 +2740,7 @@ Servicio de salud: análisis: sí Servicio de salud: análisis: no - Consulta de médico + Consultorio médico Tipo de centro sanitario: hospital de campaña "Tipo de centro sanitario: centro de orientación" Tipo de centro sanitario: laboratorio @@ -2878,7 +2878,7 @@ Cisterna En servicio: sí -Señal: Parcela forestal +Señal: Compartimento forestal Lugar para fogata Distribuidor en la vía pública @@ -2912,11 +2912,11 @@ Activación del cruce: automática Activación del cruce: local Activación del cruce: remota - Barrera de cruce: no - Barrera de cruce - Barrera de cruce: completo - Barrera de cruce: mitad - Barrera de cruce: doble mitad + Cruce de barreras: no + Cruce de barreras + Cruce de barreras: completo + Cruce de barreras: mitad + Cruce de barreras: doble mitad Campana de cruce Campana de cruce: no Luz de cruce @@ -2938,10 +2938,10 @@ Dispensa recetas: no Internacional - regional + Regional Público Militar - Militar/Público + Militar/público Privado Conducto de ventilación @@ -3021,7 +3021,7 @@ Acuicultura Acuicultura: gambas - Acuicultura: pescado + Acuicultura: peces Acuicultura: mejillones Red de distribución principal (MDF) @@ -3056,47 +3056,47 @@ Longitud -Tipo - Tipo +Tipo de combustible + Tipo de combustible (aviones) Tipo de pago Tarjetas de combustible Adicional - Tipo de acceso a Internet + Tipo de conexión a Internet Tipo de vending - Servicio de bicicletas - Tipo + Servicio para bicicletas + Tipo de prenda Tipo - Tipo - Posición + Tipo de hidrante + Ubicación del hidrante Fuente de agua Tipo de pago Sonido - Tipo + Tipo de cruce Pavimento táctil Servicio - Sin escobillas + Cepillo giratorio Autoservicio Automatizado Tipo Cubierto Estación de metro Mercancías - Tipu + Tipo de aparcamiento Transporte de bicicletas Calefacción Bomba Nombre Tipo - Tipo - Tipo - Capital + Tipo de amaestramiento + Tipo de embajada + Ciudad capital Especialidad - Característica - Tipo + Característica de vuelo + Tipo de sitio arqueológico Estrellas Religión Denominación - Tipo + Tipo de información Contenidos Adicional Campamento de Scouts @@ -3111,7 +3111,7 @@ Comida para llevar Cócteles Cervecería artesanal - Servicio + Servicio de belleza Tipo Residuos aceptados Tipo @@ -3122,7 +3122,7 @@ Nudismo Dispensario - Fuera de pista + Travesía (fuera de pista) Accesibilidad para sillas de ruedas Wikipedia @@ -3153,8 +3153,8 @@ Tipo: gabinete de metal Tipo: balda -Dieta - Especialidad saludable +Régimen alimenticio + Especialidad en salud Tipo de masaje Tiendas de campaña Lavadora @@ -3172,25 +3172,25 @@ Infraestructura de emergencia Gasolinera para barcos - Vegetariano - Vegano - Sin gluten + Vegetariana + Vegana + Libre de gluten Kosher Halal - Sin lactosa + Libre de lactosa Pizza Hamburguesa Café - Bocadillo + Emparedado Kebab Doner kebab (shawarma) Pollo Helado Sushi Pescado y patatas fritas - Marisco + Comida de mar Barbacoa Tallarines Rosquilla @@ -3271,8 +3271,8 @@ Japonés Alemán Indio - Americano - Asiático + Estadounidense + Asiática Francés Griego Tailandés @@ -3282,28 +3282,28 @@ Vietnamita Coreano Mediterráneo - Bávaro + Bávara Libanés Ruso Filipino Portugués Georgiano Polaco - Brasileño + Brasilera Árabe Danés Indonesio - Africano + Africana Caribeño - Argentino - Balcánico + Argentina + Balcanesa Peruano Croata - Boliviano + Boliviana Malgache Persa Marroquí - Austriaco + Austríaca Malasio Irlandés Etíope @@ -3313,20 +3313,20 @@ Uzbeco Checo Cubano - Británico + Británica Latinoamericana Nepalí Mongol De Oriente Medio Ucraniano - Afgano + Afgana Belga - Vasco + Vasca Suizo Cantonés Sueco Jamaicano - Armenio + Armenia Hawaiano Inglés Paquistaní @@ -3351,7 +3351,7 @@ Billetes de lotería Local de apuestas - Tipo + Tipo de juego Lotería Máquinas tragaperras Apuestas From ffefbbf3fddc56ced24245456a49a4da4665fd21 Mon Sep 17 00:00:00 2001 From: Osoitz Date: Sat, 15 Jul 2017 08:52:14 +0000 Subject: [PATCH 034/140] Translated using Weblate (Basque) Currently translated at 99.6% (2348 of 2357 strings) --- OsmAnd/res/values-eu/strings.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-eu/strings.xml b/OsmAnd/res/values-eu/strings.xml index 9dee2d82f2..b409c50017 100644 --- a/OsmAnd/res/values-eu/strings.xml +++ b/OsmAnd/res/values-eu/strings.xml @@ -1,4 +1,5 @@ - + + Deskargatutako zoomak: %1$s Iraungitze epea (minutuak): %1$s Deskargagarria: %1$s @@ -2718,4 +2719,5 @@ Area honi dagokio: %1$s x %2$s Mapa • Bistaratu inguruko interesezko puntuak (POI) • Egokitu mapa zure mugimenduaren (edo iparrorratzaren) norabidera • Non zauden eta nora begiratzen duzun erakusten du • Partekatu zure kokalekua lagunek aurkitu zaitzaten • Gorde zuretzat garrantzitsuak diren tokiak gogokoetan • Mapan izenak nola bistaratu aukeratzen uzten dizu: zure hizkuntzan, tokiko hizkuntzan, edo ahoskera fonetikoa • Interneteko tesela mapak erakusten ditu, satelite ikuspegia (Bingek eskainia), hainbat gainazal, esaterako turismorako edo nabigaziorako GPX lorratzak eta azal gehigarriak gardentasun aldagarriarekin Bizikleta • Bizikletentzako bideak aurki ditzakezu mapan • Bizikletarako GPS nabigazioak ibilbideak bizikletentzako bideak erabiliz eraikiko du • Zure abiadura eta altuera ikusi ditzakezu • GPX grabaketak zure bidaia grabatu eta partekatzea ahalbidetzen dizu • Gehigarriekin sestra-kurbak eta erliebe-itzalak gaitu ditzakezu Bizikleta eta oinezkoentzako ezaugarriak • Oinez, mendian, eta bizikletarekin egiteko bideak eta aktibitateak ikusi • Bizikleta eta oinezkoentzako ibilbide eta ikuspegi bereziak • Aukeran garraio publikoaren geltokiak (autobusa, tranbia, trena) lineen izenak barne • Aukeran bidaiaren grabaketa tokiko GPX fitxategira edo interneteko zerbitzari batera • AUkeran abiadura eta altuera bistaratu • Biostaratu sestra-kurbak eta erliebe-itzalak (plug-in gehigarriarekin) - \ No newline at end of file + Min/Max + From 91b6eaf62f23ed1c91edee40285a1ce336993013 Mon Sep 17 00:00:00 2001 From: Ajeje Brazorf Date: Fri, 14 Jul 2017 17:43:44 +0000 Subject: [PATCH 035/140] Translated using Weblate (Sardinian) Currently translated at 99.9% (2355 of 2357 strings) --- OsmAnd/res/values-sc/strings.xml | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-sc/strings.xml b/OsmAnd/res/values-sc/strings.xml index 7525db0837..11d4922af9 100644 --- a/OsmAnd/res/values-sc/strings.xml +++ b/OsmAnd/res/values-sc/strings.xml @@ -1,4 +1,5 @@ - + + Ammustra sa positzione semper a su tzentru Boghe Mistura @@ -615,7 +616,7 @@ Boles protzèdere cun una registratzione noa? Istransi… Istransi sas istradas a pagamentu, isterradas, traghetos Camineras fluorescentes - Iscala gràfica + Righellu Diretzione de sa visuale Butones trasparentes Abìlita\n modalidade \"de isfundu\" @@ -755,7 +756,7 @@ Memòria in proportzione %4$s MB (lìmite de Android %5$s MB, Dalvik %6$s MB).Imposta impitadore e crae (password) de OSM pro carrigare documentos GPX. Sustènne Sustènne caraterìsticas noas - Ammustra s’iscala gràfica + Ammustra su righellu Info Torra a sa positzione Agiudu @@ -2695,4 +2696,15 @@ Pro praghere iscrie su còdighe intreu Sarva sas rastas registradas in suta-cartellas diferentes pro mese de registratzione (es. 2017-01). %1$d de %2$d Tempus in movimentu - \ No newline at end of file + Mass/Min + Min/Mass + \\022 Estensione Mapillary cun immàgines a livellu de s\'istrada +\n +\n • Widget righellu pro medire sas distàntzias +\n +\n • Intervallos iscrobados GPX cun informatziones a pitzu de sa rasta tua +\n +\n • Àteros megioramentos e curretziones de errores +\n +\n + From 7dcef0e144388bf21543aa87a888cb859470e868 Mon Sep 17 00:00:00 2001 From: Franco Date: Fri, 14 Jul 2017 19:06:36 +0000 Subject: [PATCH 036/140] Translated using Weblate (Spanish) Currently translated at 100.0% (2356 of 2356 strings) --- OsmAnd/res/values-es/strings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OsmAnd/res/values-es/strings.xml b/OsmAnd/res/values-es/strings.xml index 60b41e5a10..55fc18e37b 100644 --- a/OsmAnd/res/values-es/strings.xml +++ b/OsmAnd/res/values-es/strings.xml @@ -1439,7 +1439,7 @@ Tanto la ubicación como el tiempo de estacionamiento se muestran en el panel de Intervalo de registro general Límite de velocidad Control fronterizo - Peaje + Cabina de peaje Señal de detención Radar de velocidad Pulsa cualquier objeto para ver más detalles, mantén pulsado para desactivar o borrar. Datos en el dispositivo actualmente (%1$s libre): @@ -1753,7 +1753,7 @@ Lon %2$s Sin actualizaciones disponibles Nos interesa mucho y es importante para nosotros oír su opinión. Borde remarcado - Advertencia de riesgo + Advertencia de peligro Configurar panel Se ocultó la tarjeta Deshacer @@ -2456,7 +2456,7 @@ Por favor proporciona un código completo Restaurar compras Fuentes para mapa "Navegación GPS • Puedes elegir modo entre desconectado (sin cargos de roaming cuando estás en el extranjero) o conectado (más rápido) • La guía de voz correo a giro te indica a lo largo del camino (voces grabadas y sintetizadas) • La ruta se reconstruye cada vez que te apartes de ella • La indicación de carril, los nombres de las calles, y el tiempo estimado de llegada ayudará a lo largo de la vía • Para hacer tu viaje más seguro, el modo día/noche cambia automáticamente • Puedes elegir mostrar los límites de velocidad, y recibir recordatorios si se superan • El zoom del mapa se ajusta a tu velocidad • Puedes buscar destinos por dirección, por tipo (por ejemplo: aparcamiento, restaurante, hotel, gasolinera, museo), o mediante coordenadas geográficas • Admite puntos intermedios en el itinerario • Puedes grabar tu propia pista GPX o subir una, y seguirla" - Mapa • Muestra PDIs (puntos de interés) a tu alrededor • Ajusta el mapa hacia la dirección del movimiento (o a la brújula) • Muestra dónde estás y hacia dónde estás mirando • Comparte tu ubicación para que tus amigos puedan encontrarte • Mantiene tus lugares más importantes en Favoritos • Te permite elegir cómo se muestran los nombres en el mapa: en inglés, local, o con ortografía fonética • Muestra teselas especializadas en línea, vista de satélite (de Bing), diferentes superposiciones como pistas GPX y capas adicionales con transparencia personalizable. + Mapa • Muestra PDIs (puntos de interés) a tu alrededor • Ajusta el mapa hacia la dirección del movimiento (o a la brújula) • Muestra dónde estás y hacia dónde estás mirando • Comparte tu ubicación para que tus amigos puedan encontrarte • Mantiene tus lugares más importantes en Favoritos • Te permite elegir cómo se muestran los nombres en el mapa: en inglés, local, o con ortografía fonética • Muestra teselas especializadas en línea, vista de satélite (de Bing), diferentes superposiciones como pistas GPX y capas adicionales con transparencia personalizable Esquí El complemento de OsmAnd de mapas de esquí te permite ver las pistas de esquí con el nivel de complejidad y alguna información adicional, como la ubicación de los ascensores y otras instalaciones. Ciclismo \n • Puedes encontrar vías ciclistas en el mapa From 53ef73ab266646d5ca5b5764b5743fc072c72d85 Mon Sep 17 00:00:00 2001 From: Verdulo Date: Fri, 14 Jul 2017 20:46:51 +0000 Subject: [PATCH 037/140] Translated using Weblate (Esperanto) Currently translated at 99.9% (3114 of 3116 strings) --- OsmAnd/res/values-eo/phrases.xml | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/OsmAnd/res/values-eo/phrases.xml b/OsmAnd/res/values-eo/phrases.xml index a48b9d52fc..1219ccb2a9 100644 --- a/OsmAnd/res/values-eo/phrases.xml +++ b/OsmAnd/res/values-eo/phrases.xml @@ -1234,10 +1234,10 @@ Kontrolo: imposto Azilo por bestoj - Azilo por: hundoj - Azilo por: katoj - Azilo por: hundoj kaj katoj - Azilo por: birdoj + hundoj + katoj + hundoj kaj katoj + birdoj Seĝoj Seĝodorsoj: jes @@ -3412,4 +3412,19 @@ Elaĵo (elektro): ne - + Akceptataj bestoj + Celo + +sovaĝaj bestoj + ĉevaloj + mamuloj + fiŝoj + + adopto: jes + adopto: ne + elliberigo: jes + elliberigo: ne + + Kosmodromo + + From e9e3912da06be8fb60d585aa8ecc7f0726e2b454 Mon Sep 17 00:00:00 2001 From: Franco Date: Sat, 15 Jul 2017 01:54:28 +0000 Subject: [PATCH 038/140] Translated using Weblate (Spanish) Currently translated at 100.0% (3116 of 3116 strings) --- OsmAnd/res/values-es/phrases.xml | 290 +++++++++++++++---------------- 1 file changed, 145 insertions(+), 145 deletions(-) diff --git a/OsmAnd/res/values-es/phrases.xml b/OsmAnd/res/values-es/phrases.xml index cc8c711df4..fff7b7b2d9 100644 --- a/OsmAnd/res/values-es/phrases.xml +++ b/OsmAnd/res/values-es/phrases.xml @@ -112,7 +112,7 @@ Portón Muralla de la ciudad Barrera levadiza - Peaje + Cabina de peaje Control fronterizo Badén (pequeño) Semáforo @@ -161,7 +161,7 @@ Túnel Puente - Radar + Radar de velocidad Círculo de giro Salida de autopista Cruce (intersección vial) @@ -774,7 +774,7 @@ Cabaña Cobertizo Mesa de picnic - Bodega + Cava (bodega) Bodega (vinicultura) Galería de arte @@ -983,7 +983,7 @@ Libros Calzados Aluminio - Orgánico + Reciclado orgánico Cartones de bebidas Residuos de jardín Bombillas de bajo consumo @@ -999,10 +999,10 @@ Mercurio Computadoras/Ordenadores Neumáticos - TV, monitores + Televisores, monitores Tetrapak Escombros - CDs + Discos compactos (CD) Restos de aceite Botellas Corcho @@ -1012,7 +1012,7 @@ Pintura Poliestireno extruído Medicamentos - Compost + Abono orgánico Árboles navideños Bombillas Poliéster @@ -1139,7 +1139,7 @@ Reciduos nucleares Silo bunker Fecha de inicio - Adaptado para silla de ruedas + Adaptado Contenido: Ensilaje Contenido: Agua @@ -1255,7 +1255,7 @@ Nombre alternativo Manual - Automatica + Automática Sin bomba Mineral @@ -1304,9 +1304,9 @@ Prohibido Solo en el exterior Permitido - En una sala separada + En sala separada En sala aislada - Solo fumadores + Sólo fumadores Sin peaje Peaje @@ -1361,11 +1361,11 @@ Estilo libre (freeride) Clásico Clásico + patinaje - Fuera de pista - Patinete + Travesía (fuera de pista) + Motoneta Patinaje No - Mogul + Mogul (acrobático) Tipo de jardín: residencial Tipo de jardín: comunitario @@ -1438,7 +1438,7 @@ Tarjetas de crédito No acepta tarjetas de crédito Billetes - No acepta billetes + No acepta billetes de banco Monederos electrónicos No acepta monederos electrónicos Dinero en efectivo @@ -1448,16 +1448,16 @@ Bitcoin No acepta Bitcoin Visa - No acepta tarjetas Visa + No acepta Visa MasterCard - No acepta tarjetas MasterCard + No acepta MasterCard Gratis Tarjetas de cuenta No acepta tarjetas de cuenta Tarjetas Maestro No acepta tarjetas Maestro American Express (AMEX) - No acepta tarjetas American Express (AMEX) + No acepta American Express (AMEX) Diners Club No acepta tarjetas Diners Club DKV @@ -1467,11 +1467,11 @@ Efectivo No acepta efectivo Girocard - No acepta tarjetas Girocard + No acepta Girocard Discover Card - No acepta tarjetas Discover Card + No acepta Discover Card Visa Electron - No acepta tarjetas Visa Electron + No acepta Visa Electron Litecoin No acepta Litecoin Cheques @@ -1479,14 +1479,14 @@ PIKEPASS No acepta PIKEPASS Tarjetas de débito Visa - No acepta tarjetas Visa Debit + No acepta Visa Debit No acepta criptomonedas - Otros + Otros métodos de pago No acepta otro método de pago Bancomat - No acepta tarjetas Bancomat + No acepta Bancomat IC Stored Fare - No acepta tarjetas IC Stored Fare + No acepta IC Stored Fare Tickets prepago JCB No acepta tarjetas JCB @@ -1508,7 +1508,7 @@ No acepta Dogecoin Cibus No acepta tarjetas Cibus - Transferencias + Transferencias electrónicas No acepta transferencias electrónicas Proton No acepta tarjetas Proton @@ -1542,8 +1542,8 @@ No acepta Paypal U-Key No acepta U-Key - Tokens - No acepta Tokens + Fichas + No acepta fichas Tarjetas de regalo No acepta tarjetas de regalo PRO100 @@ -1570,7 +1570,7 @@ No acepta Moneo SVG No acepta SVG - Tickets de comida + Vales de comida No acepta vales de comida Golden Crown No acepta tarjetas Golden Crown @@ -1605,33 +1605,33 @@ Servicio en el automóvil: no Nombre de cervecería - Micro-cervecería - Sin micro-cervecería + Cervecería artesanal + Sin cerveza artesanal - Para llevar - Comidas para llevar: No - Sólo comidas para llevar + Comida para llevar + Comida para llevar: No + Comida para llevar: sólo A domicilio Sin servicio a domicilio Sólo servicio a domicilio - Asientos exteriores: Sí - Sin asientos exteriores - Asientos exteriores: Terraza - Asientos exteriores: Acera - Asientos exteriores: Zona peatonal - Asientos exteriores: Jardín - Asientos exteriores: Patio + Mesas al aire libre: Sí + Sin mesas al aire libre + Mesas al aire libre: Terraza + Mesas al aire libre: Acera + Mesas al aire libre: Zona peatonal + Mesas al aire libre: Jardín + Mesas al aire libre: Patio - Con artículos de segunda mano + Artículos de segunda mano Sin artículos de segunda mano Sólo artículos de segunda mano Partes - Repartidor + Concesionaria Reparación Sin reparación Reparación de vehículos eléctricos @@ -1652,8 +1652,8 @@ Al aire libre Sin baños - Acceso a los baños para sillas de rueda - Sin acceso a los baños para sillas de rueda + Baños para personas en sillas de rueda: sí + Baños para personas en sillas de rueda: no Acceso a los baños: Clientes Acceso a los baños: Permisivo Acceso a los baños: Comunidad @@ -1781,7 +1781,7 @@ Cañaveral Ciénaga Humedal costero - Salina + Marisma de sal Manglar Humedal subterráneo Lodazal @@ -1804,7 +1804,7 @@ Picnic Inclemencias meteorológicas Marquesina - Refugio + Cabaña precaria Edificio Observación de fauna Abrigo rocoso @@ -1872,7 +1872,7 @@ Estupa Templo piramidal - Salina + Salar Cadena de humedales Palsa (humedal) Túnel fluvial @@ -1909,29 +1909,29 @@ Iluminado: sí Iluminado: no - Superficie sin pavimentar - Superficie pavimentada - Superficie asfaltada - Superficie de hormigón - Superficie adoquinada - Superficie empedrada (adoquín) - Superficie de adoquín prefabricado - Superficie empedrada (canto rodado) - Superficie de piedras - Superficie metalizada - Superficie de madera - Superficie de ripio - Superficie de ripio fino - Superficie de tierra compactada - Superficie arenosa - Superficie de césped - Superficie de césped pavimentado - Superficie de tierra - Superficie lodosa - Superficie con hojas - Superficie congelada - Superficie de sal - Superficie nevada + Superficie: sin pavimento + Superficie: pavimento + Superficie: asfalto + Superficie: hormigón + Superficie: adoquín + Superficie: empedrada (adoquín) + Superficie: adoquín prefabricado + Superficie: empedrada (canto rodado) + Superficie: piedras + Superficie: metal + Superficie: madera + Superficie: ripio/grava + Superficie: ripio fino/grava fina + Superficie: tierra compactada + Superficie: arena + Superficie: césped + Superficie: césped pavimentado + Superficie: tierra (natural) + Superficie: tierra lodosa + Superficie: con hojas + Superficie: hielo + Superficie: sal + Superficie: nieve Autobús Taxi compartido @@ -1946,25 +1946,25 @@ Ruta ferroviaria Objeto histórico - Vigilado + Vigilancia: sí Con negocio - Minorista - No vende bicicletas + Venta + Venden bicicletas: no Reparación - No repara bicicletas + Reparan bicicletas: no Alquiler - No alquila bicicletas - Bomba - No infla bicicletas + Alquilan bicicletas: no + Inflador + Inflan bicicletas: no Herramientas para la reparación - Sin autoservicio de herramientas para bicicletas + Herramientas para bicicletas: no Limpieza - No limpia bicicletas + Limpian bicicletas: no Tronchacadenas - Sin herramientas para cadenas de bicicletas + Tronchacadenas de bicicletas: no Venta de bicicletas de segunda mano - No vende bicicletas de segunda mano + Venden bicicletas de segunda mano: no Observatorio de vida salvaje @@ -2067,9 +2067,9 @@ Cultivo: espárragos Cultivo: flores - Vigilancia interior - Vigilancia exterior - Vigilancia pública + Vigilancia: interior + Vigilancia: exterior + Vigilancia: pública Femenina Íntima @@ -2097,10 +2097,10 @@ Hito histórico - Niños - Mujeres - Deportes - Hombres + Infantil + Femenino + Deportivo + Masculino Ortopédico Mansión histórica @@ -2129,11 +2129,11 @@ No - Prohibido campamento scout + Campamento scout: no Sólo para grupos Sólo para grupos: No - Sin lavarropa + Lavadora: no Ducha: sí Ducha: no Ducha: caliente @@ -2144,11 +2144,11 @@ Caravanas: no Improvisado: Sí Improvisado: No - Con estación de descarga sanitaria - Sin estación de descarga sanitaria + Estación de descarga sanitaria: sí + Estación de descarga sanitaria: no Estación de descarga sanitaria sólo para clientes - Sin fuentes de alimentación + Fuentes de alimentación: no Fuente de alimentación (enchufe): CEE 17 azul Fuente de alimentación (enchufe): CEE 7/4 Fuente de alimentación (enchufe): CEE 7/5 @@ -2159,8 +2159,8 @@ Permitido perros Prohibido perros - Con servicios para refugiados - Sin servicios para refugiados + Servicios para refugiados + Servicios para refugiados: no Grupo residencial Vida asistida @@ -2214,16 +2214,16 @@ Escalera Barandilla: sí Barandilla: no - Con rampa - Sin rampa - Con rampa para sillas de rueda - Sin rampa para sillas de rueda - Con rampa para cochecitos - Sin rampa para cochecitos - Con rampa para bicicletas - Sin rampa para bicicletas - Con rampa para equipajes - Sin rampa para equipajes + Rampa: sí + Rampa: no + Rampa para sillas de rueda: sí + Rampa para sillas de rueda: no + Rampa para cochecitos: sí + Rampa para cochecitos: no + Rampa para bicicletas: sí + Rampa para bicicletas: no + Rampa para equipajes: sí + Rampa para equipajes: no Cantidad de escalones Estado de los escalones: Buena Estado de los escalones: Mala @@ -2572,12 +2572,12 @@ Billar -Con horno de microondas - Sin horno de microondas - Con calentador de agua - Sin calentador de agua +Horno de microondas: sí + Horno de microondas: no + Calentador de agua: sí + Calentador de agua: no - Tipo: En superficie + En superficie Cochera comunitaria individual Cochera abierta @@ -2622,10 +2622,10 @@ Hockey sobre hielo Área protegida Título de protección - Objeto de protección: histórico - Objeto de protección: naturaleza - Objeto de protección: hábitat - Objeto de protección: agua + Protección de objeto: histórico + Protección de objeto: naturaleza + Protección de objeto: hábitat + Protección de objeto: agua Explosión: país "Explosión: lugar" @@ -2637,7 +2637,7 @@ Tipo de explosión: atmosferica, superficie Tipo de explosión: atmosférica, superficie del agua, barcaza "Tipo de explosión: subterránea" - "Tipo de explosión: explosión formando cráter (subsuperficial somera)" + Tipo de explosión: Estallido de cráter (subsuelo poco profundo) Tipo de explosión: atmosférica, cohete o misil Tipo de explosión: espacial (más de 80 km de altitud) Tipo de explosión: submarina @@ -2709,7 +2709,7 @@ Directrices de huésped: Sí Directrices de huésped: No - Solárium + Centro de bronceado (solárium) Estación de descarga sanitaria @@ -2753,7 +2753,7 @@ Medicina paliativa - Punto de aspiración + Punto de succión Subterráneo Pilar @@ -2855,11 +2855,11 @@ Consultorio médico Oficina de terapeuta Asesoría (nutrición): no - Consulta de podólogo - Consulta de sanador - Consulta de psicólogo + Oficina de podólogo + Oficina de sanador + Oficina de psicólogo Servicio de enfermería - Consulta de matrona + Oficina de matrona Diámetro del hidrante Presión del hidrante @@ -2949,9 +2949,9 @@ Tipo de bomba: bomba de varilla Tipo de bomba: India Mk II o III Tipo de bomba: de gravedad - Tipo de bomba: moderna - Tipo de bomba: histórica - Estado de la bomba: ok + Estilo de bomba: moderna + Estilo de bomba: histórica + Estado de la bomba: bueno Estado de la bomba: estropeada Estado de la bomba: bloqueada @@ -3058,26 +3058,26 @@ Tipo de combustible Tipo de combustible (aviones) - Tipo de pago + Forma de pago Tarjetas de combustible Adicional Tipo de conexión a Internet - Tipo de vending + Tipo de expendio Servicio para bicicletas Tipo de prenda - Tipo + Tipo de calzado Tipo de hidrante Ubicación del hidrante Fuente de agua - Tipo de pago + Forma de pago (peaje) Sonido Tipo de cruce Pavimento táctil - Servicio + Servicio para el automóvil Cepillo giratorio Autoservicio Automatizado - Tipo + Tipo de aparcamiento Cubierto Estación de metro Mercancías @@ -3085,8 +3085,8 @@ Transporte de bicicletas Calefacción Bomba - Nombre - Tipo + Designación + Tipo de telescopio Tipo de amaestramiento Tipo de embajada Ciudad capital @@ -3094,34 +3094,34 @@ Característica de vuelo Tipo de sitio arqueológico Estrellas - Religión + Tipo de religión Denominación Tipo de información Contenidos Adicional - Campamento de Scouts - Tipo + Campamento scout + Tipo de complejo Dificultad de la pista - Pista de la preparación + Estado de la pista Género Mesas al aire libre Tarifa - Fumador + Permiso para fumar Entrega Comida para llevar Cócteles Cervecería artesanal Servicio de belleza - Tipo - Residuos aceptados - Tipo + Tipo de reciclaje + Residuos admitidos + Tipo de refugio Chimenea Estacional Característica del agua Superficie Nudismo -Dispensario +Dispensa recetas Travesía (fuera de pista) Accesibilidad para sillas de ruedas Wikipedia @@ -3163,8 +3163,8 @@ Sistema médico Visita domiciliaria Plato - Tipo de pago (transporte) - Tipo + Forma de pago (transporte) + Tipo de centro social Grupo objetivo Aire comprimido Aspiradora @@ -3367,7 +3367,7 @@ Acantilado Cuidado de animales - Estación de carga + Estación ferroviaria de carga Espacio de trabajo conjunto From 257555ad6400c5feeb75bc32deea8ed032aa80bc Mon Sep 17 00:00:00 2001 From: jan madsen Date: Mon, 10 Jul 2017 14:25:11 +0000 Subject: [PATCH 039/140] Translated using Weblate (Danish) Currently translated at 100.0% (2357 of 2357 strings) --- OsmAnd/res/values-da/strings.xml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index a27018ed23..0ae7c4d9cc 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -1,4 +1,5 @@ - + + Overvej at købe Højdekurve udvidelsen (\'Contour lines\') på Google Play for at støtte den videre udvikling. Optag video Optag audio @@ -2794,4 +2795,10 @@ Tidligere destination bliver sidste mellemliggende punkt. Interval = min/maks Min/maks - \ No newline at end of file + \\022 Mapillary udvidelse med billeder på gadeniveau +\n • Lineal modul til afstandsmåling +\n• GPX split mellemrum med detaljeret info om spor +\n • Andre forbedringer og fejlrettelser +\n +\n + From e25136905e16e0e9be4cc9555bd3ab434fdd6ab5 Mon Sep 17 00:00:00 2001 From: Softmap Date: Mon, 10 Jul 2017 17:58:37 +0000 Subject: [PATCH 040/140] Translated using Weblate (Arabic) Currently translated at 100.0% (2357 of 2357 strings) --- OsmAnd/res/values-ar/strings.xml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-ar/strings.xml b/OsmAnd/res/values-ar/strings.xml index d153a018db..7cd5a926b6 100644 --- a/OsmAnd/res/values-ar/strings.xml +++ b/OsmAnd/res/values-ar/strings.xml @@ -1,4 +1,5 @@ -اظهر + +اظهر التقط صورة تسجيل الفيديو @@ -2701,4 +2702,10 @@ أقصى/أدنى الأدنى/الأقصى - \ No newline at end of file + /022 اضافة برنامج مابيلاري المساعد بمستوى صور الشوارع +\n • ويدجت مسطرة لقياس المسافة +\n • تقسيم فترات فصل الـ GPX بمعلومات مفصلة حول مسارك +\n • تحسينات وإصلاحات للشوائب +\n +\n + From 90c7bee0e70463abd0c59011229ccd270aa3b52d Mon Sep 17 00:00:00 2001 From: jan madsen Date: Sat, 15 Jul 2017 12:58:28 +0000 Subject: [PATCH 041/140] Translated using Weblate (Danish) Currently translated at 100.0% (2357 of 2357 strings) --- OsmAnd/res/values-da/strings.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index 0ae7c4d9cc..7aabd02990 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -2796,8 +2796,11 @@ Tidligere destination bliver sidste mellemliggende punkt. Interval = min/maks Min/maks \\022 Mapillary udvidelse med billeder på gadeniveau +\n \n • Lineal modul til afstandsmåling -\n• GPX split mellemrum med detaljeret info om spor +\n +\n• GPX split intervaller med detaljeret info om spor +\n \n • Andre forbedringer og fejlrettelser \n \n From d1324aa178276fcff4dae36cd3994b69595a18f1 Mon Sep 17 00:00:00 2001 From: Ldm Public Date: Sat, 15 Jul 2017 13:11:13 +0000 Subject: [PATCH 042/140] Translated using Weblate (French) Currently translated at 98.4% (2320 of 2357 strings) --- OsmAnd/res/values-fr/strings.xml | 33 ++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml index 161332de06..30b807cc95 100644 --- a/OsmAnd/res/values-fr/strings.xml +++ b/OsmAnd/res/values-fr/strings.xml @@ -1,4 +1,5 @@ - + + Modifications hors-ligne Toujours utiliser l\'édition hors-ligne @@ -418,10 +419,10 @@ Au-delà la navigation bascule automatiquement sur le service en ligne CloudMade \nVous ne pourrez pas en télécharger d\'internet, seules les cartes présentes seront accessibles. Décompression du fichier… Tournez à droite et continuez - Braquez sur la droite et continuez + Tournez franchement à droite et continuez Tournez légèrement vers la droite et continuez Tournez à gauche et continuez - Braquez sur la gauche et continuez + Tournez franchement à gauche et continuez Tournez légèrement vers la gauche et continuez Faites demi-tour et continuez Avancez @@ -701,7 +702,7 @@ Les cartes tuiles peuvent être obtenues directement en ligne ou peuvent être p Grâce à ce greffon vous pouvez gérer vos contributions à OpenStreetMap (OSM) directement depuis l\'application OsmAnd. Par exemple : créer ou modifier les points d\'intérêt OSM, déclarer ou commenter les notes OSM et envoyer vos traces GPX (nécessite un compte OSM). OpenStreetMap est une communauté ouverte de cartographie publique. Pour plus de détails, consultez https://openstreetmap.org. Cartes vectorielles (hors-ligne) peuvent s\'afficher plus rapidement. Peut ne pas fonctionner sur certains appareils. - Diffuse les commandes sonores disponibles pour la voix sélectionnée + Sélectionnez une voix et testez les annonces vocales Débogage et développement OsmAnd Rendu natif @@ -1108,7 +1109,7 @@ Les données globales (entre 70 degrés Nord et 70 degrés Sud) sont basées sur Encore %1$d téléchargements possibles Vous pouvez encore télécharger %1$d fichier(s). Version complète - Utiliser le magnétomètre pour déterminer l\'orientation de la boussole au lieu du capteur d\'orientation + Utiliser le capteur magnétique pour déterminer l\'orientation de la boussole plutôt que le capteur d\'orientation Utiliser le magnétomètre (boussole) Courbes de niveau Réduit le bruit sur les mesures de la boussole, mais ajoute de l\'inertie @@ -1606,9 +1607,9 @@ Les traces ainsi enregistrées peuvent être partagées avec vos amis ou utilis Sélectionnez l\'intervalle d\'enregistrement des traces (activé via le gadget d\'enregistrement GPX depuis la carte) Intervalle d\'enregistrement par défaut Limite de vitesse - Contrôle aux frontières + Poste frontière Barrière de péage - Stop + Panneau stop Ralentisseur Radar de vitesse Alerte de circulation @@ -1977,7 +1978,7 @@ Pour revenir à l’un des styles de carte classique de OsmAnd, désactivez simp Fichier GPX avec notes Arrêter de simuler votre position - Simuler à partir d\'un fichier GPX ou d\'une route calculée + Simulez votre position à partir d\'un fichier GPX ou d\'une route calculée Etes-vous certain ? Les modifications non enregistrées seront perdues. Souhaitez-vous poursuivre ? %1$s téléchargement(s) restant(s) @@ -2320,9 +2321,9 @@ Si vous appréciez OsmAnd et OSM et que vous souhaitez soutenir ces projets, c\' Cap magnétique Cap relatif Ignorer les écarts de route - Permet de ne pas recalculer automatiquement un nouvel itinéraire si vous vous éloignez beaucoup de la route prévue - Permet de ne pas recalculer automatiquement un nouvel itinéraire si vous partez dans la mauvaise direction - Ignorer les écarts de direction + Permet de ne pas recalculer un nouvel itinéraire lorsque vous quittez l\'itinéraire prévu + Permet de ne pas recalculer un nouvel itinéraire lorsque vous faites demi-tour + Ne pas recalculer l\'itinéraire lors d\'un demi-tour Activer la navigation OSM Live prenant en comptes les modifications en temps réel (Bêta) Navigation OSM Live Suivez-nous @@ -2438,11 +2439,11 @@ Si vous appréciez OsmAnd et OSM et que vous souhaitez soutenir ces projets, c\' Afficher les points d\'intérêt de Noël ? Couleurs des courbes de niveau Vitesse minimale pour enregistrer - Indiquez une vitesse minimale à partir de laquelle déclencher l\'enregistrement + Filtre : Indiquez une vitesse minimale à partir de laquelle déclencher l\'enregistrement Détection du déplacement pour enregistrer - Indiquez une distance minimale à partir de laquelle déclencher l\'enregistrement + Filtre : Indiquez une distance minimale à partir de laquelle déclencher l\'enregistrement Précision minimale pour l\'enregistrement - Définissez la précision minimale d\'un point pour son enregistrement + Filtre : Définissez la précision minimale d\'un point pour son enregistrement Continuer Pause Itinéraire @@ -2493,7 +2494,7 @@ Si vous appréciez OsmAnd et OSM et que vous souhaitez soutenir ces projets, c\' Densité des courbes de niveaux Recherche héritée Afficher la recherche héritée - Activer la recherche héritée dans la liste déroulante + Ajouter la recherche héritée à la liste déroulante Masquer l\'eau Action rapide @@ -2847,4 +2848,4 @@ Fonctionnalités principales : %1$d de %2$d Durée de déplacement Min / Max - \ No newline at end of file + From f9953c831a2f6b495bdd9e76c5c4dc6dc9863261 Mon Sep 17 00:00:00 2001 From: Franco Date: Sat, 15 Jul 2017 14:22:25 +0000 Subject: [PATCH 043/140] Translated using Weblate (Spanish (American)) Currently translated at 100.0% (3116 of 3116 strings) --- OsmAnd/res/values-es-rUS/phrases.xml | 98 ++++++++++++++-------------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/OsmAnd/res/values-es-rUS/phrases.xml b/OsmAnd/res/values-es-rUS/phrases.xml index 06cf56861a..50c3a269d6 100644 --- a/OsmAnd/res/values-es-rUS/phrases.xml +++ b/OsmAnd/res/values-es-rUS/phrases.xml @@ -312,7 +312,7 @@ Fiscal Seguridad social Migración - Inspeción fiscal + Inspección fiscal Oficina administrativa Aduana Ciudad @@ -1207,18 +1207,18 @@ Al descubierto Prohibido - Permitido sólo afuera + Sólo afuera Permitido - Permitido en sala separada - Permitido en sala aislada - Sólo para fumadores + En sala separada + En sala aislada + Sólo fumadores Sin peaje Peaje Sin pavimento táctil No - Sólo cuando se permite al caminar + Sólo se permite al caminar Área comercial Puente de piedras Tablero @@ -1787,7 +1787,7 @@ Ruta ferroviaria Estructura del puente: Madera simple Objeto histórico - Vigilado: Sí + Vigilancia: Sí Con tienda Venta Venden bicicletas: No @@ -2479,7 +2479,7 @@ Directrices de invitado: Sí Directrices de invitado: No - Centro de bronceado (solarium) + Centro de bronceado (solárium) Estación de descarga sanitaria @@ -2531,7 +2531,7 @@ Punto de succión Subterráneo - Poste + Pilar Barril seco Estanque De pared @@ -2552,40 +2552,40 @@ Rol del trabajador en salud: Técnico Rol del trabajador en salud: Brujo/a - Asesoramiento (adicción): Sí - Asesoramiento (adicción): No - Asesoramiento (prenatal): Sí - Asesoramiento (prenatal): No - Asesoramiento (orientación infantil): Sí - Asesoramiento (orientación infantil): No - Asesoramiento (pareja): Sí - Asesoramiento (pareja): No - Asesoramiento (crisis): Sí - Asesoramiento (crisis): No - Asesoramiento (drogas): Sí - Asesoramiento (drogas): No - Asesoramiento (educación): Sí - Asesoramiento (educación): No - Asesoramiento (familiar): Sí - Asesoramiento (familiar): No - Asesoramiento (sin hogar): Sí - Asesoramiento (sin hogar): No - Asesoramiento (inmigrantes): Sí - Asesoramiento (inmigrantes): No - Asesoramiento (matrimonio): Sí - Asesoramiento (matrimonio): No - Asesoramiento (nutrición): Sí + Asesoría (adicción): Sí + Asesoría (adicción): No + Asesoría (prenatal): Sí + Asesoría (prenatal): No + Asesoría (orientación infantil): Sí + Asesoría (orientación infantil): No + Asesoría (pareja): Sí + Asesoría (pareja): No + Asesoría (crisis): Sí + Asesoría (crisis): No + Asesoría (drogas): Sí + Asesoría (drogas): No + Asesoría (educación): Sí + Asesoría (educación): No + Asesoría (familiar): Sí + Asesoría (familiar): No + Asesoría (sin hogar): Sí + Asesoría (sin hogar): No + Asesoría (inmigrantes): Sí + Asesoría (inmigrantes): No + Asesoría (matrimonio): Sí + Asesoría (matrimonio): No + Asesoría (nutrición): Sí Asesoramiento (nutrición): No - Asesoramiento (rehabilitación): Sí - Asesoramiento (rehabilitación): No - Asesoramiento (sexual): Sí - Asesoramiento (sexual): No - Asesoramiento (abuso sexual): Sí - Asesoramiento (abuso sexual): No - Asesoramiento (víctimas): Sí - Asesoramiento (víctimas): No - Asesoramiento (violencia): Sí - Asesoramiento (violencia): No + Asesoría (rehabilitación): Sí + Asesoría (rehabilitación): No + Asesoría (sexual): Sí + Asesoría (sexual): No + Asesoría (abuso sexual): Sí + Asesoría (abuso sexual): No + Asesoría (víctimas): Sí + Asesoría (víctimas): No + Asesoría (violencia): Sí + Asesoría (violencia): No Provisto para bebés: Sí Provisto para bebés: No @@ -2611,8 +2611,8 @@ Servicios para pacientes: Sí Servicios para pacientes: No Servicios para pacientes: Solamente - Asesoramiento: Sí - Asesoramiento: No + Asesoría: Sí + Asesoría: No Emergencias: Sí Emergencias: No @@ -2635,7 +2635,7 @@ Servicio de enfermería Oficina de partera -Asesoramiento (nutrición): No +Asesoría (nutrición): No Diámetro del hidrante Presión del hidrante Cantidad de hidrantes @@ -2717,7 +2717,7 @@ Estilo de bomba: Moderna Estilo de bomba: Histórica Estado de la bomba: Bueno - Estado de la bomba: Malo + Estado de la bomba: Estropeada Estado de la bomba: Bloqueada Balka (cauce seco) @@ -2752,8 +2752,8 @@ Potencia de salida de aire comprimido Salida: Aire comprimido Salida: Vacío - Potencia de salida de Biogas - Salida: Biogas + Potencia de salida de Biogás + Salida: Biogás Estación de bombeo @@ -2812,7 +2812,7 @@ Cambiador de pañales -Tanque de agua +Depósito de agua Eliminación de desechos: Cisterna Eliminación de desechos: Letrina From 9eef0f8bd32b8f8fd1e9d33fc67f5455b2bcfe93 Mon Sep 17 00:00:00 2001 From: Franco Date: Sat, 15 Jul 2017 14:30:16 +0000 Subject: [PATCH 044/140] Translated using Weblate (Spanish (Argentina)) Currently translated at 100.0% (3116 of 3116 strings) --- OsmAnd/res/values-es-rAR/phrases.xml | 100 +++++++++++++-------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/OsmAnd/res/values-es-rAR/phrases.xml b/OsmAnd/res/values-es-rAR/phrases.xml index 790dd27228..3ad88b75be 100644 --- a/OsmAnd/res/values-es-rAR/phrases.xml +++ b/OsmAnd/res/values-es-rAR/phrases.xml @@ -1296,11 +1296,11 @@ Al descubierto Prohibido - Permitido sólo afuera + Sólo afuera Permitido - Permitido en sala separada - Permitido en sala aislada - Sólo para fumadores + En sala separada + En sala aislada + Sólo fumadores Sin peaje Peaje @@ -1308,7 +1308,7 @@ Sin pavimento táctil No - Sólo cuando se permite al caminar + Sólo se permite al caminar Área comercial @@ -1932,7 +1932,7 @@ Estructura del puente: Madera simple Objeto histórico - Vigilado: Sí + Vigilancia: Sí Con tienda Venta @@ -2716,7 +2716,7 @@ Directrices de invitado: Sí Directrices de invitado: No - Centro de bronceado (solarium) + Centro de bronceado (solárium) Estación de descarga sanitaria @@ -2732,8 +2732,8 @@ Servicio de salud: Enfermería Servicio de salud: Sin enfermería - Servicio de salud: Asesoramiento - Servicio de salud: Sin asesoramiento + Servicio de salud: Asesoría + Servicio de salud: Sin asesoría Servicio de salud: Revisión médica Servicio de salud: Sin revisión médica Servicio de salud: Pediatría @@ -2768,7 +2768,7 @@ Punto de succión Subterráneo - Poste + Pilar Barril seco Estanque De pared @@ -2788,40 +2788,40 @@ Rol del trabajador en salud: Técnico Rol del trabajador en salud: Brujo/a - Asesoramiento (adicción): Sí - Asesoramiento (adicción): No - Asesoramiento (prenatal): Sí - Asesoramiento (prenatal): No - Asesoramiento (orientación infantil): Sí - Asesoramiento (orientación infantil): No - Asesoramiento (pareja): Sí - Asesoramiento (pareja): No - Asesoramiento (crisis): Sí - Asesoramiento (crisis): No - Asesoramiento (drogas): Sí - Asesoramiento (drogas): No - Asesoramiento (educación): Sí - Asesoramiento (educación): No - Asesoramiento (familiar): Sí - Asesoramiento (familiar): No - Asesoramiento (sin hogar): Sí - Asesoramiento (sin hogar): No - Asesoramiento (inmigrantes): Sí - Asesoramiento (inmigrantes): No - Asesoramiento (matrimonio): Sí - Asesoramiento (matrimonio): No - Asesoramiento (nutrición): Sí + Asesoría (adicción): Sí + Asesoría (adicción): No + Asesoría (prenatal): Sí + Asesoría (prenatal): No + Asesoría (orientación infantil): Sí + Asesoría (orientación infantil): No + Asesoría (pareja): Sí + Asesoría (pareja): No + Asesoría (crisis): Sí + Asesoría (crisis): No + Asesoría (drogas): Sí + Asesoría (drogas): No + Asesoría (educación): Sí + Asesoría (educación): No + Asesoría (familiar): Sí + Asesoría (familiar): No + Asesoría (sin hogar): Sí + Asesoría (sin hogar): No + Asesoría (inmigrantes): Sí + Asesoría (inmigrantes): No + Asesoría (matrimonio): Sí + Asesoría (matrimonio): No + Asesoría (nutrición): Sí Asesoramiento (nutrición): No - Asesoramiento (rehabilitación): Sí - Asesoramiento (rehabilitación): No - Asesoramiento (sexual): Sí - Asesoramiento (sexual): No - Asesoramiento (abuso sexual): Sí - Asesoramiento (abuso sexual): No - Asesoramiento (víctimas): Sí - Asesoramiento (víctimas): No - Asesoramiento (violencia): Sí - Asesoramiento (violencia): No + Asesoría (rehabilitación): Sí + Asesoría (rehabilitación): No + Asesoría (sexual): Sí + Asesoría (sexual): No + Asesoría (abuso sexual): Sí + Asesoría (abuso sexual): No + Asesoría (víctimas): Sí + Asesoría (víctimas): No + Asesoría (violencia): Sí + Asesoría (violencia): No Rol del trabajador en salud: Psicólogo/a Provisto para bebés: Sí @@ -2848,8 +2848,8 @@ Servicios para pacientes: Sí Servicios para pacientes: No Servicios para pacientes: Solamente - Asesoramiento: Sí - Asesoramiento: No + Asesoría: Sí + Asesoría: No Emergencias: Sí Emergencias: No @@ -2872,7 +2872,7 @@ Servicio de enfermería Oficina de partera -Asesoramiento (nutrición): No +Asesoría (nutrición): No Diámetro del hidrante Presión del hidrante Cantidad de hidrantes @@ -2954,7 +2954,7 @@ Estilo de bomba: Moderna Estilo de bomba: Histórica Estado de la bomba: Bueno - Estado de la bomba: Malo + Estado de la bomba: Estropeada Estado de la bomba: Bloqueada Balka (cauce seco) @@ -2989,8 +2989,8 @@ Potencia de salida de aire comprimido Salida: Aire comprimido Salida: Vacío - Potencia de salida de Biogas - Salida: Biogas + Potencia de salida de Biogás + Salida: Biogás Estación de bombeo @@ -3049,7 +3049,7 @@ Cambiador de pañales -Tanque de agua +Depósito de agua Eliminación de desechos: Cisterna Eliminación de desechos: Letrina From 8e016068287fec0aced2bf83f87b3934acf0efac Mon Sep 17 00:00:00 2001 From: jan madsen Date: Sat, 15 Jul 2017 12:58:28 +0000 Subject: [PATCH 045/140] Translated using Weblate (Danish) Currently translated at 100.0% (2358 of 2358 strings) --- OsmAnd/res/values-da/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index 7aabd02990..618374a554 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -2804,4 +2804,5 @@ Tidligere destination bliver sidste mellemliggende punkt. \n • Andre forbedringer og fejlrettelser \n \n + Gennemsigtig pink From 2e3330d96f862691d57577c238110178700fb941 Mon Sep 17 00:00:00 2001 From: Franco Date: Sat, 15 Jul 2017 18:09:58 +0000 Subject: [PATCH 046/140] Translated using Weblate (Spanish (Argentina)) Currently translated at 100.0% (2358 of 2358 strings) --- OsmAnd/res/values-es-rAR/strings.xml | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml index 6fb89e64ce..557322f73f 100644 --- a/OsmAnd/res/values-es-rAR/strings.xml +++ b/OsmAnd/res/values-es-rAR/strings.xml @@ -1,4 +1,5 @@ - + + Números de casa Falló al copiar archivos @@ -2630,7 +2631,7 @@ Proporciona un código completo Buscar favoritos Reiniciar búsqueda Aumentar radio de búsqueda - ¡Nada por aquí! 😞 + ¡Nada por aquí! 😞 Modifica la consulta de búsqueda o aumenta el radio de búsqueda El destino se ubica en un área de acceso privado. ¿Quieres acceder en este viaje a los caminos privados? Mapillary @@ -2677,4 +2678,14 @@ Proporciona un código completo Rango = Min/Máx Min/Máx - \ No newline at end of file + \\022 Complemento de Mapillary con imágenes a nivel de calle +\n +\n • Control de regla para medir distancias +\n +\n • División de intervalos GPX con información detallada sobre la traza +\n +\n • Otras mejoras y corrección de errores +\n +\n + Rosa translúcido + From 54bf0e8453ea3877e4557388f22b8dfb1710b315 Mon Sep 17 00:00:00 2001 From: Franco Date: Sat, 15 Jul 2017 18:11:08 +0000 Subject: [PATCH 047/140] Translated using Weblate (Spanish (American)) Currently translated at 100.0% (2358 of 2358 strings) --- OsmAnd/res/values-es-rUS/strings.xml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-es-rUS/strings.xml b/OsmAnd/res/values-es-rUS/strings.xml index e263fdc34f..7bb549208f 100644 --- a/OsmAnd/res/values-es-rUS/strings.xml +++ b/OsmAnd/res/values-es-rUS/strings.xml @@ -1,4 +1,5 @@ - + + Números de casa Falló al copiar archivos @@ -2678,4 +2679,14 @@ Proporciona un código completo Rango = Min/Máx Min/Máx - \ No newline at end of file + \\022 Complemento de Mapillary con imágenes a nivel de calle +\n +\n • Control de regla para medir distancias +\n +\n • División de intervalos GPX con información detallada sobre la traza +\n +\n • Otras mejoras y corrección de errores +\n +\n + Rosa translúcido + From de87a00ce39fed063d1786626a5220c5e8105b0e Mon Sep 17 00:00:00 2001 From: Franco Date: Sat, 15 Jul 2017 18:12:07 +0000 Subject: [PATCH 048/140] Translated using Weblate (Spanish) Currently translated at 100.0% (2358 of 2358 strings) --- OsmAnd/res/values-es/strings.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/OsmAnd/res/values-es/strings.xml b/OsmAnd/res/values-es/strings.xml index 55fc18e37b..077d02f0c6 100644 --- a/OsmAnd/res/values-es/strings.xml +++ b/OsmAnd/res/values-es/strings.xml @@ -2623,4 +2623,14 @@ Por favor proporciona un código completo Tiempo moviéndose Máx/Min Min/Máx + \\022 Complemento de Mapillary con imágenes a nivel de calle +\n +\n • Control de regla para medir distancias +\n +\n • División de intervalos GPX con información detallada sobre la traza +\n +\n • Otras mejoras y corrección de errores +\n +\n + Rosa translúcido From 3bdfea1779eda9a2b905df26f01a209f6bcc4f00 Mon Sep 17 00:00:00 2001 From: Verdulo Date: Sat, 15 Jul 2017 18:37:29 +0000 Subject: [PATCH 049/140] Translated using Weblate (Esperanto) Currently translated at 100.0% (2358 of 2358 strings) --- OsmAnd/res/values-eo/strings.xml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml index 2e96e1ea61..6be72e5c4f 100644 --- a/OsmAnd/res/values-eo/strings.xml +++ b/OsmAnd/res/values-eo/strings.xml @@ -1,4 +1,5 @@ -Supra breto + +Supra breto Rekalkuli kurson Donacoj Nombro da ricevontoj @@ -2716,4 +2717,14 @@ Indikas lokon: %1$s x %2$s" Variejo = min/maks Min./maks. - \ No newline at end of file + • Kromprogramo ‘Mapillary’ kun strat-nivela fotaro +\n +\n• Fenestraĵo de mezurilo por mezuri distancoj +\n +\n• GPX divid-intervaloj kun detalaj informoj pri via kurso +\n +\n• Aliaj plibonigoj kaj erar-riparoj +\n +\n + Rozkolora diafana + From 730cddf2eed00a2853c88fbbf7df9ad066192f06 Mon Sep 17 00:00:00 2001 From: ezjerry liao Date: Sun, 16 Jul 2017 07:42:06 +0000 Subject: [PATCH 050/140] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (2358 of 2358 strings) --- OsmAnd/res/values-zh-rTW/strings.xml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index 8ca5ef9945..516d18bc24 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -1,4 +1,5 @@ - + + 選擇道路的色彩調配: 道路的色彩調配 顯示目的地方向 @@ -2786,4 +2787,14 @@ OsmAnd (Automated Navigation Directions) 是一個地圖和導航的應用程式 範圍 = 最小/最大 最小/最大 - \ No newline at end of file + \\022 Mapillary 外掛元件與街道級影像 +\n +\n • 用於距離測量的尺規小工具 +\n +\n • GPX 分配間隔與關於您軌跡的詳細資訊 +\n +\n • 其他改進和錯誤修正 +\n +\n + 半透明粉紅色 + From b6ffe3dc47ce6a8ea75825ca93f054d0a7f8e814 Mon Sep 17 00:00:00 2001 From: Osoitz Date: Sun, 16 Jul 2017 10:25:05 +0000 Subject: [PATCH 051/140] Translated using Weblate (Basque) Currently translated at 100.0% (2358 of 2358 strings) --- OsmAnd/res/values-eu/strings.xml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/OsmAnd/res/values-eu/strings.xml b/OsmAnd/res/values-eu/strings.xml index b409c50017..191ce5c37f 100644 --- a/OsmAnd/res/values-eu/strings.xml +++ b/OsmAnd/res/values-eu/strings.xml @@ -2720,4 +2720,23 @@ Area honi dagokio: %1$s x %2$s Bizikleta • Bizikletentzako bideak aurki ditzakezu mapan • Bizikletarako GPS nabigazioak ibilbideak bizikletentzako bideak erabiliz eraikiko du • Zure abiadura eta altuera ikusi ditzakezu • GPX grabaketak zure bidaia grabatu eta partekatzea ahalbidetzen dizu • Gehigarriekin sestra-kurbak eta erliebe-itzalak gaitu ditzakezu Bizikleta eta oinezkoentzako ezaugarriak • Oinez, mendian, eta bizikletarekin egiteko bideak eta aktibitateak ikusi • Bizikleta eta oinezkoentzako ibilbide eta ikuspegi bereziak • Aukeran garraio publikoaren geltokiak (autobusa, tranbia, trena) lineen izenak barne • Aukeran bidaiaren grabaketa tokiko GPX fitxategira edo interneteko zerbitzari batera • AUkeran abiadura eta altuera bistaratu • Biostaratu sestra-kurbak eta erliebe-itzalak (plug-in gehigarriarekin) Min/Max + \\022 Mapillary gehigarria kale-mailako argazkiekin +\n +\n • DIstantzia nehurtzeko erregela +\n +\n • GPX banatze tarteak ibilbidearen xehetasunekin +\n +\n • Bestelako hobekuntza eta zuzenketak +\n +\n + Arrosa gardena + Oinez, mendian, hirian • Makak oinezko eta mendizaleentzako ibilbideak erakutsiko dizkizu • Wikipediak asko kontatu ahal dizu hiri bat bisitatzean zuk nahiago duzun hizkuntzan • Garraio publikoaren geltokiak (autobusa, tranbia, trena), lineen izenak barne, hirian ibiltzeko laguntza • GPS nabigazioak oinezkoen moduan ibilbidea oinezkoentzako bideak barne-hartuz sortuko du • GPX ibilbide bat igo eta jarraitu dezakezu edo zurea grabatu eta partekatu + OsmAnd librea da eta garapen aktiboan dago. Edonork egin ditzake ekarpenak, arazoen berri emanez, itzulpenak hobetuz, edo ezaugarri berriak programatuz. Proiektua hobekuntza jarraituan murgilduta dago garatzaile eta erabiltzaileen arteko elkarrekintza hau dela eta. Proiektuak diru-laguntzak eta dohaintzak behar ditu ere kodeketa lana ordaindu eta ezaugarri berriak probatzeko. Gutxi gora-behrako mapen kalitatea: • Mendebaldeko Europa: **** • Ekialdeko Europa: *** • Errusia: *** • Ipar Amerika: *** • Hego Aerika: ** • Asia: ** • Japonia eta Korea: *** • Ekialde hurbila: ** • Afrika: ** • Antartika: * Munduko herrialde gehienetako maopak deskargatu daitezke! Eskuratu nabigatzaile fidagarri bat zuretzat - Frantzian, Alemanian, Mexikon, Erresuma Batuan, Espainian, Herbehereetan, Estatu Batuetan, Errusian, Brasilen, edonon. + OsmAnd+ (OSM Automated Navigation Directions) mapa eta nabigazio aplikazio bat da, mundu osoko, kalitate oneko OpenStreetMaps (OSM) mapak erabiltzen baimentzen dizkizu. Gozatu ahots bidezko ibilbide jarraipena Einteresezko puntuak (POI), sortu eta kudeatu GPX lorratzak, erabili sestra-kurbak eta altitude-informazioa, aukeratu kotxe, bizikleta eta oinezko moduen artean, editatu OSM eta askoz gehiago. OsmAnd+ ordainpeko bertsioa da. Erosten baduzu proiektua babesten duzu eta ezaugarri berrien gartapena, eta azken eguneraketak izango dituzu. Ezaugarri nagusietako batzuk: + Nabigazioa • Internetera konektatua zein deskonektatuta dabil (ibiltaritza gasturik ez atzerriak zaudenean) • Bide-gurutzetik bide-gurutzera ahots gidaritza (grabatutako eta sintetizatutako ahotsekin) • Aukeran erraia gidaritza, kale izenaren bistaratzea, eta iritsiera orduaren estimazioa • Ibilbidean tarteko puntuak onartzen ditu • Ibilbidea uzten baduzu automatikoki birkalkulatzen du • Bilatu tokiak motaren arabera (esaterako, jatetxeak, hotelak, gasolindegiak, mudeoak), edo kokaleku geografikoaren arabera + Maparen kontsulta • Bistaratu zure kokaleku eta norabidea • Aukeran alineatu irudia iparorratzarekin edo zure mugimenduaren norabidearekin • Gorde zure leku garrantzitsuak gogoko gisa • Bistaratu zure inguruko interesezko puntuak (POI) • Bistaratu interneteko tesela-mapa bereziak, satelite ikuspegia (Bing), edo gardentasun aldagarria duten turismorako gainazalak edo GPX lorratzak • Aukerak bistaratu izenak zure hizkuntzan, tokiko hizkuntzan edo idazkera fonetikoan + Erabili OSM eta Wikipediako datuak • Kalitate handiko informazioa elkarlanean sortutako munduko proiektu onenen eskutik • OSM datua herrialdeko edo eskualdeko daude eskuragarri • Wikipedia POIak, ezinhonbeak bistak ikusteko • Mugarik gabeko deskargak aplikaziotik bertatik • Tamainaz txikitu deskargatutako bektore-mapak hilean behin gutxienez • Eskualdeko datu guztiak edo errepide sarearen datuak besterik ez deskargatzeko aukera (Adibidea: Japoinia osoa 700 MB dira eta errepide sarea bakarrik 200 MB) + Segurtasun-funtzioak • Aukerazko egun/gau ikuspegien arteko aldaketa • Aukeran abiadura muga bistaratu, eta gainditzekotan ohartarazi • Abiaduraren araberako zoom maila aukeran • Partekatu zure kokalekua lagunek aurkitu zaitzaten + Egin ekarpenak zuzenean OSMen• Jakinarazi datuen erroreak • Igo GPX lorratzak zuzenean OSMra aplikaziotik • Gehitu POIak eta igo zuzenean OSMra (edo geroago, konektatzen zarenean) • Aukeran, grabatu bidaia bigarren planoan (gailua lo dagoela) +\nOsmAnd librea da eta garapen aktiboan dago. Edonork egin ditzake ekarpenak, arazoen berri emanez, itzulpenak hobetuz, edo ezaugarri berriak programatuz. Proiektua hobekuntza jarraituan dago garatzaile eta erabiltzaileen arteko hartu-eman hauei esker. Funtzio berriak programatu eta frogatzeko, proiektuak diru-laguntzak behar ditu. From cb466505d4b7e2866a0e4bf1358c95d27a1be5fd Mon Sep 17 00:00:00 2001 From: Softmap Date: Sat, 15 Jul 2017 13:57:44 +0000 Subject: [PATCH 052/140] Translated using Weblate (Arabic) Currently translated at 100.0% (2358 of 2358 strings) --- OsmAnd/res/values-ar/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-ar/strings.xml b/OsmAnd/res/values-ar/strings.xml index 7cd5a926b6..bb5d2fe5fd 100644 --- a/OsmAnd/res/values-ar/strings.xml +++ b/OsmAnd/res/values-ar/strings.xml @@ -2708,4 +2708,5 @@ \n • تحسينات وإصلاحات للشوائب \n \n + وردي شفاف From 6aa748cefcc7fd8df5855cf4b2d7cf94e3434a78 Mon Sep 17 00:00:00 2001 From: Ajeje Brazorf Date: Sun, 16 Jul 2017 17:55:27 +0000 Subject: [PATCH 053/140] Translated using Weblate (Sardinian) Currently translated at 100.0% (2358 of 2358 strings) --- OsmAnd/res/values-sc/strings.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OsmAnd/res/values-sc/strings.xml b/OsmAnd/res/values-sc/strings.xml index 11d4922af9..4b8929d7aa 100644 --- a/OsmAnd/res/values-sc/strings.xml +++ b/OsmAnd/res/values-sc/strings.xml @@ -2707,4 +2707,7 @@ Pro praghere iscrie su còdighe intreu \n • Àteros megioramentos e curretziones de errores \n \n + Rosa translùtzidu + Mesanu/mèdiu + Ascendente/Discendente From a0c58466cef824cc711ca351d7a8656c56ed80dc Mon Sep 17 00:00:00 2001 From: Alexander Sytnyk Date: Mon, 17 Jul 2017 11:27:29 +0300 Subject: [PATCH 054/140] Fix #4115 --- OsmAnd/res/values-b+ast/strings.xml | 2 +- OsmAnd/res/values-be-rBY/strings.xml | 10 +++++----- OsmAnd/res/values-be/strings.xml | 10 +++++----- OsmAnd/res/values-ca/strings.xml | 10 +++++----- OsmAnd/res/values-da/strings.xml | 12 ++++++------ OsmAnd/res/values-eo/strings.xml | 10 +++++----- OsmAnd/res/values-es-rAR/strings.xml | 12 ++++++------ OsmAnd/res/values-es-rUS/strings.xml | 12 ++++++------ OsmAnd/res/values-es/strings.xml | 12 ++++++------ OsmAnd/res/values-eu/strings.xml | 12 ++++++------ OsmAnd/res/values-it/strings.xml | 6 +++--- OsmAnd/res/values-lt/strings.xml | 4 ++-- OsmAnd/res/values-pl/strings.xml | 10 +++++----- OsmAnd/res/values-sc/strings.xml | 12 ++++++------ OsmAnd/res/values-sk/strings.xml | 10 +++++----- OsmAnd/res/values-sl/strings.xml | 10 +++++----- OsmAnd/res/values-uk/strings.xml | 10 +++++----- OsmAnd/res/values-zh-rCN/strings.xml | 10 +++++----- OsmAnd/res/values-zh-rTW/strings.xml | 12 ++++++------ 19 files changed, 93 insertions(+), 93 deletions(-) diff --git a/OsmAnd/res/values-b+ast/strings.xml b/OsmAnd/res/values-b+ast/strings.xml index f7f97254cc..2943e51e3f 100644 --- a/OsmAnd/res/values-b+ast/strings.xml +++ b/OsmAnd/res/values-b+ast/strings.xml @@ -777,7 +777,7 @@ Puntos Amosar les curves de nivel y puntos Curves de fondura marina - \\022 Nueva función: Botón d\'aición rápida + \\u2022 Nueva función: Botón d\'aición rápida \n \n • Respuesta ameyorada a xestos en pantalles táctiles (p.ex. abasnar y ampliar al tiempu) \n diff --git a/OsmAnd/res/values-be-rBY/strings.xml b/OsmAnd/res/values-be-rBY/strings.xml index 6729afa2a6..743fbf734a 100644 --- a/OsmAnd/res/values-be-rBY/strings.xml +++ b/OsmAnd/res/values-be-rBY/strings.xml @@ -1723,7 +1723,7 @@ Miesca parkoŭkі і čas vіdać na paneli kіravańnia OsmAnd і na vіdžecie Spravazdača Pieradać miescaznachodžańnie Dastasavańnie atrymała dazvoł na zapіs na źniešnі nośbіt. Patrabujecca pierazahruzka dastasavańnia. - \\022 OSM Live. Padtrymka aŭtaraŭ i raspracoŭnikaŭ mapaŭ i atrymańnie štohadzinnych abnaŭlieńniaŭ mapy. + \\u2022 OSM Live. Padtrymka aŭtaraŭ i raspracoŭnikaŭ mapaŭ i atrymańnie štohadzinnych abnaŭlieńniaŭ mapy. \n \n • Markiery. Novy sposab dlia chutkaha vybaru miescaŭ na mapie. \n @@ -1854,7 +1854,7 @@ U vypadku, kali vy lubіcie OsmAnd і OSM і chočacie padtrymać jaho, heta іd \"Adklučana\" niepasredna zapuskaje ekran mapy Pakazvać pry zapusku Skapіjavana ŭ bufier abmienu - \\022 Novy kantekstna-zaliežny interfiejs dlia vybaru pazicyi na mapie i na inšych ekranach + \\u2022 Novy kantekstna-zaliežny interfiejs dlia vybaru pazicyi na mapie i na inšych ekranach \n \n • Ekran mapy ciapier zapuskajecca niepasredna, kali vy nie vybrali \"Pakazvać paneĺ kiravańnia pry zapusku\" \n @@ -2330,7 +2330,7 @@ U vypadku, kali vy lubіcie OsmAnd і OSM і chočacie padtrymać jaho, heta іd Viarnucca da pošuka Vydalić abranyja eliementy z historyi? Pakazać %1$s na mapie - \\022 Novy paŭnatekstavy pošuk + \\u2022 Novy paŭnatekstavy pošuk \n \n • Intehracyja praz Bluetooth aŭtamabiĺnych aŭdyjasistem / kalonak \n @@ -2575,7 +2575,7 @@ U vypadku, kali vy lubіcie OsmAnd і OSM і chočacie padtrymać jaho, heta іd Abrać pierasiečanasć miascovasci Vykarystoŭvać danyja vyšyni Kontury marskich hlybiń - \\022 Novaja funkcyja: knopka chutkaha dziejannia + \\u2022 Novaja funkcyja: knopka chutkaha dziejannia \n \n • Paliepšany adkaz na žesty sensarnaha ekrana \n @@ -2613,7 +2613,7 @@ U vypadku, kali vy lubіcie OsmAnd і OSM і chočacie padtrymać jaho, heta іd Pakazvać apaviaščeńnie, jakoje dazvolić pačać zapis z dapamohaj knopki \"Zapis padarožža\" Paviedamlieńni Prypynieny - \\022 Ikonki na mapie, jakija moža naciskać, + \\u2022 Ikonki na mapie, jakija moža naciskać, \n \n • Pošuk liubych POI: Pošuk restaranaŭ pavodlie kuchni abo kiempinhaŭ z peŭnymi vyhodami, \n diff --git a/OsmAnd/res/values-be/strings.xml b/OsmAnd/res/values-be/strings.xml index 772f8de72e..3f0441b2f9 100644 --- a/OsmAnd/res/values-be/strings.xml +++ b/OsmAnd/res/values-be/strings.xml @@ -2122,7 +2122,7 @@ Панэль кіраваньня ці мэню Калі ласка, увядзіце правільны тып POI або прапусьціце яго Дадаўся выбар асноўнага элемэнту кіраваньня праграмаю праз панэль кіраваньня або статычнае мэню. Ваш выбар можа быць зьменены ў наладах галоўнага экрана. -\\022 Новы кантэкстна-залежны інтэрфейс для выбару пазіцыі на мапе і на іншых экранах +\\u2022 Новы кантэкстна-залежны інтэрфейс для выбару пазіцыі на мапе і на іншых экранах \n \n • Экран мапы цяпер запускаецца непасрэдна, калі вы не выбралі \"Паказваць панэль кіраваньня пры запуску\" \n @@ -2260,7 +2260,7 @@ Вы можаце адаслаць Вашу OSM заўвагу ананімна альбо праз свой профіль OpenStreetMap.org. Адаслаць OSM заўвагу Справаздача - \\022 OSM Live. Падтрымка аўтараў і распрацоўнікаў мапаў і атрыманьне штогадзінных абнаўленьняў мапы. + \\u2022 OSM Live. Падтрымка аўтараў і распрацоўнікаў мапаў і атрыманьне штогадзінных абнаўленьняў мапы. \n \n • Маркеры. Новы спосаб для хуткага выбару месцаў на мапе. \n @@ -2361,7 +2361,7 @@ Шукаць за %1$s ад месцазнаходжаньня падзяліліся праз OsmAnd - \\022 Новы паўнатэкставы пошук + \\u2022 Новы паўнатэкставы пошук \n \n • Інтэграцыя праз Bluetooth аўтамабільных аўдыясістэм / калонак \n @@ -2464,7 +2464,7 @@ Ваду Дадаць састарэлы пошук у спісе, што раскрываецца Таўшчыня гарызанталяў - \\022 Іконкі на мапе, якія можа націскаць, + \\u2022 Іконкі на мапе, якія можа націскаць, \n \n • Пошук любых POI: Пошук рэстаранаў паводле кухні або кемпінгаў з пэўнымі выгодамі, \n @@ -2542,7 +2542,7 @@ Голас актыўны Паказваць контуры і пункты глыбіні Контуры марскіх глыбінь - \\022 Новая функцыя: кнопка хуткага дзеяння + \\u2022 Новая функцыя: кнопка хуткага дзеяння \n \n • Палепшаны адказ на жэсты сэнсарнага экрана \n diff --git a/OsmAnd/res/values-ca/strings.xml b/OsmAnd/res/values-ca/strings.xml index b3bf3c840d..60eb647a4e 100644 --- a/OsmAnd/res/values-ca/strings.xml +++ b/OsmAnd/res/values-ca/strings.xml @@ -1864,7 +1864,7 @@ Per retornar a l\'estil habitual dels mapes d\'OsmAnd, només cal desactivar aqu Localització Modifica el canvi OSM S\'ha copiat al \tporta-retalls - "\\022 Una nova IU contextual per designar ubicacions en el mapa i en altres pantalles + "\\u2022 Una nova IU contextual per designar ubicacions en el mapa i en altres pantalles \n \n • La pantalla del mapa s\'obre directament excepte quan es selecciona \'Mostra el tauler en iniciar\' \n @@ -2027,7 +2027,7 @@ L\'ús de memòria serà de {3} MB temporalment i {1} MB permanentment. Informe complert Usuari i contrasenya d\'OpenStreetMap Subscriu - \\022 OSM en directe. Recolzament a desenvolupadors i col·laboradors i obtenció de mapes actualitzats cada hora. + \\u2022 OSM en directe. Recolzament a desenvolupadors i col·laboradors i obtenció de mapes actualitzats cada hora. \n \n • Marcadors de mapa. Una nova opció per seleccionar ràpidament llocs al mapa. \n @@ -2130,7 +2130,7 @@ L\'ús de memòria serà de {3} MB temporalment i {1} MB permanentment. Alt sòrab compartit via OsmAnd - \\022 Nova cerca de text lliure molt potent + \\u2022 Nova cerca de text lliure molt potent \n \n • Integració via Bluetooth de l\'àudio del cotxe amb l\'altaveu del mòbil \n @@ -2221,7 +2221,7 @@ L\'ús de memòria serà de {3} MB temporalment i {1} MB permanentment. Enregistrat Enegistra No hi ha dades - "\\022 Icones per clicar al mapa + "\\u2022 Icones per clicar al mapa \n \n • Potent filtre de cerca de PDIs: cerca, p.e. restaurants per tipus de cuina o càmpings amb equipaments determinats \n @@ -2353,7 +2353,7 @@ Abasta l\'àrea: %1$s x %2$s Prement el botó d\'acció es mostra la pàgina següent seguint la llista. Divisió automàtica de les gravacions un cop aturades Comença un nou segment desprès de 6 min d\'interrupció, una traça nova si es superen les 2 hores o un nou fitxer si encara dura més i s\'ha canviat de data. - \\022 Nova opció: botó d\'acció ràpida + \\u2022 Nova opció: botó d\'acció ràpida \n \n • Resposta millorada a les indicacions de la pantalla tàctil (p.e. gir de la pantalla i ampliació alhora) \n diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index 618374a554..2e29985ce8 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -2111,7 +2111,7 @@ Lon %2$s Note lukket Ændret OSM IP Slettet OSM IP - \\022 Ny kontekstafhængig brugergrænseflade når der vælges lokationer på kortet og på andre skærme + \\u2022 Ny kontekstafhængig brugergrænseflade når der vælges lokationer på kortet og på andre skærme \n \n • Kortskærmen vises direkte, medmindre \'Vis betjeningspanel ved start\' er valgt \n @@ -2285,7 +2285,7 @@ Hvis du ønsker at støtte OsmAnd og OSM, er dette en god måde at gøre det p Afslut navigation Flyt op Flyt ned - "\\022 OSM Live. Støt bidragsyderne og udviklere af kortet og få kortopdateringer hver time. + "\\u2022 OSM Live. Støt bidragsyderne og udviklere af kortet og få kortopdateringer hver time. \n \n • Kortmarkører. En ny måde til hurtigt at vælge steder på kortet. \n @@ -2368,7 +2368,7 @@ Hvis du ønsker at støtte OsmAnd og OSM, er dette en god måde at gøre det p Øvresorbisk delt via OsmAnd - "\\022 Ny meget stærk fritekstsøgning + "\\u2022 Ny meget stærk fritekstsøgning \n \n • Integration med bilens lydsystem og telefon via Bluetooth \n @@ -2460,7 +2460,7 @@ Hvis du ønsker at støtte OsmAnd og OSM, er dette en god måde at gøre det p Optaget Optag Ingen data - \\022 Klikbare ikoner på kortet + \\u2022 Klikbare ikoner på kortet \n \n  • Fleksibel IP-filter søgning: Søg fx. restauranter efter køkkenstil, eller campingpladser med særlige faciliteter \n @@ -2591,7 +2591,7 @@ Repræsenterer område: %1$s x %2$s Tryk på genvejen vil gennemløbe nedenstående liste. Opdel automatisk optagelser efter et ophold Start et nyt segment efter ophold på 6 min., et nyt spor efter 2 t, eller en ny fil efter længere ophold, hvis datoen er ændret. - \\022 Ny funktion: Genvejsknap + \\u2022 Ny funktion: Genvejsknap \n \n  • Forbedret respons på berøringsskærm (fx. samtidig panorering og zoom) \n @@ -2795,7 +2795,7 @@ Tidligere destination bliver sidste mellemliggende punkt. Interval = min/maks Min/maks - \\022 Mapillary udvidelse med billeder på gadeniveau + \\u2022 Mapillary udvidelse med billeder på gadeniveau \n \n • Lineal modul til afstandsmåling \n diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml index 6be72e5c4f..009f830fc5 100644 --- a/OsmAnd/res/values-eo/strings.xml +++ b/OsmAnd/res/values-eo/strings.xml @@ -119,7 +119,7 @@ \'Ek\'-butono rekte lanĉas mapekranon Enpoŝigita Montri dum starto - \\022 Nova tekst-dependa fasado kiu ebligas tuŝi lokojn en la mapo kaj en aliaj ekranoj + \\u2022 Nova tekst-dependa fasado kiu ebligas tuŝi lokojn en la mapo kaj en aliaj ekranoj \n \n • Mapekrano estas nun montrita rekte escepte se \'Montri stirpanelon dum aplikaĵa starto\' estas elektita \n @@ -235,7 +235,7 @@ Saluton kaj - \\022 OSM Live. Subtenu kontribuantojn kaj programistoj, kaj havigu ĉiuhorajn mapajn ĝisdatigojn. + \\u2022 OSM Live. Subtenu kontribuantojn kaj programistoj, kaj havigu ĉiuhorajn mapajn ĝisdatigojn. \n \n • Mapmarkiloj. Nova maniero por rapide elekti lokojn sur la mapo. \n @@ -2136,7 +2136,7 @@ Provizore estas uzata enreta servo CloudMade. kunhavigita per OsmAnd Montri na %1$s sur la mapo - \\022 Nova ebloplena tekstoserĉilo + \\u2022 Nova ebloplena tekstoserĉilo \n \n • Konekto kun aŭd-sistemo/parolilo de aŭto per Bludento \n @@ -2295,7 +2295,7 @@ Se vi bezonas helpon pri OsmAnd aplikaĵo, bonvolu kontakti nian helpantaron: su Registrita Registri Neniuj datumoj - \\022 Alklakeblaj piktogramoj sur la mapo + \\u2022 Alklakeblaj piktogramoj sur la mapo \n \n • Ebloplena filtrebla serĉado de interesejoj: serĉu restoraciojn laŭ kuirarto, kampadejojn kun difinitaj ebloj \n @@ -2426,7 +2426,7 @@ Indikas lokon: %1$s x %2$s" Premado sur la ag-butono foliumos tra la jena listo. Aŭtomate dividi registraĵojn post paŭzo Komenci novan segmenton post 6 min paŭzo, novan registraĵon post 2 h, kaj novan dosieron post pli longaj paŭzoj, se dato ŝanĝiĝis. - \\022 Nova eblo: butono de rapida ago + \\u2022 Nova eblo: butono de rapida ago \n \n • Plibonigita respondeblo de ekrano al gestoj \n diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml index 557322f73f..b1487fe962 100644 --- a/OsmAnd/res/values-es-rAR/strings.xml +++ b/OsmAnd/res/values-es-rAR/strings.xml @@ -1930,7 +1930,7 @@ Se aprecia la participación activa, y las contribuciones pueden hacerse directa Estilo del camino Reabrir Guardar sin conexión - \\022 Nueva interfaz de usuario sensible al contexto para aprovechar lugares en el mapa y en otra pantallas. + \\u2022 Nueva interfaz de usuario sensible al contexto para aprovechar lugares en el mapa y en otra pantallas. \n \n• La pantalla del mapa ahora se inicia directamente, a menos que \'Mostrar panel de control al iniciar la aplicación\', este seleccionado. \n @@ -2098,7 +2098,7 @@ Se aprecia la participación activa, y las contribuciones pueden hacerse directa Bajar Finalizar navegación Evitar camino - \\022 OSM Live. Apoya a los editores y desarrolladores del mapa y obtén actualizaciones del mapa cada hora. + \\u2022 OSM Live. Apoya a los editores y desarrolladores del mapa y obtén actualizaciones del mapa cada hora. \n \n • Marcadores del mapa. Una nueva forma de elegir rápidamente lugares en el mapa. \n @@ -2180,7 +2180,7 @@ Se aprecia la participación activa, y las contribuciones pueden hacerse directa Sorabo (Alto) compartido a través de OsmAnd - \\022 Nueva y muy poderosa búsqueda por texto libre + \\u2022 Nueva y muy poderosa búsqueda por texto libre \n \n • Integración con el sistema de audio del automóvil y altavoces del teléfono vía Bluetooth \n @@ -2272,7 +2272,7 @@ Se aprecia la participación activa, y las contribuciones pueden hacerse directa Grabado Grabar Sin datos - \\022 Ahora se pueden pulsar los iconos del mapa + \\u2022 Ahora se pueden pulsar los iconos del mapa \n \n • Nuevo filtro de búsqueda PDI potente: Busca, p.e. restaurantes por tipo de cocina o campamentos con instalaciones específicas \n @@ -2403,7 +2403,7 @@ Proporciona un código completo Pulsar el botón de acción mostrará la siguiente lista. División automática de grabaciones en intervalos Iniciar nuevo segmento en el lapso de 6 min, nueva traza en el lapso de 2 h, o nuevo archivo en el lapso más largo si la fecha se cambió. - \\022 Nueva función: Botón de acción rápida + \\u2022 Nueva función: Botón de acción rápida \n \n • Mejorada la respuesta de gestos táctiles (p.e. panorámicas y ampliaciones simultáneas) \n @@ -2678,7 +2678,7 @@ Proporciona un código completo Rango = Min/Máx Min/Máx - \\022 Complemento de Mapillary con imágenes a nivel de calle + \\u2022 Complemento de Mapillary con imágenes a nivel de calle \n \n • Control de regla para medir distancias \n diff --git a/OsmAnd/res/values-es-rUS/strings.xml b/OsmAnd/res/values-es-rUS/strings.xml index 7bb549208f..cf1b16590c 100644 --- a/OsmAnd/res/values-es-rUS/strings.xml +++ b/OsmAnd/res/values-es-rUS/strings.xml @@ -1930,7 +1930,7 @@ Se aprecia la participación activa, y las contribuciones pueden hacerse directa Estilo del camino Reabrir Guardar sin conexión - \\022 Nueva interfaz de usuario sensible al contexto para aprovechar lugares en el mapa y en otra pantallas. + \\u2022 Nueva interfaz de usuario sensible al contexto para aprovechar lugares en el mapa y en otra pantallas. \n \n• La pantalla del mapa ahora se inicia directamente, a menos que \'Mostrar panel de control al iniciar la aplicación\', este seleccionado. \n @@ -2098,7 +2098,7 @@ Si amas a OsmAnd, OSM y quieres apoyarlos, esta es una perfecta manera de hacerl Bajar Finalizar navegación Evitar camino - \\022 OSM Live. Apoya a los editores y desarrolladores del mapa y obtén actualizaciones del mapa cada hora. + \\u2022 OSM Live. Apoya a los editores y desarrolladores del mapa y obtén actualizaciones del mapa cada hora. \n \n • Marcadores del mapa. Una nueva forma de elegir rápidamente lugares en el mapa. \n @@ -2180,7 +2180,7 @@ Si amas a OsmAnd, OSM y quieres apoyarlos, esta es una perfecta manera de hacerl Sorabo (Alto) compartido a través de OsmAnd - \\022 Nueva y muy poderosa búsqueda por texto libre + \\u2022 Nueva y muy poderosa búsqueda por texto libre \n \n • Integración con el sistema de audio del automóvil y altavoces del teléfono vía Bluetooth \n @@ -2272,7 +2272,7 @@ Si amas a OsmAnd, OSM y quieres apoyarlos, esta es una perfecta manera de hacerl Grabado Grabar Sin datos - \\022 Ahora se pueden pulsar los iconos del mapa + \\u2022 Ahora se pueden pulsar los iconos del mapa \n \n • Nuevo filtro de búsqueda PDI potente: Busca, p.e. restaurantes por tipo de cocina o campamentos con instalaciones específicas \n @@ -2403,7 +2403,7 @@ Proporciona un código completo Pulsar el botón de acción mostrará la siguiente lista. División automática de grabaciones en intervalos Iniciar nuevo segmento en el lapso de 6 min, nueva traza en el lapso de 2 h, o nuevo archivo en el lapso más largo si la fecha se cambió. - \\022 Nueva función: Botón de acción rápida + \\u2022 Nueva función: Botón de acción rápida \n \n • Mejorada la respuesta de gestos táctiles (p.e. panorámicas y ampliaciones simultáneas) \n @@ -2679,7 +2679,7 @@ Proporciona un código completo Rango = Min/Máx Min/Máx - \\022 Complemento de Mapillary con imágenes a nivel de calle + \\u2022 Complemento de Mapillary con imágenes a nivel de calle \n \n • Control de regla para medir distancias \n diff --git a/OsmAnd/res/values-es/strings.xml b/OsmAnd/res/values-es/strings.xml index 077d02f0c6..2f169bed1c 100644 --- a/OsmAnd/res/values-es/strings.xml +++ b/OsmAnd/res/values-es/strings.xml @@ -1910,7 +1910,7 @@ Lon %2$s Ancho del GPX Estilo de carretera Guardar sin conexión - \\022 Nueva interfaz de usuario sensible al contexto para pulsar ubicaciones en el mapa y en otras pantallas. + \\u2022 Nueva interfaz de usuario sensible al contexto para pulsar ubicaciones en el mapa y en otras pantallas. \n \n• La pantalla del mapa ahora se inicia directamente, a menos que \'Mostrar panel de control al iniciar la aplicación\', este seleccionado. \n @@ -2071,7 +2071,7 @@ El espacio de almacenamiento usado es {3} MB temporalmente y {1} MB permanenteme La carpeta de almacenamiento de datos seleccionada actualmente es de sólo lectura. La carpeta de almacenamiento fue cambiada temporalmente a la memoria interna. Por favor, elige directorio de almacenamiento válido. Memoria compartida Ahora la aplicación puede escribir en el almacenamiento externo. Se necesita un rearranque manual de la aplicación. - "\\022 OSM en vivo. Apoya a colaboradores del mapa y desarrolladores y obtén actualizaciones de mapas cada hora. + "\\u2022 OSM en vivo. Apoya a colaboradores del mapa y desarrolladores y obtén actualizaciones de mapas cada hora. \n \n • Marcadores de mapa. Una nueva forma de seleccionar rápidamente lugares en el mapa. \n @@ -2161,7 +2161,7 @@ El espacio de almacenamiento usado es {3} MB temporalmente y {1} MB permanenteme ¿Quieres quitar del historial los elementos seleccionados? Mostrar %1$s en el mapa Buscar en %1$s alrededor - "\\022 Nueva y muy poderosa búsqueda por texto libre + "\\u2022 Nueva y muy poderosa búsqueda por texto libre \n \n • Integración con el sistema de audio y el micrófono del automóvil vía Bluetooth \n @@ -2212,7 +2212,7 @@ El espacio de almacenamiento usado es {3} MB temporalmente y {1} MB permanenteme Millas/metros Australia Cabilio - \\022 Iconos del mapa pulsables + \\u2022 Iconos del mapa pulsables \n \n • Filtro de búsqueda PDI potente: Busca, p.e. restaurantes por tipo de cocina o campamentos con instalaciones específicas \n @@ -2365,7 +2365,7 @@ El espacio de almacenamiento usado es {3} MB temporalmente y {1} MB permanenteme Cambiar la posición del botón Pulsación larga y arrastrar el botón para cambiar su posición en la pantalla Nombre de acción -"\\022 Nueva función: Botón de acción rápida +"\\u2022 Nueva función: Botón de acción rápida \n \n • Mejorada la respuesta de gestos táctiles (p.e. desplazamiento y acercamiento simultáneos) \n @@ -2623,7 +2623,7 @@ Por favor proporciona un código completo Tiempo moviéndose Máx/Min Min/Máx - \\022 Complemento de Mapillary con imágenes a nivel de calle + \\u2022 Complemento de Mapillary con imágenes a nivel de calle \n \n • Control de regla para medir distancias \n diff --git a/OsmAnd/res/values-eu/strings.xml b/OsmAnd/res/values-eu/strings.xml index 191ce5c37f..ce7c2cbb89 100644 --- a/OsmAnd/res/values-eu/strings.xml +++ b/OsmAnd/res/values-eu/strings.xml @@ -1779,7 +1779,7 @@ Lorratza %2$s \nTalde batean parte hartzen duten gailuak denbora errealean jarraitu ditzakezu. Taldera gehitutako puntu eta lorratzak ere ikusi ditzakezu partaide bazara. \n \nTaldea ez da hilabeteetan kendu, bete OsMo.mobi gunearen arauak - \\022 OSM Live. Babestu mapa egileak eta garatzaileak eta jaso orduz orduko eguneraketak. + \\u2022 OSM Live. Babestu mapa egileak eta garatzaileak eta jaso orduz orduko eguneraketak. \n \n • Mapa-markatzaileak. Mapako lekuak atoan hautatzeko modu berri bat. \n @@ -1873,7 +1873,7 @@ Biltegiratzean {3} MB behar dira une batez, {1} MB behin betiko. %1$sko mapa deskargatu da. Erabiltzen hasi zaitezke. Fitxategiaren izenak karaktere baliogaberen bat du Erakutsi %1$s mapan - \\022 Testu librearen bilaketa boteretsu berria. + \\u2022 Testu librearen bilaketa boteretsu berria. \n \n \n • Asko hobetutako Bluetooth bidezko audioa. @@ -2112,7 +2112,7 @@ Biltegiratzean {3} MB behar dira une batez, {1} MB behin betiko. Erabili kontrol panela Orain aplikazioa kontrol panel aldakor batetik ala finkatutako menu estatiko batetik kudeatzeko aukera dago. Erabakia aldatzeko aukera duzu kontrol panelaren ezarpenetan. - \\022 Testuinguruaren jakitun den interfazea mapan eta beste pantailetan kokalekuetan sakatzeko + \\u2022 Testuinguruaren jakitun den interfazea mapan eta beste pantailetan kokalekuetan sakatzeko \n \n • Maparen pantaila orain zuzenean abiatzen da \"Bistaratu kontrol panela abioan\" markatu ezean \n @@ -2384,7 +2384,7 @@ mapak eta nabigazioa Grabatuta Grabatu Daturik ez - \\022 klikatu daitezkeen ikonoak mapan + \\u2022 klikatu daitezkeen ikonoak mapan \n \n \n • Iragazki bidezko POI bilaketa ahaltsua: bilatu adibidez jatetxeak sukaldaritza motaren arabera, edo behar zehatzetarako kanpingak @@ -2523,7 +2523,7 @@ Area honi dagokio: %1$s x %2$s Hasi segmentu berria 6 minututako hutsune bat eta gero, lorratz berria bi ordu eta gero, edo fitxategi berria data aldatzean. Erakutsi sakonera sestra-kurbak eta puntuak Sakonera nautikoaren sestra-kurbak - \\022 Ezaugarri berria: Ekintza azkarren botoia + \\u2022 Ezaugarri berria: Ekintza azkarren botoia \n \n \n • Pantaila ukigarriaren keinuen erantzuna hobetua @@ -2720,7 +2720,7 @@ Area honi dagokio: %1$s x %2$s Bizikleta • Bizikletentzako bideak aurki ditzakezu mapan • Bizikletarako GPS nabigazioak ibilbideak bizikletentzako bideak erabiliz eraikiko du • Zure abiadura eta altuera ikusi ditzakezu • GPX grabaketak zure bidaia grabatu eta partekatzea ahalbidetzen dizu • Gehigarriekin sestra-kurbak eta erliebe-itzalak gaitu ditzakezu Bizikleta eta oinezkoentzako ezaugarriak • Oinez, mendian, eta bizikletarekin egiteko bideak eta aktibitateak ikusi • Bizikleta eta oinezkoentzako ibilbide eta ikuspegi bereziak • Aukeran garraio publikoaren geltokiak (autobusa, tranbia, trena) lineen izenak barne • Aukeran bidaiaren grabaketa tokiko GPX fitxategira edo interneteko zerbitzari batera • AUkeran abiadura eta altuera bistaratu • Biostaratu sestra-kurbak eta erliebe-itzalak (plug-in gehigarriarekin) Min/Max - \\022 Mapillary gehigarria kale-mailako argazkiekin + \\u2022 Mapillary gehigarria kale-mailako argazkiekin \n \n • DIstantzia nehurtzeko erregela \n diff --git a/OsmAnd/res/values-it/strings.xml b/OsmAnd/res/values-it/strings.xml index ca3f5bd6d4..679eabcde7 100644 --- a/OsmAnd/res/values-it/strings.xml +++ b/OsmAnd/res/values-it/strings.xml @@ -2394,7 +2394,7 @@ Se ami OsmAnd e OSM e vuoi sostenerli, questo è un modo perfetto per farlo.Ritorna alla ricerca Vuoi cancellare gli elementi della cronologia selezionati? Mostra %1$s sulla mappa - \\022 Nuova ricerca testuale molto potente + \\u2022 Nuova ricerca testuale molto potente \n \n • Integrazione attraverso Bluetooth con il sistema audio dell\'auto/speaker \n @@ -2492,7 +2492,7 @@ Se ami OsmAnd e OSM e vuoi sostenerli, questo è un modo perfetto per farlo.Registrato Registra Nessun dato - \\022 Icone sulla mappa cliccabili + \\u2022 Icone sulla mappa cliccabili \n \n \n • Potente filtro di ricerca dei PDI: ricerca dei ristoranti per tipo di cucina, campeggi per esigenze specifiche @@ -2633,7 +2633,7 @@ Rappresenta l\'area: %1$s x %2$s Divisione automatica delle registrazioni dopo un periodo Inizia un nuovo segmento dopo 6 minuti, una nuova traccia dopo 2 ore, o un nuovo file dopo un intervallo maggiore. Mostra contorni e punti in profondità - "\\022 Nuove funzionalità: Pulsante azione veloce + "\\u2022 Nuove funzionalità: Pulsante azione veloce \n \n • Migliorata la risposta del touch screen ai gesti (es. zoommare e allargare) \n diff --git a/OsmAnd/res/values-lt/strings.xml b/OsmAnd/res/values-lt/strings.xml index d905949b9e..6205cab1f0 100644 --- a/OsmAnd/res/values-lt/strings.xml +++ b/OsmAnd/res/values-lt/strings.xml @@ -2772,7 +2772,7 @@ Tai yra puikus būdas paremti OsmAnd ir OSM, jei jie jums patinka. Naudoti SRTM, ASTER ir EU-DEM pateikiamus vietovės aukščio duomenis Rodyti gylio kontūrus ir taškus Vandenyno gylio kontūrai - \\022 Nauja funkcija: Greito veiksmo mygtukas + \\u2022 Nauja funkcija: Greito veiksmo mygtukas \n \n • Patobulinta liečiamo ekrano veiksmų reakcija (t.y. mąstelio keitimas ir žemėlapio stūmimas tuo pačiu metu) \n @@ -2806,7 +2806,7 @@ Tai yra puikus būdas paremti OsmAnd ir OSM, jei jie jums patinka. Jūs dar neturite išsaugotų kelių Jūs taip pat galite išsaugoti kelius segtuve Rodyti pranešimą kuris leidžia pradėti kelionės įrašymą paspaudus \"Įrašyti\" mygtuką - \\022 INteraktyvios žemėlapio ikonos + \\u2022 INteraktyvios žemėlapio ikonos \n \n • Galingas LV paieškos filtras: ieškoti restoranų pvz. pagal virtuvę ar kempingų pagal su specifinėm paslaugom \n diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml index dc2a98e18c..25f72355d2 100644 --- a/OsmAnd/res/values-pl/strings.xml +++ b/OsmAnd/res/values-pl/strings.xml @@ -2076,7 +2076,7 @@ Długość %2$s Wyświetla kokpit zamiast menu Dostęp z mapy Skopiowane do schowka - \\022 Nowe menu kontekstowe, przystosowane do wybierania lokacji na mapie oraz na innych ekranach + \\u2022 Nowe menu kontekstowe, przystosowane do wybierania lokacji na mapie oraz na innych ekranach \n \n • Mapa jest teraz wyświetlana bezpośrednio, o ile nie wybrano opcji \'Pokaż pulpit podczas startu aplikacji\' \n @@ -2250,7 +2250,7 @@ Długość %2$s Pasek przezroczystości Proszę dodać znacznik na mapie Nie znaleziono punktów - \\022 OSM Live. Wspieraj współtwórców map i programistów, aby uzyskać bieżące aktualizacji mapy. + \\u2022 OSM Live. Wspieraj współtwórców map i programistów, aby uzyskać bieżące aktualizacji mapy. \n \n • Znaczniki mapy. Nowy sposób na szybkie oznaczenie położenia na mapie. \n @@ -2349,7 +2349,7 @@ Długość %2$s udostępnione przez OsmAnd Wyświetl %1$s na mapie - \\022 Nowa wszechstronna metoda wyszukiwania tekstowego + \\u2022 Nowa wszechstronna metoda wyszukiwania tekstowego \n \n • Ulepszono integrację z zestawem audio Bluetooth \n @@ -2440,7 +2440,7 @@ Długość %2$s Zarejestrowany Rejestruj Brak danych - \\022 Ikony mapy, które można kliknąć + \\u2022 Ikony mapy, które można kliknąć \n \n • wszechstronna wyszukiwarka użytecznych miejsc: wyszukiwanie restauracji wg kuchni, kempingów wg udogodnień \n @@ -2571,7 +2571,7 @@ Reprezentuje obszar: %1$s x %2$s Naciśnięcie przycisku czynności wyświetli poniższą listę. Automatyczne dzielenie nagrań po przerwie Rozpoczyna nowy segment po 6 min przerwy, nową trasę po 2 h i nowy plik po dłuższej przerwie, jeżeli data ulegnie zmianie - \\022 Nowa funkcja: przycisk szybkiej czynności + \\u2022 Nowa funkcja: przycisk szybkiej czynności \n \n • Poprawiono odpowiedź na gesty ekranu dotykowego \n diff --git a/OsmAnd/res/values-sc/strings.xml b/OsmAnd/res/values-sc/strings.xml index 4b8929d7aa..055b323b12 100644 --- a/OsmAnd/res/values-sc/strings.xml +++ b/OsmAnd/res/values-sc/strings.xml @@ -2045,7 +2045,7 @@ Lon %2$s Imprea sa mapa Su butone de su menù alluet su pannellu de controllu, imbetzes de su menù Intra dae sa mapa - \\022 Interfache impitadore noa pro incarcare positziones in sa mapa e in àteros ischermos + \\u2022 Interfache impitadore noa pro incarcare positziones in sa mapa e in àteros ischermos \n \n • S\'ischermu de sa mapa est como postu come prima cosa a s’allumìngiu de s’aplicatzione, semper chi \'Ammustra pannellu de controllu in s\'allumìngiu\' no siet ischertadu \n @@ -2204,7 +2204,7 @@ Si istimas OsmAnd e OSM e los boles suportare, custa est una manera perfeta pro Memòria cumpartzida Raportu cumpridu Nùmene impreadore e crae de OpenStreetMap - \\022 OSM Live. Suporta sos contribuidores a sa mapa e sos isvilupadores pro otènnere mapas agiornadas cada ora. + \\u2022 OSM Live. Suporta sos contribuidores a sa mapa e sos isvilupadores pro otènnere mapas agiornadas cada ora. \n \n • Marcadores mapa. Una manera noa de ischertare in manera lestra logos in sa mapa. \n @@ -2289,7 +2289,7 @@ Si istimas OsmAnd e OSM e los boles suportare, custa est una manera perfeta pro Boles iscantzellare sos elementos ischertados de s\'istòria? Chirca cun coordinatas Chirca avantzada cun coordinatas - "\\022 Chirca de testu noa e potente meda + "\\u2022 Chirca de testu noa e potente meda \n \n • Integratzione intre su sistema àudio de sa màchina e su telèfono pro mèdiu de Bluetooth \n @@ -2374,7 +2374,7 @@ Si istimas OsmAnd e OSM e los boles suportare, custa est una manera perfeta pro Castàngiu iscuru Ischema de colores pro sas lìnias de livellu Integridade superfitziale istradale - \\022 Iconas incarcàbiles in sa mapa + \\u2022 Iconas incarcàbiles in sa mapa \n \n • Chirca filtrada de PDI potente meda: chirca sos ristorantes pro casta de coghina, o sos campègios cun caraterìsticas particulares \n @@ -2505,7 +2505,7 @@ Pro praghere iscrie su còdighe intreu Iscroba automaticamente sas registratziones Incumintza unu segmentu nou a pustis de una pàusa de 6 minutos, una rasta noa a pustis de 2 oras o unu documentu nou si sa pàusa est istada prus longa e sa data est cambiada. Incarchende su butone pro s\'atzione as a cùrrere pro sa lista in suta. - "\\022 Funtzionalidae noa: Butone pro sas atziones lestras + "\\u2022 Funtzionalidae noa: Butone pro sas atziones lestras \n \n • Megioramentu de sa risposta de s\'ichermu a sos incarcos \n @@ -2698,7 +2698,7 @@ Pro praghere iscrie su còdighe intreu Tempus in movimentu Mass/Min Min/Mass - \\022 Estensione Mapillary cun immàgines a livellu de s\'istrada + \\u2022 Estensione Mapillary cun immàgines a livellu de s\'istrada \n \n • Widget righellu pro medire sas distàntzias \n diff --git a/OsmAnd/res/values-sk/strings.xml b/OsmAnd/res/values-sk/strings.xml index dd940c9a6f..5e4de21b59 100644 --- a/OsmAnd/res/values-sk/strings.xml +++ b/OsmAnd/res/values-sk/strings.xml @@ -1976,7 +1976,7 @@ Dĺžka %2$s Odstrániť bod GPX? Upraviť bod GPX Skopírované do schránky - \\022 Nové kontextovo závislé rozhranie pre označenie umiestnení na mape a iných obrazovkách + \\u2022 Nové kontextovo závislé rozhranie pre označenie umiestnení na mape a iných obrazovkách \n \n • Obrazovka mapy je priamo spustená ak nie je zvolené \'Zobraziť úvodný panel pri štarte\' \n @@ -2169,7 +2169,7 @@ Ak máte radi OsmAnd a OSM a chcete ich podporiť, toto je výborný spôsob ako Nenašli sa žiadne body cesty Hlásenie Aplikácia teraz má povolenie zapisovať do externého úložiska. Je potrebný reštart aplikácie. - \\022 OSM Live. Podporte tvorcov mapy a vývojárov a získajte aktualizácie máp každú hodinu. + \\u2022 OSM Live. Podporte tvorcov mapy a vývojárov a získajte aktualizácie máp každú hodinu. \n \n • Mapové značky. Nový spôsob rýchleho výberu miest na mape. \n @@ -2247,7 +2247,7 @@ Ak máte radi OsmAnd a OSM a chcete ich podporiť, toto je výborný spôsob ako zdieľaná cez OsmAnd Chcete vymazať vybrané položky histórie? Zobraziť %1$s na mape - \\022 Nové mocné vyhľadávanie ľubovoľného textu + \\u2022 Nové mocné vyhľadávanie ľubovoľného textu \n \n • Prepojenie s audiosystémom v aute cez Bluetooth \n @@ -2341,7 +2341,7 @@ Ak máte radi OsmAnd a OSM a chcete ich podporiť, toto je výborný spôsob ako Záznam výletu (žiadne dáta) Zobraziť oznámenie, ktoré umožňuje spustiť nahrávanie stlačením tlačidla Nahrať Oznámenia - \\022 Aktivovateľné ikony na mape + \\u2022 Aktivovateľné ikony na mape \n \n • Podrobné vyhľadávanie bodov záujmu: hľadajte reštaurácie podľa druhu kuchyne, kempingy so špeciálnymi službami \n @@ -2469,7 +2469,7 @@ Zodpovedá oblasti: %1$s x %2$s Názov akcie Automaticky prerušiť nahrávku po medzere Začať nový úsek po prestávke 6 minút, novú stopu po prestávke 2 hodín alebo nový súbor po dlhšej prestávke ak sa zmenil dátum. - \\022 Nová funkcia: Tlačidlo rýchlej akcie + \\u2022 Nová funkcia: Tlačidlo rýchlej akcie \n \n • Vylepšené reakcie na dotykové gestá (napr. súbežné posúvanie a približovanie) \n diff --git a/OsmAnd/res/values-sl/strings.xml b/OsmAnd/res/values-sl/strings.xml index 92f80bcc21..bfc28ff779 100644 --- a/OsmAnd/res/values-sl/strings.xml +++ b/OsmAnd/res/values-sl/strings.xml @@ -2135,7 +2135,7 @@ ZŠ (β) %2$s Upravljanje prek nadzorne plošče ali menija Ob meniju je po novem na voljo možnost upravljanja s programom preko prilagodljive nadzorne plošče. Možnost je mogoče spremeniti med nastavitvami. Opomba OSM z dodatnimi zapisi - \\022 Prenovljen in posodobljen vmesnik, ki omogoča izbiranje mest na zemljevidu in prek drugih pogledov + \\u2022 Prenovljen in posodobljen vmesnik, ki omogoča izbiranje mest na zemljevidu in prek drugih pogledov \n \n • Pogled zemljevida se zažene neposredno, če ni izbrana možnost \"Pokaži nadzorno ploščo ob zagonu programa\" \n @@ -2292,7 +2292,7 @@ ZŠ (β) %2$s V imenu datoteke je nedovoljen znak Ni nobene določene označbe Ni vmesnih točk - \\022 Uporabljajte OSM v živo. Pridobite si možnost urnih posodobitev zemljevidov. S podporo razvijalcem in skupnosti si pridobite dostop do trenutnih podatkov. + \\u2022 Uporabljajte OSM v živo. Pridobite si možnost urnih posodobitev zemljevidov. S podporo razvijalcem in skupnosti si pridobite dostop do trenutnih podatkov. \n \n • Z označbami zemljevidov je mogoča enostavna izbira mest na zemljevidu. \n @@ -2369,7 +2369,7 @@ Del prihodka se vrne skupnosti OSM in se izplačuje za vsako opravljeno dejavnos Nazaj na iskanje Ali res želite izbrisati izbrane predmete zgodovine? Pokaži %1$s na zemljevidu - \\022 Zmogljivo besedilno iskanje + \\u2022 Zmogljivo besedilno iskanje \n \n • Posodobitev delovanja zvoka preko sistema Bluetooth \n @@ -2465,7 +2465,7 @@ Del prihodka se vrne skupnosti OSM in se izplačuje za vsako opravljeno dejavnos Filter: nastavitev najmanjše natančnosti beleženja točk na zemljevidu Objavi Pokaži obvestilo, ki omogoča začetek beleženja potovanja s pritiskom na gumb za beleženje - \\022 Kljikljive ikone na zemljevidu + \\u2022 Kljikljive ikone na zemljevidu \n \n • Zmogljivo iskanje točk POI: iskanje na primer restavracij po vrsti kuhinje, ali pa prostore za kampiranje s posebnimi zahtevami \n @@ -2570,7 +2570,7 @@ Koda predstavlja območje: %1$s x %2$s Spremeni prekrivno plast zemljevida Prekrivna plast je spremenjena na »%s«. Podloga zemljevida je spremenjena na »%s«. - "\\022 Nova zmožnost: dodan je gumb za hitra dejanja + "\\u2022 Nova zmožnost: dodan je gumb za hitra dejanja \n \n • Izboljšana odzivnost zaslona za upravljanje s potezami in dotiki \n diff --git a/OsmAnd/res/values-uk/strings.xml b/OsmAnd/res/values-uk/strings.xml index 6c94963c8c..c7a7b5faed 100644 --- a/OsmAnd/res/values-uk/strings.xml +++ b/OsmAnd/res/values-uk/strings.xml @@ -2236,7 +2236,7 @@ Файл GPX з координатами нотаток Навіть, якщо ви придбали платну версію, ви все ще можете бачити банер для безкоштовної версії У вас зараз є вибір керувати застосунком через гнучку панель керування або через звичайне мені. Ваші вподобання завжди можна змінити в параметрах панелі керування. - \\022 Нові елементи інтерфейсу, що залежать від поточного стану, для вибору місця на мапи та на інших екранах + \\u2022 Нові елементи інтерфейсу, що залежать від поточного стану, для вибору місця на мапи та на інших екранах \n \n • Екран з мапою відкривається під час запуску, якщо тільки не активовано функцію „Показувати панель керування під час запуску“ \n @@ -2314,7 +2314,7 @@ Додайте позначки на мапі Точки шляху не знайдені Тепер застосунок має можливість записувати у зовнішнє сховище. Потрібне ручне перезавантаження. - \\022 OSM Live. Підтримка маперів та розробників; надає щогодинне оновлення даних. + \\u2022 OSM Live. Підтримка маперів та розробників; надає щогодинне оновлення даних. \n \n • Позначки. Новий спосіб швидко позначити місце на мапі. \n @@ -2404,7 +2404,7 @@ Записано Запис Немає даних - \\022 Клікабельні іконки на мапі + \\u2022 Клікабельні іконки на мапі \n \n• Гнучка фільтрація POI в пошуку: шукайте ресторани за типом кухні, кемпінги за наявністю зручностей \n @@ -2486,7 +2486,7 @@ Повернення до пошуку Вилучити вибране з історії пошуку? Показати %1$s на мапі - \\022 Новий повнотекстовий пошук + \\u2022 Новий повнотекстовий пошук \n \n• Інтеграція через Bluetooth автомобільних аудіосистем/колонок \n @@ -2583,7 +2583,7 @@ Авто-розрив запису після перерви Почати новий сегмент після 6 хвилинної перерви, новий трек після 2 годинної перерви, або новий файл після тривалої перерви (якщо змінилася дата). Виберіть теку GPX-треку - "\\022 Нова функція: кнопка швидкої дії + "\\u2022 Нова функція: кнопка швидкої дії \n \n • Покращена відповідь на жести сенсорного екрану \n diff --git a/OsmAnd/res/values-zh-rCN/strings.xml b/OsmAnd/res/values-zh-rCN/strings.xml index 0d1e23db23..e0b6a19278 100644 --- a/OsmAnd/res/values-zh-rCN/strings.xml +++ b/OsmAnd/res/values-zh-rCN/strings.xml @@ -1231,7 +1231,7 @@ 分享 暂停 通知 - \\022 地图上可点击的图标 + \\u2022 地图上可点击的图标 \n \n • 强大的兴趣点过滤搜索:例如,根据菜肴搜索餐馆,或者具有特定设施的场所 \n @@ -1303,7 +1303,7 @@ 浅棕色 深棕色 OSM 实时导航 - \\022 OSM 实时功能。支持地图贡献者和开发者获取每小时更新的地图。 + \\u2022 OSM 实时功能。支持地图贡献者和开发者获取每小时更新的地图。 \n \n • 地图标记。新的快速地图选点的方式。 \n @@ -1634,7 +1634,7 @@ 返回到搜索 你想要从历史中删除所选的项目吗? 在地图上显示 %1$s - \\022 新加入非常强大的自由文本查找 + \\u2022 新加入非常强大的自由文本查找 \n \n • 透过蓝牙集成汽车音响系统 / 电话扬声器 \n @@ -1745,7 +1745,7 @@ 应用程序没有权限访问摄像头。 应用程序没有访问麦克风的权限。 “关闭”会直接启动地图屏幕 - \\022 在地图上和其它屏幕上,为点击位置做了新的敏捷内容菜单用户界面 + \\u2022 在地图上和其它屏幕上,为点击位置做了新的敏捷内容菜单用户界面 \n \n • 地图屏幕上现在除了直接启动外,还有\'在应用程序时启动显示仪表板\'可选 \n @@ -1771,7 +1771,7 @@ "阿尔巴尼亚 (Tosk)" 世界底图(涵盖整个世界的缩小版)可能存在丢失或过期。请考虑下载它的全球概览。 已下载 %1$s 的地图,你现在可以开始使用它。 - "\\022 新功能:快速动作按钮 + "\\u2022 新功能:快速动作按钮 \n \n • 改进了触摸屏幕手势的回应(同时平移和缩放) \n diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index 516d18bc24..504895f61f 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -2109,7 +2109,7 @@ OsmAnd (Automated Navigation Directions) 是一個地圖和導航的應用程式 道路樣式 重新開啟 離線儲存 - \\022 在地圖上和其它螢幕上,為點擊位置做了新的敏捷內容選單使用者界面 + \\u2022 在地圖上和其它螢幕上,為點擊位置做了新的敏捷內容選單使用者界面 \n \n • 地圖螢幕上現在除了直接啟動外,還有\'在應用程式時啟動顯示儀表板\'可選 \n @@ -2284,7 +2284,7 @@ OsmAnd (Automated Navigation Directions) 是一個地圖和導航的應用程式 報告 檔案名稱含有違反規則的字符 現在應用程式允許寫入外部記憶體。應用程式需要手動重新啟動。 - "\\022 OSM 即時。支援地圖貢獻者和開發者和每小時獲得地圖更新。 + "\\u2022 OSM 即時。支援地圖貢獻者和開發者和每小時獲得地圖更新。 \n \n • 地圖標記。一種新的方式以快速在地圖上選擇地點。 \n @@ -2364,7 +2364,7 @@ OsmAnd (Automated Navigation Directions) 是一個地圖和導航的應用程式 在地圖上顯示 %1$s 查詢 %1$s 路線 - \\022 新加入非常強大的自由文字查詢 + \\u2022 新加入非常強大的自由文字查詢 \n \n • 透過藍牙集成汽車音響系統 / 電話揚聲器 \n @@ -2455,7 +2455,7 @@ OsmAnd (Automated Navigation Directions) 是一個地圖和導航的應用程式 暫停 OsMo 服務正在運行 通知 - \\022 在地圖上可點擊圖示 + \\u2022 在地圖上可點擊圖示 \n \n• 非常強大的 POI 篩選查詢:例如依菜餚找餐館或附有特定設施的露營場地 \n @@ -2583,7 +2583,7 @@ OsmAnd (Automated Navigation Directions) 是一個地圖和導航的應用程式 輕點動作按鈕會直達下面的清單。 自動分割錄製之後的間隙 如果日期已更改,開始新區段在6分鐘後的間隙,新軌跡在2小時後的間隙,或新檔案在更長的間隙之後。 - "\\022 新功能:快速動作按鈕 + "\\u2022 新功能:快速動作按鈕 \n \n • 改進了觸控螢幕手勢的回應(同時平移和縮放) \n @@ -2787,7 +2787,7 @@ OsmAnd (Automated Navigation Directions) 是一個地圖和導航的應用程式 範圍 = 最小/最大 最小/最大 - \\022 Mapillary 外掛元件與街道級影像 + \\u2022 Mapillary 外掛元件與街道級影像 \n \n • 用於距離測量的尺規小工具 \n From 3767523c1eca0d0241914b24c569ef91aebe949c Mon Sep 17 00:00:00 2001 From: PavelRatushny Date: Mon, 17 Jul 2017 11:53:09 +0300 Subject: [PATCH 055/140] Fix #3740 --- OsmAnd/src/net/osmand/plus/GpxSelectionHelper.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/GpxSelectionHelper.java b/OsmAnd/src/net/osmand/plus/GpxSelectionHelper.java index 5fcb91e40d..1bb939a116 100644 --- a/OsmAnd/src/net/osmand/plus/GpxSelectionHelper.java +++ b/OsmAnd/src/net/osmand/plus/GpxSelectionHelper.java @@ -528,9 +528,10 @@ public class GpxSelectionHelper { public void processPoints() { update(); this.processedPointsToDisplay = gpxFile.proccessPoints(); - if (this.processedPointsToDisplay.isEmpty()) { - this.processedPointsToDisplay = gpxFile.processRoutePoints(); - routePoints = !this.processedPointsToDisplay.isEmpty(); + List processedRoutePointsToDisplay = gpxFile.processRoutePoints(); + if (!processedRoutePointsToDisplay.isEmpty()) { + this.processedPointsToDisplay.addAll(processedRoutePointsToDisplay); + routePoints = !processedRoutePointsToDisplay.isEmpty(); } } From f158d89495533384e40bad9738b9037792d67472 Mon Sep 17 00:00:00 2001 From: Victor Shcherb Date: Mon, 17 Jul 2017 11:10:13 +0200 Subject: [PATCH 056/140] Fix formatting --- .../plus/quickaction/QuickActionFactory.java | 570 +++++++++--------- 1 file changed, 278 insertions(+), 292 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/quickaction/QuickActionFactory.java b/OsmAnd/src/net/osmand/plus/quickaction/QuickActionFactory.java index b3e099ea33..9afd153cf2 100644 --- a/OsmAnd/src/net/osmand/plus/quickaction/QuickActionFactory.java +++ b/OsmAnd/src/net/osmand/plus/quickaction/QuickActionFactory.java @@ -1,6 +1,5 @@ package net.osmand.plus.quickaction; - import android.support.annotation.DrawableRes; import android.support.annotation.StringRes; @@ -42,76 +41,65 @@ import java.util.List; public class QuickActionFactory { - public String quickActionListToString(List quickActions) { - + public String quickActionListToString(List quickActions) { return new Gson().toJson(quickActions); - } + } - public List parseActiveActionsList(String json) { + public List parseActiveActionsList(String json) { + Type type = new TypeToken>() { + }.getType(); + ArrayList quickActions = new Gson().fromJson(json, type); + return quickActions != null ? quickActions : new ArrayList(); + } - Type type = new TypeToken>() { - }.getType(); - ArrayList quickActions = new Gson().fromJson(json, type); + public static List produceTypeActionsListWithHeaders(List active) { + ArrayList quickActions = new ArrayList<>(); + quickActions.add(new QuickAction(0, R.string.quick_action_add_create_items)); + quickActions.add(new FavoriteAction()); + quickActions.add(new GPXAction()); + QuickAction marker = new MarkerAction(); - return quickActions != null ? quickActions : new ArrayList(); - } + if (!marker.hasInstanceInList(active)) { + quickActions.add(marker); + } - public static List produceTypeActionsListWithHeaders(List active) { + if (OsmandPlugin.getEnabledPlugin(AudioVideoNotesPlugin.class) != null) { + QuickAction audio = new TakeAudioNoteAction(); + QuickAction photo = new TakePhotoNoteAction(); + QuickAction video = new TakeVideoNoteAction(); - ArrayList quickActions = new ArrayList<>(); + if (!audio.hasInstanceInList(active)) { + quickActions.add(audio); + } - quickActions.add(new QuickAction(0, R.string.quick_action_add_create_items)); - quickActions.add(new FavoriteAction()); - quickActions.add(new GPXAction()); + if (!photo.hasInstanceInList(active)) { + quickActions.add(photo); + } - QuickAction marker = new MarkerAction(); + if (!video.hasInstanceInList(active)) { + quickActions.add(video); + } + } - if (!marker.hasInstanceInList(active)) { - quickActions.add(marker); - } + if (OsmandPlugin.getEnabledPlugin(OsmEditingPlugin.class) != null) { + quickActions.add(new AddPOIAction()); + quickActions.add(new AddOSMBugAction()); + } - if (OsmandPlugin.getEnabledPlugin(AudioVideoNotesPlugin.class) != null) { + if (OsmandPlugin.getEnabledPlugin(ParkingPositionPlugin.class) != null) { + QuickAction parking = new ParkingAction(); + if (!parking.hasInstanceInList(active)) { + quickActions.add(parking); + } + } - QuickAction audio = new TakeAudioNoteAction(); - QuickAction photo = new TakePhotoNoteAction(); - QuickAction video = new TakeVideoNoteAction(); - - if (!audio.hasInstanceInList(active)) { - quickActions.add(audio); - } - - if (!photo.hasInstanceInList(active)) { - quickActions.add(photo); - } - - if (!video.hasInstanceInList(active)) { - quickActions.add(video); - } - } - - if (OsmandPlugin.getEnabledPlugin(OsmEditingPlugin.class) != null) { - quickActions.add(new AddPOIAction()); - quickActions.add(new AddOSMBugAction()); - } - - if (OsmandPlugin.getEnabledPlugin(ParkingPositionPlugin.class) != null) { - - QuickAction parking = new ParkingAction(); - - if (!parking.hasInstanceInList(active)) { - quickActions.add(parking); - } - } - - quickActions.add(new QuickAction(0, R.string.quick_action_add_configure_map)); - - QuickAction favorites = new ShowHideFavoritesAction(); - if (!favorites.hasInstanceInList(active)) { - quickActions.add(favorites); - } - - quickActions.add(new ShowHidePoiAction()); + quickActions.add(new QuickAction(0, R.string.quick_action_add_configure_map)); + QuickAction favorites = new ShowHideFavoritesAction(); + if (!favorites.hasInstanceInList(active)) { + quickActions.add(favorites); + } + quickActions.add(new ShowHidePoiAction()); if (OsmandPlugin.getEnabledPlugin(OsmEditingPlugin.class) != null) { QuickAction showHideOSMBugAction = new ShowHideOSMBugAction(); if (!showHideOSMBugAction.hasInstanceInList(active)) { @@ -120,15 +108,13 @@ public class QuickActionFactory { } quickActions.add(new MapStyleAction()); + if (OsmandPlugin.getEnabledPlugin(OsmandRasterMapsPlugin.class) != null) { + quickActions.add(new MapSourceAction()); + quickActions.add(new MapOverlayAction()); + quickActions.add(new MapUnderlayAction()); + } - if (OsmandPlugin.getEnabledPlugin(OsmandRasterMapsPlugin.class) != null) { - - quickActions.add(new MapSourceAction()); - quickActions.add(new MapOverlayAction()); - quickActions.add(new MapUnderlayAction()); - } - - QuickAction voice = new NavVoiceAction(); + QuickAction voice = new NavVoiceAction(); QuickAction addDestination = new NavAddDestinationAction(); QuickAction addFirstIntermediate = new NavAddFirstIntermediateAction(); QuickAction replaceDestination = new NavReplaceDestinationAction(); @@ -136,9 +122,9 @@ public class QuickActionFactory { ArrayList navigationQuickActions = new ArrayList<>(); - if (!voice.hasInstanceInList(active)) { - navigationQuickActions.add(voice); - } + if (!voice.hasInstanceInList(active)) { + navigationQuickActions.add(voice); + } if (!addDestination.hasInstanceInList(active)) { navigationQuickActions.add(addDestination); } @@ -157,331 +143,331 @@ public class QuickActionFactory { quickActions.addAll(navigationQuickActions); } - return quickActions; - } + } - public static QuickAction newActionByType(int type) { + public static QuickAction newActionByType(int type) { - switch (type) { + switch (type) { - case NewAction.TYPE: - return new NewAction(); + case NewAction.TYPE: + return new NewAction(); - case MarkerAction.TYPE: - return new MarkerAction(); + case MarkerAction.TYPE: + return new MarkerAction(); - case FavoriteAction.TYPE: - return new FavoriteAction(); + case FavoriteAction.TYPE: + return new FavoriteAction(); - case ShowHideFavoritesAction.TYPE: - return new ShowHideFavoritesAction(); + case ShowHideFavoritesAction.TYPE: + return new ShowHideFavoritesAction(); - case ShowHidePoiAction.TYPE: - return new ShowHidePoiAction(); + case ShowHidePoiAction.TYPE: + return new ShowHidePoiAction(); - case GPXAction.TYPE: - return new GPXAction(); + case GPXAction.TYPE: + return new GPXAction(); - case ParkingAction.TYPE: - return new ParkingAction(); + case ParkingAction.TYPE: + return new ParkingAction(); - case TakeAudioNoteAction.TYPE: - return new TakeAudioNoteAction(); + case TakeAudioNoteAction.TYPE: + return new TakeAudioNoteAction(); - case TakePhotoNoteAction.TYPE: - return new TakePhotoNoteAction(); + case TakePhotoNoteAction.TYPE: + return new TakePhotoNoteAction(); - case TakeVideoNoteAction.TYPE: - return new TakeVideoNoteAction(); + case TakeVideoNoteAction.TYPE: + return new TakeVideoNoteAction(); - case NavVoiceAction.TYPE: - return new NavVoiceAction(); + case NavVoiceAction.TYPE: + return new NavVoiceAction(); - case ShowHideOSMBugAction.TYPE: - return new ShowHideOSMBugAction(); + case ShowHideOSMBugAction.TYPE: + return new ShowHideOSMBugAction(); - case AddOSMBugAction.TYPE: - return new AddOSMBugAction(); + case AddOSMBugAction.TYPE: + return new AddOSMBugAction(); - case AddPOIAction.TYPE: - return new AddPOIAction(); + case AddPOIAction.TYPE: + return new AddPOIAction(); - case MapStyleAction.TYPE: - return new MapStyleAction(); + case MapStyleAction.TYPE: + return new MapStyleAction(); - case MapSourceAction.TYPE: - return new MapSourceAction(); + case MapSourceAction.TYPE: + return new MapSourceAction(); - case MapOverlayAction.TYPE: - return new MapOverlayAction(); + case MapOverlayAction.TYPE: + return new MapOverlayAction(); - case MapUnderlayAction.TYPE: - return new MapUnderlayAction(); + case MapUnderlayAction.TYPE: + return new MapUnderlayAction(); - case NavAddDestinationAction.TYPE: - return new NavAddDestinationAction(); + case NavAddDestinationAction.TYPE: + return new NavAddDestinationAction(); - case NavAddFirstIntermediateAction.TYPE: - return new NavAddFirstIntermediateAction(); + case NavAddFirstIntermediateAction.TYPE: + return new NavAddFirstIntermediateAction(); - case NavReplaceDestinationAction.TYPE: - return new NavReplaceDestinationAction(); + case NavReplaceDestinationAction.TYPE: + return new NavReplaceDestinationAction(); - case NavAutoZoomMapAction.TYPE: - return new NavAutoZoomMapAction(); + case NavAutoZoomMapAction.TYPE: + return new NavAutoZoomMapAction(); - default: - return new QuickAction(); - } - } + default: + return new QuickAction(); + } + } - public static QuickAction produceAction(QuickAction quickAction) { + public static QuickAction produceAction(QuickAction quickAction) { - switch (quickAction.type) { + switch (quickAction.type) { - case NewAction.TYPE: - return new NewAction(quickAction); + case NewAction.TYPE: + return new NewAction(quickAction); - case MarkerAction.TYPE: - return new MarkerAction(quickAction); + case MarkerAction.TYPE: + return new MarkerAction(quickAction); - case FavoriteAction.TYPE: - return new FavoriteAction(quickAction); + case FavoriteAction.TYPE: + return new FavoriteAction(quickAction); - case ShowHideFavoritesAction.TYPE: - return new ShowHideFavoritesAction(quickAction); + case ShowHideFavoritesAction.TYPE: + return new ShowHideFavoritesAction(quickAction); - case ShowHidePoiAction.TYPE: - return new ShowHidePoiAction(quickAction); + case ShowHidePoiAction.TYPE: + return new ShowHidePoiAction(quickAction); - case GPXAction.TYPE: - return new GPXAction(quickAction); + case GPXAction.TYPE: + return new GPXAction(quickAction); - case ParkingAction.TYPE: - return new ParkingAction(quickAction); + case ParkingAction.TYPE: + return new ParkingAction(quickAction); - case TakeAudioNoteAction.TYPE: - return new TakeAudioNoteAction(quickAction); + case TakeAudioNoteAction.TYPE: + return new TakeAudioNoteAction(quickAction); - case TakePhotoNoteAction.TYPE: - return new TakePhotoNoteAction(quickAction); + case TakePhotoNoteAction.TYPE: + return new TakePhotoNoteAction(quickAction); - case TakeVideoNoteAction.TYPE: - return new TakeVideoNoteAction(quickAction); + case TakeVideoNoteAction.TYPE: + return new TakeVideoNoteAction(quickAction); - case NavVoiceAction.TYPE: - return new NavVoiceAction(quickAction); + case NavVoiceAction.TYPE: + return new NavVoiceAction(quickAction); - case ShowHideOSMBugAction.TYPE: - return new ShowHideOSMBugAction(quickAction); + case ShowHideOSMBugAction.TYPE: + return new ShowHideOSMBugAction(quickAction); - case AddOSMBugAction.TYPE: - return new AddOSMBugAction(quickAction); + case AddOSMBugAction.TYPE: + return new AddOSMBugAction(quickAction); - case AddPOIAction.TYPE: - return new AddPOIAction(quickAction); + case AddPOIAction.TYPE: + return new AddPOIAction(quickAction); - case MapStyleAction.TYPE: - return new MapStyleAction(quickAction); + case MapStyleAction.TYPE: + return new MapStyleAction(quickAction); - case MapSourceAction.TYPE: - return new MapSourceAction(quickAction); + case MapSourceAction.TYPE: + return new MapSourceAction(quickAction); - case MapOverlayAction.TYPE: - return new MapOverlayAction(quickAction); + case MapOverlayAction.TYPE: + return new MapOverlayAction(quickAction); - case MapUnderlayAction.TYPE: - return new MapUnderlayAction(quickAction); + case MapUnderlayAction.TYPE: + return new MapUnderlayAction(quickAction); - case NavAddDestinationAction.TYPE: - return new NavAddDestinationAction(quickAction); + case NavAddDestinationAction.TYPE: + return new NavAddDestinationAction(quickAction); - case NavAddFirstIntermediateAction.TYPE: - return new NavAddFirstIntermediateAction(quickAction); + case NavAddFirstIntermediateAction.TYPE: + return new NavAddFirstIntermediateAction(quickAction); - case NavReplaceDestinationAction.TYPE: - return new NavReplaceDestinationAction(quickAction); + case NavReplaceDestinationAction.TYPE: + return new NavReplaceDestinationAction(quickAction); - case NavAutoZoomMapAction.TYPE: - return new NavAutoZoomMapAction(quickAction); + case NavAutoZoomMapAction.TYPE: + return new NavAutoZoomMapAction(quickAction); - default: - return quickAction; - } - } + default: + return quickAction; + } + } - public static @DrawableRes int getActionIcon(int type) { + public static @DrawableRes int getActionIcon(int type) { - switch (type) { + switch (type) { - case NewAction.TYPE: - return R.drawable.ic_action_plus; + case NewAction.TYPE: + return R.drawable.ic_action_plus; - case MarkerAction.TYPE: - return R.drawable.ic_action_flag_dark; + case MarkerAction.TYPE: + return R.drawable.ic_action_flag_dark; - case FavoriteAction.TYPE: - return R.drawable.ic_action_fav_dark; + case FavoriteAction.TYPE: + return R.drawable.ic_action_fav_dark; - case ShowHideFavoritesAction.TYPE: - return R.drawable.ic_action_fav_dark; + case ShowHideFavoritesAction.TYPE: + return R.drawable.ic_action_fav_dark; - case ShowHidePoiAction.TYPE: - return R.drawable.ic_action_gabout_dark; + case ShowHidePoiAction.TYPE: + return R.drawable.ic_action_gabout_dark; - case GPXAction.TYPE: - return R.drawable.ic_action_flag_dark; + case GPXAction.TYPE: + return R.drawable.ic_action_flag_dark; - case ParkingAction.TYPE: - return R.drawable.ic_action_parking_dark; + case ParkingAction.TYPE: + return R.drawable.ic_action_parking_dark; - case TakeAudioNoteAction.TYPE: - return R.drawable.ic_action_micro_dark; + case TakeAudioNoteAction.TYPE: + return R.drawable.ic_action_micro_dark; - case TakePhotoNoteAction.TYPE: - return R.drawable.ic_action_photo_dark; + case TakePhotoNoteAction.TYPE: + return R.drawable.ic_action_photo_dark; - case TakeVideoNoteAction.TYPE: - return R.drawable.ic_action_video_dark; + case TakeVideoNoteAction.TYPE: + return R.drawable.ic_action_video_dark; - case NavVoiceAction.TYPE: - return R.drawable.ic_action_volume_up; + case NavVoiceAction.TYPE: + return R.drawable.ic_action_volume_up; - case ShowHideOSMBugAction.TYPE: - return R.drawable.ic_action_bug_dark; + case ShowHideOSMBugAction.TYPE: + return R.drawable.ic_action_bug_dark; - case AddOSMBugAction.TYPE: - return R.drawable.ic_action_bug_dark; + case AddOSMBugAction.TYPE: + return R.drawable.ic_action_bug_dark; - case AddPOIAction.TYPE: - return R.drawable.ic_action_gabout_dark; + case AddPOIAction.TYPE: + return R.drawable.ic_action_gabout_dark; - case MapStyleAction.TYPE: - return R.drawable.ic_map; + case MapStyleAction.TYPE: + return R.drawable.ic_map; - case MapSourceAction.TYPE: - return R.drawable.ic_world_globe_dark; + case MapSourceAction.TYPE: + return R.drawable.ic_world_globe_dark; - case MapOverlayAction.TYPE: - return R.drawable.ic_layer_top_dark; + case MapOverlayAction.TYPE: + return R.drawable.ic_layer_top_dark; - case MapUnderlayAction.TYPE: - return R.drawable.ic_layer_bottom_dark; + case MapUnderlayAction.TYPE: + return R.drawable.ic_layer_bottom_dark; - case NavAddDestinationAction.TYPE: - return R.drawable.ic_action_target; + case NavAddDestinationAction.TYPE: + return R.drawable.ic_action_target; - case NavAddFirstIntermediateAction.TYPE: - return R.drawable.ic_action_intermediate; + case NavAddFirstIntermediateAction.TYPE: + return R.drawable.ic_action_intermediate; - case NavReplaceDestinationAction.TYPE: - return R.drawable.ic_action_target; + case NavReplaceDestinationAction.TYPE: + return R.drawable.ic_action_target; - case NavAutoZoomMapAction.TYPE: - return R.drawable.ic_action_search_dark; + case NavAutoZoomMapAction.TYPE: + return R.drawable.ic_action_search_dark; - default: - return R.drawable.ic_action_plus; - } - } + default: + return R.drawable.ic_action_plus; + } + } - public static @StringRes int getActionName(int type) { + public static @StringRes int getActionName(int type) { - switch (type) { + switch (type) { - case NewAction.TYPE: - return R.string.quick_action_new_action; + case NewAction.TYPE: + return R.string.quick_action_new_action; - case MarkerAction.TYPE: - return R.string.quick_action_add_marker; + case MarkerAction.TYPE: + return R.string.quick_action_add_marker; - case FavoriteAction.TYPE: - return R.string.quick_action_add_favorite; + case FavoriteAction.TYPE: + return R.string.quick_action_add_favorite; - case ShowHideFavoritesAction.TYPE: - return R.string.quick_action_showhide_favorites_title; + case ShowHideFavoritesAction.TYPE: + return R.string.quick_action_showhide_favorites_title; - case ShowHidePoiAction.TYPE: - return R.string.quick_action_showhide_poi_title; + case ShowHidePoiAction.TYPE: + return R.string.quick_action_showhide_poi_title; - case GPXAction.TYPE: - return R.string.quick_action_add_gpx; + case GPXAction.TYPE: + return R.string.quick_action_add_gpx; - case ParkingAction.TYPE: - return R.string.quick_action_add_parking; + case ParkingAction.TYPE: + return R.string.quick_action_add_parking; - case TakeAudioNoteAction.TYPE: - return R.string.quick_action_take_audio_note; + case TakeAudioNoteAction.TYPE: + return R.string.quick_action_take_audio_note; - case TakePhotoNoteAction.TYPE: - return R.string.quick_action_take_photo_note; + case TakePhotoNoteAction.TYPE: + return R.string.quick_action_take_photo_note; - case TakeVideoNoteAction.TYPE: - return R.string.quick_action_take_video_note; + case TakeVideoNoteAction.TYPE: + return R.string.quick_action_take_video_note; - case NavVoiceAction.TYPE: - return R.string.quick_action_navigation_voice; + case NavVoiceAction.TYPE: + return R.string.quick_action_navigation_voice; - case ShowHideOSMBugAction.TYPE: - return R.string.quick_action_showhide_osmbugs_title; + case ShowHideOSMBugAction.TYPE: + return R.string.quick_action_showhide_osmbugs_title; - case AddOSMBugAction.TYPE: - return R.string.quick_action_add_osm_bug; + case AddOSMBugAction.TYPE: + return R.string.quick_action_add_osm_bug; - case AddPOIAction.TYPE: - return R.string.quick_action_add_poi; + case AddPOIAction.TYPE: + return R.string.quick_action_add_poi; - case MapStyleAction.TYPE: - return R.string.quick_action_map_style; + case MapStyleAction.TYPE: + return R.string.quick_action_map_style; - case MapSourceAction.TYPE: - return R.string.quick_action_map_source; + case MapSourceAction.TYPE: + return R.string.quick_action_map_source; - case MapOverlayAction.TYPE: - return R.string.quick_action_map_overlay; + case MapOverlayAction.TYPE: + return R.string.quick_action_map_overlay; - case MapUnderlayAction.TYPE: - return R.string.quick_action_map_underlay; + case MapUnderlayAction.TYPE: + return R.string.quick_action_map_underlay; - case NavAddDestinationAction.TYPE: - return R.string.quick_action_add_destination; + case NavAddDestinationAction.TYPE: + return R.string.quick_action_add_destination; - case NavAddFirstIntermediateAction.TYPE: - return R.string.quick_action_add_first_intermediate; + case NavAddFirstIntermediateAction.TYPE: + return R.string.quick_action_add_first_intermediate; - case NavReplaceDestinationAction.TYPE: - return R.string.quick_action_replace_destination; + case NavReplaceDestinationAction.TYPE: + return R.string.quick_action_replace_destination; - case NavAutoZoomMapAction.TYPE: - return R.string.quick_action_auto_zoom; + case NavAutoZoomMapAction.TYPE: + return R.string.quick_action_auto_zoom; - default: - return R.string.quick_action_new_action; - } - } + default: + return R.string.quick_action_new_action; + } + } - public static boolean isActionEditable(int type) { + public static boolean isActionEditable(int type) { - switch (type) { + switch (type) { - case NewAction.TYPE: - case MarkerAction.TYPE: - case ShowHideFavoritesAction.TYPE: - case ShowHidePoiAction.TYPE: - case ParkingAction.TYPE: - case TakeAudioNoteAction.TYPE: - case TakePhotoNoteAction.TYPE: - case TakeVideoNoteAction.TYPE: - case NavVoiceAction.TYPE: - case NavAddDestinationAction.TYPE: - case NavAddFirstIntermediateAction.TYPE: - case NavReplaceDestinationAction.TYPE: - case NavAutoZoomMapAction.TYPE: - case ShowHideOSMBugAction.TYPE: - return false; + case NewAction.TYPE: + case MarkerAction.TYPE: + case ShowHideFavoritesAction.TYPE: + case ShowHidePoiAction.TYPE: + case ParkingAction.TYPE: + case TakeAudioNoteAction.TYPE: + case TakePhotoNoteAction.TYPE: + case TakeVideoNoteAction.TYPE: + case NavVoiceAction.TYPE: + case NavAddDestinationAction.TYPE: + case NavAddFirstIntermediateAction.TYPE: + case NavReplaceDestinationAction.TYPE: + case NavAutoZoomMapAction.TYPE: + case ShowHideOSMBugAction.TYPE: + return false; - default: return true; - } - } + default: + return true; + } + } } From 4d4e2481f07eaf7d15e1f446a1bba041489432cc Mon Sep 17 00:00:00 2001 From: ezjerry liao Date: Sun, 16 Jul 2017 12:08:52 +0000 Subject: [PATCH 057/140] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (2358 of 2358 strings) --- OsmAnd/res/values-zh-rTW/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index 516d18bc24..940f4c4a49 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -2787,7 +2787,7 @@ OsmAnd (Automated Navigation Directions) 是一個地圖和導航的應用程式 範圍 = 最小/最大 最小/最大 - \\022 Mapillary 外掛元件與街道級影像 + \\022 Mapillary 外掛元件與街道等級影像 \n \n • 用於距離測量的尺規小工具 \n From a6deeecc67a5beafa928a6d6ddfdb6d47d986f6e Mon Sep 17 00:00:00 2001 From: jan madsen Date: Sat, 15 Jul 2017 19:56:21 +0000 Subject: [PATCH 058/140] Translated using Weblate (Danish) Currently translated at 100.0% (2358 of 2358 strings) --- OsmAnd/res/values-da/strings.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index 618374a554..eb8dac7324 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -2795,14 +2795,14 @@ Tidligere destination bliver sidste mellemliggende punkt. Interval = min/maks Min/maks - \\022 Mapillary udvidelse med billeder på gadeniveau -\n + \\022 Mapillary udvidelse med billeder på gadeniveau +\n \n • Lineal modul til afstandsmåling -\n -\n• GPX split intervaller med detaljeret info om spor -\n +\n +\n • GPX split intervaller med detaljeret info om spor +\n \n • Andre forbedringer og fejlrettelser \n \n - Gennemsigtig pink + Gennemsigtig lyserød From 397b0447a581b04669866eb911637bf27f9a6352 Mon Sep 17 00:00:00 2001 From: Ldm Public Date: Sun, 16 Jul 2017 18:08:00 +0000 Subject: [PATCH 059/140] Translated using Weblate (French) Currently translated at 98.4% (2321 of 2358 strings) --- OsmAnd/res/values-fr/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml index 30b807cc95..d522be3e59 100644 --- a/OsmAnd/res/values-fr/strings.xml +++ b/OsmAnd/res/values-fr/strings.xml @@ -944,7 +944,7 @@ Fonctionnalités principales : Étape %1$s Itinéraire Étape %1$s trop éloignée de la route la plus proche. - Vous avez atteint l\'étape intermédiaire + Vous êtes arrivés à l\'étape intermédiaire Ajouter comme étape Étape Point d\'arrivée trop éloigné de la route la plus proche. @@ -2848,4 +2848,5 @@ Fonctionnalités principales : %1$d de %2$d Durée de déplacement Min / Max + Rose translucide From 4f0c24dc756e9f31a30c7d3637ffbcbafcec6414 Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Sun, 16 Jul 2017 17:53:34 +0000 Subject: [PATCH 060/140] Translated using Weblate (Hebrew) Currently translated at 36.8% (869 of 2358 strings) --- OsmAnd/res/values-he/strings.xml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-he/strings.xml b/OsmAnd/res/values-he/strings.xml index 7aa01e0bf2..648d9c9acc 100644 --- a/OsmAnd/res/values-he/strings.xml +++ b/OsmAnd/res/values-he/strings.xml @@ -1,4 +1,5 @@ - + + לא כן סגירת ערכת השינויים @@ -1199,4 +1200,17 @@ נא להזין כתובת דוא״ל חוקית נא להזין שם פומבי תשלום חודשי - \ No newline at end of file + אחסון המסלולים המוקלטים בתיקיות לפי חודש + איפוס + רענון + יש לרענן את האריחים כדי לראות מידע עדכני. + מטמון האריחים + שם המשתמש שגוי! + עד + מ־ + הצגת תמונות שנוספו בתקופה מסוימת. + תאריכים + הקלדת שם משתמש + הצגת תמונות שנוספו על ידי משתמש מסוים. + שם משתמש + From 2f77ab4837c02ae4b323ef76682b850ae77efe69 Mon Sep 17 00:00:00 2001 From: 8c6311e901274f6baef2068792c8ab Date: Sun, 16 Jul 2017 11:12:18 +0000 Subject: [PATCH 061/140] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 85.8% (2024 of 2358 strings) --- OsmAnd/res/values-nb/strings.xml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-nb/strings.xml b/OsmAnd/res/values-nb/strings.xml index 01afaafa30..9e5cadddf7 100644 --- a/OsmAnd/res/values-nb/strings.xml +++ b/OsmAnd/res/values-nb/strings.xml @@ -1,4 +1,5 @@ - + + Velg fargeskjema for veier: Veifargeskjema Vis retning til målet @@ -353,7 +354,7 @@ Velg alle Raskeste rute - "Aktiver for å beregne raskeste rute eller deaktiver for drivstoffbesparende rute " + Aktiver for å beregne raskeste rute eller deaktiver for drivstoffbesparende rute Ved zoom {0} last ned {1} fliser ({2} MB) Last ned kart Vektor-opptegning @@ -1868,7 +1869,7 @@ Turopptak (ingen data) Vis merknader som lar deg starte en tur ved å trykke opptaksknappen Minimumshastighet for logging - Still inn minimumshastighet for at et punkt skal logges + Filter: Still inn minimumshastighet for at et punkt skal logges Logging ved bevegelsesoppdagelse Angi minste avstand fra siste posisjon for at et punkt skal logges Minste loggingspresisjon @@ -2280,4 +2281,5 @@ Representerer området: %1$s x %2$s Datoer Skriv inn brukernavn Brukernavn - \ No newline at end of file + Tilbakestill + From 1da55a25908e002850ab18abdaa7b0dc9fd7ebc7 Mon Sep 17 00:00:00 2001 From: Ajeje Brazorf Date: Sun, 16 Jul 2017 17:56:20 +0000 Subject: [PATCH 062/140] Translated using Weblate (Sardinian) Currently translated at 100.0% (2358 of 2358 strings) --- OsmAnd/res/values-sc/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-sc/strings.xml b/OsmAnd/res/values-sc/strings.xml index 4b8929d7aa..7611cc140c 100644 --- a/OsmAnd/res/values-sc/strings.xml +++ b/OsmAnd/res/values-sc/strings.xml @@ -2708,6 +2708,6 @@ Pro praghere iscrie su còdighe intreu \n \n Rosa translùtzidu - Mesanu/mèdiu + Mèdiu Ascendente/Discendente From f28cc54a7820585ed56ad13a810befb8d976282c Mon Sep 17 00:00:00 2001 From: Franco Date: Sun, 16 Jul 2017 13:06:47 +0000 Subject: [PATCH 063/140] Translated using Weblate (Spanish (American)) Currently translated at 100.0% (2358 of 2358 strings) --- OsmAnd/res/values-es-rUS/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-es-rUS/strings.xml b/OsmAnd/res/values-es-rUS/strings.xml index 7bb549208f..ab607ae964 100644 --- a/OsmAnd/res/values-es-rUS/strings.xml +++ b/OsmAnd/res/values-es-rUS/strings.xml @@ -2679,7 +2679,7 @@ Proporciona un código completo Rango = Min/Máx Min/Máx - \\022 Complemento de Mapillary con imágenes a nivel de calle + • Complemento de Mapillary con imágenes a nivel de calle \n \n • Control de regla para medir distancias \n From 363e8e4fae09a59bcb02b21b966a8e00ad0d31bb Mon Sep 17 00:00:00 2001 From: Franco Date: Sun, 16 Jul 2017 13:05:47 +0000 Subject: [PATCH 064/140] Translated using Weblate (Spanish (Argentina)) Currently translated at 100.0% (2358 of 2358 strings) --- OsmAnd/res/values-es-rAR/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml index 557322f73f..51c33a4225 100644 --- a/OsmAnd/res/values-es-rAR/strings.xml +++ b/OsmAnd/res/values-es-rAR/strings.xml @@ -2678,7 +2678,7 @@ Proporciona un código completo Rango = Min/Máx Min/Máx - \\022 Complemento de Mapillary con imágenes a nivel de calle + • Complemento de Mapillary con imágenes a nivel de calle \n \n • Control de regla para medir distancias \n From 5bdecb43878bde0a7aeeb4d8e4373f62eefcd543 Mon Sep 17 00:00:00 2001 From: Michael Wolf Date: Sun, 16 Jul 2017 21:07:58 +0000 Subject: [PATCH 065/140] Translated using Weblate (Upper Sorbian) Currently translated at 36.3% (857 of 2358 strings) --- OsmAnd/res/values-b+hsb/strings.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-b+hsb/strings.xml b/OsmAnd/res/values-b+hsb/strings.xml index e2b2bcbcee..0c2e62def8 100644 --- a/OsmAnd/res/values-b+hsb/strings.xml +++ b/OsmAnd/res/values-b+hsb/strings.xml @@ -1,4 +1,5 @@ - + + Bus Ćah Staw baterije @@ -903,4 +904,4 @@ Składowanska karta Format koordinatow Format za geografiske koordinaty - \ No newline at end of file + From e38f37ba1543d4d528d280fd8fbf8b5ae8ca6048 Mon Sep 17 00:00:00 2001 From: Franco Date: Sun, 16 Jul 2017 17:48:40 +0000 Subject: [PATCH 066/140] Translated using Weblate (Spanish (American)) Currently translated at 100.0% (3116 of 3116 strings) --- OsmAnd/res/values-es-rUS/phrases.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-es-rUS/phrases.xml b/OsmAnd/res/values-es-rUS/phrases.xml index 50c3a269d6..cb2491a23b 100644 --- a/OsmAnd/res/values-es-rUS/phrases.xml +++ b/OsmAnd/res/values-es-rUS/phrases.xml @@ -1927,7 +1927,7 @@ Militar De mezclilla (vaqueros/jeans) Hito histórico - De niños + Infantil Femenino Deportivo Masculino @@ -2842,7 +2842,7 @@ Tipo de calzado Tipo de hidrante Ubicación del hidrante - Fuente del agua + Origen del agua Forma de pago (peaje) Sonoro Tipo de cruce From 69b02ebf1b23692ffcbb50de69d0c6f7ee739dd2 Mon Sep 17 00:00:00 2001 From: Franco Date: Sun, 16 Jul 2017 17:47:11 +0000 Subject: [PATCH 067/140] Translated using Weblate (Spanish (Argentina)) Currently translated at 100.0% (3116 of 3116 strings) --- OsmAnd/res/values-es-rAR/phrases.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-es-rAR/phrases.xml b/OsmAnd/res/values-es-rAR/phrases.xml index 3ad88b75be..f0c0723ff7 100644 --- a/OsmAnd/res/values-es-rAR/phrases.xml +++ b/OsmAnd/res/values-es-rAR/phrases.xml @@ -2093,7 +2093,7 @@ De mezclilla (vaqueros/jeans) Hito histórico - De niños + Infantil Femenino Deportivo Masculino @@ -3079,7 +3079,7 @@ Tipo de calzado Tipo de hidrante Ubicación del hidrante - Fuente del agua + Origen del agua Forma de pago (peaje) Sonoro Tipo de cruce From d1de1e9be7cd4acf460c102900688554bdb45e71 Mon Sep 17 00:00:00 2001 From: PavelRatushny Date: Mon, 17 Jul 2017 12:38:30 +0300 Subject: [PATCH 068/140] Fix crash when tap on image in gpx overview --- .../net/osmand/plus/myplaces/TrackSegmentFragment.java | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/myplaces/TrackSegmentFragment.java b/OsmAnd/src/net/osmand/plus/myplaces/TrackSegmentFragment.java index 6efec111b1..2949c48091 100644 --- a/OsmAnd/src/net/osmand/plus/myplaces/TrackSegmentFragment.java +++ b/OsmAnd/src/net/osmand/plus/myplaces/TrackSegmentFragment.java @@ -134,7 +134,6 @@ public class TrackSegmentFragment extends OsmAndListFragment { private int defPointColor; private Paint paintIcon; private Bitmap pointSmall; - private GpxDisplayItem generalDisplayItem; private ImageView imageView; private RotatedTileBox rotatedTileBox; @@ -279,12 +278,12 @@ public class TrackSegmentFragment extends OsmAndListFragment { imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - LatLon location = new LatLon(generalDisplayItem.locationStart.lat, - generalDisplayItem.locationStart.lon); + LatLon location = new LatLon(getGpx().findPointToShow().getLatitude(), + getGpx().findPointToShow().getLongitude()); final OsmandSettings settings = app.getSettings(); settings.setMapLocationToShow(location.getLatitude(), location.getLongitude(), settings.getLastKnownMapZoom(), - new PointDescription(PointDescription.POINT_TYPE_WPT, generalDisplayItem.name), + new PointDescription(PointDescription.POINT_TYPE_WPT, getGpxDataItem().getFile().getName()), false, getRect() ); @@ -856,9 +855,6 @@ public class TrackSegmentFragment extends OsmAndListFragment { pager = (WrapContentHeightViewPager) row.findViewById(R.id.pager); } GpxDisplayItem item = getItem(position); - if (position == 0) { - generalDisplayItem = item; - } if (item != null) { pager.setAdapter(new GPXItemPagerAdapter(tabLayout, item)); if (create) { From b00ecf93063a9c8757a155bd1c851914375b52b4 Mon Sep 17 00:00:00 2001 From: PavelRatushny Date: Mon, 17 Jul 2017 13:12:15 +0300 Subject: [PATCH 069/140] Fix adding variables --- .../osmand/SecondSplashScreenFragment.java | 49 ++++++++++++------- 1 file changed, 32 insertions(+), 17 deletions(-) diff --git a/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java b/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java index 7f598417a7..76b01d9d78 100644 --- a/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java +++ b/OsmAnd/src/net/osmand/SecondSplashScreenFragment.java @@ -6,12 +6,14 @@ import android.os.Bundle; import android.os.Handler; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentActivity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.RelativeLayout; +import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; import net.osmand.plus.Version; import net.osmand.plus.activities.MapActivity; @@ -22,6 +24,12 @@ public class SecondSplashScreenFragment extends Fragment { public static boolean SHOW = true; private static final int SECOND_SPLASH_TIME_OUT = 5000; private boolean started = false; + private FragmentActivity activity; + private OsmandApplication app; + + public OsmandApplication getMyApplication() { + return ((OsmandApplication) activity.getApplication()); + } private boolean hasNavBar() { int id = getResources().getIdentifier("config_showNavigationBar", "bool", "android"); @@ -69,25 +77,26 @@ public class SecondSplashScreenFragment extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - RelativeLayout view = new RelativeLayout(getActivity()); + activity = getActivity(); + app = getMyApplication(); + + RelativeLayout view = new RelativeLayout(activity); view.setOnClickListener(null); view.setBackgroundColor(getResources().getColor(R.color.map_background_color_light)); ImageView logo = new ImageView(getContext()); - if (Version.isFreeVersion(((MapActivity) getActivity()).getMyApplication())) { + if (Version.isFreeVersion(app)) { logo.setImageDrawable(getResources().getDrawable(R.drawable.ic_logo_splash_osmand)); - } else if ((Version.isPaidVersion(((MapActivity) getActivity()).getMyApplication())) || - (Version.isDeveloperVersion(((MapActivity) getActivity()).getMyApplication()))) { + } else if (Version.isPaidVersion(app) || Version.isDeveloperVersion(app)) { logo.setImageDrawable(getResources().getDrawable(R.drawable.ic_logo_splash_osmand_plus)); } RelativeLayout.LayoutParams logoLayoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); logoLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP); logoLayoutParams.addRule(RelativeLayout.CENTER_HORIZONTAL); - ImageView text = new ImageView(getActivity()); - if (Version.isFreeVersion(((MapActivity) getActivity()).getMyApplication())) { + ImageView text = new ImageView(activity); + if (Version.isFreeVersion(app)) { text.setImageDrawable(getResources().getDrawable(R.drawable.image_text_osmand)); - } else if ((Version.isPaidVersion(((MapActivity) getActivity()).getMyApplication())) || - (Version.isDeveloperVersion(((MapActivity) getActivity()).getMyApplication()))) { + } else if (Version.isPaidVersion(app) || Version.isDeveloperVersion(app)) { text.setImageDrawable(getResources().getDrawable(R.drawable.image_text_osmand_plus)); } RelativeLayout.LayoutParams textLayoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); @@ -102,10 +111,10 @@ public class SecondSplashScreenFragment extends Fragment { int textPaddingLeft = 0; int textPaddingRight = 0; if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N_MR1) { - if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) { + if (AndroidUiHelper.getScreenOrientation(activity) == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) { logoPaddingLeft = getNavigationBarWidth(); textPaddingLeft = getNavigationBarWidth(); - } else if (AndroidUiHelper.getScreenOrientation(getActivity()) == ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE) { + } else if (AndroidUiHelper.getScreenOrientation(activity) == ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE) { logoPaddingRight = getNavigationBarWidth(); textPaddingRight = getNavigationBarWidth(); } @@ -128,19 +137,23 @@ public class SecondSplashScreenFragment extends Fragment { @Override public void onResume() { super.onResume(); - ((MapActivity)getActivity()).disableDrawer(); + if (activity instanceof MapActivity) { + ((MapActivity) activity).disableDrawer(); + } if (!started) { started = true; new Handler().postDelayed(new Runnable() { @Override public void run() { - ((MapActivity)getActivity()).setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); - if (((MapActivity)getActivity()).getMyApplication().getSettings().MAP_SCREEN_ORIENTATION.get() != getActivity().getRequestedOrientation()) { - getActivity().setRequestedOrientation(((MapActivity)getActivity()).getMyApplication().getSettings().MAP_SCREEN_ORIENTATION.get()); - // can't return from this method we are not sure if activity will be recreated or not + if (activity instanceof MapActivity) { + activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); + if (app.getSettings().MAP_SCREEN_ORIENTATION.get() != activity.getRequestedOrientation()) { + activity.setRequestedOrientation(app.getSettings().MAP_SCREEN_ORIENTATION.get()); + // can't return from this method we are not sure if activity will be recreated or not + } } - ((MapActivity)getActivity()).getSupportFragmentManager().beginTransaction().remove(SecondSplashScreenFragment.this).commitAllowingStateLoss(); + activity.getSupportFragmentManager().beginTransaction().remove(SecondSplashScreenFragment.this).commitAllowingStateLoss(); } }, SECOND_SPLASH_TIME_OUT); } @@ -149,6 +162,8 @@ public class SecondSplashScreenFragment extends Fragment { @Override public void onPause() { super.onPause(); - ((MapActivity)getActivity()).enableDrawer(); + if (activity instanceof MapActivity) { + ((MapActivity) activity).enableDrawer(); + } } } From 7dca44ddc4f67ba9fb2b00921157b67bbd7797f2 Mon Sep 17 00:00:00 2001 From: Viktar Vauchkevich Date: Mon, 17 Jul 2017 10:18:25 +0000 Subject: [PATCH 070/140] Translated using Weblate (Belarusian) Currently translated at 100.0% (2358 of 2358 strings) --- OsmAnd/res/values-be/strings.xml | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/OsmAnd/res/values-be/strings.xml b/OsmAnd/res/values-be/strings.xml index 772f8de72e..733d33e73a 100644 --- a/OsmAnd/res/values-be/strings.xml +++ b/OsmAnd/res/values-be/strings.xml @@ -1,4 +1,5 @@ -Без аўтаматычнага маштабаваньня + +Без аўтаматычнага маштабаваньня Буйней Для сярэдняга маштаба Драбней @@ -238,10 +239,10 @@ Вы ўжо абралі пункт прызначэньня: Пункты прызначэньня Прамежкавы пункт прызначэньня %1$s занадта далёка ад бліжэйшай дарогі. - Вы дасягнулі прамежкавага пункта прызначэньня + Вы дасягнулі прамежкавага пункта Дадаць прамежкавым пунктам прызначэньня Прамежкавы пункт прызначэньня - Канцавы пункт занадта далёка ад найбліжэйшай дарогі. + Канцавы пункт занадта далёка ад бліжэйшай дарогі. Дадаць тэг Пашыраны рэжым… Паркоўка @@ -380,7 +381,7 @@ Прапарцыйнай памяці %4$s МБ (Абмежаваньне Android %5$s МБ, Dalvik %6$s МБ). Усяго фізічнай памяці - Пачатковы пункт занадта далёка ад найбліжэйшай дарогі. + Пачатковы пункт занадта далёка ад бліжэйшай дарогі. Агульныя месцы Забраць машыну са стаянкі Папярэджаньне @@ -2798,4 +2799,14 @@ Адлегласць = Мін./Макс. Мін./Макс. - \ No newline at end of file + Паўпразрысты ружовы + \\022 Дадатак Mapillary з вулічнымі выявамі +\n +\n • Віджэт-лінейка для вымярэнняў дыстанцый +\n +\n • Раздзеленыя GPX-інтэрвалы з падрабязнай інфармацыяй аб вашым трэку +\n +\n • Іншыя паляпшэнні і выпраўленні хібаў +\n +\n + From afe5d6097f98f7ca12674894efe6bb489ed8444a Mon Sep 17 00:00:00 2001 From: Viktar Vauchkevich Date: Mon, 17 Jul 2017 10:24:44 +0000 Subject: [PATCH 071/140] Translated using Weblate (Belarusian (latin)) Currently translated at 100.0% (2358 of 2358 strings) --- OsmAnd/res/values-be-rBY/strings.xml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-be-rBY/strings.xml b/OsmAnd/res/values-be-rBY/strings.xml index 6729afa2a6..6ee54e4e5a 100644 --- a/OsmAnd/res/values-be-rBY/strings.xml +++ b/OsmAnd/res/values-be-rBY/strings.xml @@ -1,4 +1,5 @@ -Piešachodnyja pierachody + +Piešachodnyja pierachody Styl aŭtadaroh Pa zmoŭčańnі Aranžavy @@ -2749,4 +2750,14 @@ U vypadku, kali vy lubіcie OsmAnd і OSM і chočacie padtrymać jaho, heta іd Adliehlasć = Min./Maks. Min./Maks. - \ No newline at end of file + \\022 Dadatak Mapillary z vuličnymi vyjavami +\n +\n • Vidžet-liniejka dlia vymiarenniaŭ dystancyj +\n +\n • Razdzielienyja GPX-intervaly z padrabiaznaj infarmacyjaj ab vašym treku +\n +\n • Inšyja paliapšenni i vypraŭlienni chibaŭ +\n +\n + Paŭprazrysty ružovy + From 9ff379a5ccf5061cdbf5718538f18ff7ce7568bb Mon Sep 17 00:00:00 2001 From: Michael Wolf Date: Mon, 17 Jul 2017 10:24:02 +0000 Subject: [PATCH 072/140] Translated using Weblate (Upper Sorbian) Currently translated at 36.8% (870 of 2358 strings) --- OsmAnd/res/values-b+hsb/strings.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-b+hsb/strings.xml b/OsmAnd/res/values-b+hsb/strings.xml index 0c2e62def8..62fa29ee7e 100644 --- a/OsmAnd/res/values-b+hsb/strings.xml +++ b/OsmAnd/res/values-b+hsb/strings.xml @@ -276,8 +276,8 @@ Mjenje detailow Awtorizacija njewuspěšna Po mjenje sortować - "Přerězna spěšnosć: %1$s " - "Maksimalna spěšnosć: %1$s " + Přerězna spěšnosć: %1$s + Maksimalna spěšnosć: %1$s Přerězna wysokosć: %1$s Přizjewić Wužiwar @@ -381,7 +381,7 @@ Dróhowe mjena (TTS) Błyskače Wobchadne warnowanja - "Karta: " + Karta: šěr %1$.3f, doł %2$.3f Cil do: @@ -603,7 +603,7 @@ Tuchwilne srjedźišćo karty Wuchadźišćo: We wokolinje pytać - "Mjeno dataje: " + Mjeno dataje: Dataja ze samsnym mjenom hižo eksistuje. Doma Přećeljo From 22738b1a04309bfc0e8ce98baccc6187214cd01e Mon Sep 17 00:00:00 2001 From: Alexander Sytnyk Date: Mon, 17 Jul 2017 15:53:07 +0300 Subject: [PATCH 073/140] Change keyboard --- .../osmand/plus/search/QuickSearchCoordinatesFragment.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/search/QuickSearchCoordinatesFragment.java b/OsmAnd/src/net/osmand/plus/search/QuickSearchCoordinatesFragment.java index 7c331371ae..092dffcb11 100644 --- a/OsmAnd/src/net/osmand/plus/search/QuickSearchCoordinatesFragment.java +++ b/OsmAnd/src/net/osmand/plus/search/QuickSearchCoordinatesFragment.java @@ -43,8 +43,7 @@ import net.osmand.plus.dashboard.DashLocationFragment; import net.osmand.util.Algorithms; import net.osmand.util.MapUtils; -import static android.text.InputType.TYPE_CLASS_NUMBER; -import static android.text.InputType.TYPE_NUMBER_FLAG_DECIMAL; +import static android.text.InputType.TYPE_CLASS_PHONE; import static android.text.InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS; import static android.text.InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS; @@ -511,7 +510,7 @@ public class QuickSearchCoordinatesFragment extends DialogFragment implements Os private void setInputTypeDependingOnFormat(EditText[] editTexts) { for (EditText et : editTexts) { if (currentFormat == PointDescription.FORMAT_DEGREES) { - et.setInputType(TYPE_CLASS_NUMBER | TYPE_NUMBER_FLAG_DECIMAL); + et.setInputType(TYPE_CLASS_PHONE); } else { et.setInputType(TYPE_TEXT_FLAG_CAP_CHARACTERS | TYPE_TEXT_FLAG_NO_SUGGESTIONS); } From 01d2489c7346f9f94b090947134a69cb6b8602f1 Mon Sep 17 00:00:00 2001 From: Alexander Sytnyk Date: Mon, 17 Jul 2017 16:16:06 +0300 Subject: [PATCH 074/140] Fix #4002 --- .../quick_action_start_stop_navigation.xml | 65 +++ OsmAnd/res/values/strings.xml | 5 + .../dashboard/DashNavigationFragment.java | 3 +- .../notifications/NavigationNotification.java | 2 +- .../osmand/plus/quickaction/QuickAction.java | 4 + .../plus/quickaction/QuickActionFactory.java | 438 ++++++++++-------- .../plus/quickaction/QuickActionsWidget.java | 4 + .../actions/NavResumePauseAction.java | 77 +++ .../actions/NavStartStopAction.java | 91 ++++ .../osmand/plus/routing/RoutingHelper.java | 2 +- .../osmand/plus/views/MapControlsLayer.java | 6 +- 11 files changed, 491 insertions(+), 206 deletions(-) create mode 100644 OsmAnd/res/layout/quick_action_start_stop_navigation.xml create mode 100644 OsmAnd/src/net/osmand/plus/quickaction/actions/NavResumePauseAction.java create mode 100644 OsmAnd/src/net/osmand/plus/quickaction/actions/NavStartStopAction.java diff --git a/OsmAnd/res/layout/quick_action_start_stop_navigation.xml b/OsmAnd/res/layout/quick_action_start_stop_navigation.xml new file mode 100644 index 0000000000..d122d84d51 --- /dev/null +++ b/OsmAnd/res/layout/quick_action_start_stop_navigation.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 97f852d6e9..2e858e8342 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -9,6 +9,11 @@ 3. All your modified/created strings are in the top of the file (to make easier find what\'s translated). PLEASE: Have a look at http://code.google.com/p/osmand/wiki/UIConsistency, it may really improve your and our work :-) Thx - Hardy --> + Resume/Pause Navigation + Press this button to pause the navigation, or to resume it if it was already paused. + Show Finish navigation dialog + Start/Finish Navigation + Press this button to start the navigation, or to stop it if it was already started. Store recorded tracks in monthly folders Store recorded tracks in sub-folders per recording month (like 2017-01). Reset diff --git a/OsmAnd/src/net/osmand/plus/dashboard/DashNavigationFragment.java b/OsmAnd/src/net/osmand/plus/dashboard/DashNavigationFragment.java index 530d62163f..b988f9a3a0 100644 --- a/OsmAnd/src/net/osmand/plus/dashboard/DashNavigationFragment.java +++ b/OsmAnd/src/net/osmand/plus/dashboard/DashNavigationFragment.java @@ -1,7 +1,6 @@ package net.osmand.plus.dashboard; import android.content.DialogInterface; -import android.content.Intent; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AlertDialog; @@ -123,7 +122,7 @@ public class DashNavigationFragment extends DashBaseFragment { } else { routingHelper.setRoutePlanningMode(true); routingHelper.setFollowingMode(false); - routingHelper.setPauseNaviation(true); + routingHelper.setPauseNavigation(true); } updatePlayButton(routingHelper, map, play); map.getMapViewTrackingUtilities().switchToRoutePlanningMode(); diff --git a/OsmAnd/src/net/osmand/plus/notifications/NavigationNotification.java b/OsmAnd/src/net/osmand/plus/notifications/NavigationNotification.java index 6a438e6084..4e981d5822 100644 --- a/OsmAnd/src/net/osmand/plus/notifications/NavigationNotification.java +++ b/OsmAnd/src/net/osmand/plus/notifications/NavigationNotification.java @@ -64,7 +64,7 @@ public class NavigationNotification extends OsmandNotification { RoutingHelper routingHelper = app.getRoutingHelper(); routingHelper.setRoutePlanningMode(true); routingHelper.setFollowingMode(false); - routingHelper.setPauseNaviation(true); + routingHelper.setPauseNavigation(true); } }, new IntentFilter(OSMAND_PAUSE_NAVIGATION_SERVICE_ACTION)); diff --git a/OsmAnd/src/net/osmand/plus/quickaction/QuickAction.java b/OsmAnd/src/net/osmand/plus/quickaction/QuickAction.java index cbc794e94b..b7d5d87bf2 100644 --- a/OsmAnd/src/net/osmand/plus/quickaction/QuickAction.java +++ b/OsmAnd/src/net/osmand/plus/quickaction/QuickAction.java @@ -80,6 +80,10 @@ public class QuickAction { return isActionEditable; } + public boolean isActionEnable(OsmandApplication app) { + return true; + } + public String getName(Context context) { return name == null || name.isEmpty() ? nameRes > 0 ? context.getString(nameRes) : "" : name; } diff --git a/OsmAnd/src/net/osmand/plus/quickaction/QuickActionFactory.java b/OsmAnd/src/net/osmand/plus/quickaction/QuickActionFactory.java index 9afd153cf2..cfdc8029e5 100644 --- a/OsmAnd/src/net/osmand/plus/quickaction/QuickActionFactory.java +++ b/OsmAnd/src/net/osmand/plus/quickaction/QuickActionFactory.java @@ -28,6 +28,8 @@ import net.osmand.plus.quickaction.actions.NavAddDestinationAction; import net.osmand.plus.quickaction.actions.NavAddFirstIntermediateAction; import net.osmand.plus.quickaction.actions.NavAutoZoomMapAction; import net.osmand.plus.quickaction.actions.NavReplaceDestinationAction; +import net.osmand.plus.quickaction.actions.NavResumePauseAction; +import net.osmand.plus.quickaction.actions.NavStartStopAction; import net.osmand.plus.quickaction.actions.NavVoiceAction; import net.osmand.plus.quickaction.actions.NewAction; import net.osmand.plus.quickaction.actions.ShowHideFavoritesAction; @@ -119,6 +121,8 @@ public class QuickActionFactory { QuickAction addFirstIntermediate = new NavAddFirstIntermediateAction(); QuickAction replaceDestination = new NavReplaceDestinationAction(); QuickAction autoZoomMap = new NavAutoZoomMapAction(); + QuickAction startStopNavigation = new NavStartStopAction(); + QuickAction resumePauseNavigation = new NavResumePauseAction(); ArrayList navigationQuickActions = new ArrayList<>(); @@ -137,6 +141,12 @@ public class QuickActionFactory { if (!autoZoomMap.hasInstanceInList(active)) { navigationQuickActions.add(autoZoomMap); } + if (!startStopNavigation.hasInstanceInList(active)) { + navigationQuickActions.add(startStopNavigation); + } + if (!resumePauseNavigation.hasInstanceInList(active)) { + navigationQuickActions.add(resumePauseNavigation); + } if (navigationQuickActions.size() > 0) { quickActions.add(new QuickAction(0, R.string.quick_action_add_navigation)); @@ -150,74 +160,80 @@ public class QuickActionFactory { switch (type) { - case NewAction.TYPE: - return new NewAction(); + case NewAction.TYPE: + return new NewAction(); - case MarkerAction.TYPE: - return new MarkerAction(); + case MarkerAction.TYPE: + return new MarkerAction(); - case FavoriteAction.TYPE: - return new FavoriteAction(); + case FavoriteAction.TYPE: + return new FavoriteAction(); - case ShowHideFavoritesAction.TYPE: - return new ShowHideFavoritesAction(); + case ShowHideFavoritesAction.TYPE: + return new ShowHideFavoritesAction(); - case ShowHidePoiAction.TYPE: - return new ShowHidePoiAction(); + case ShowHidePoiAction.TYPE: + return new ShowHidePoiAction(); - case GPXAction.TYPE: - return new GPXAction(); + case GPXAction.TYPE: + return new GPXAction(); - case ParkingAction.TYPE: - return new ParkingAction(); + case ParkingAction.TYPE: + return new ParkingAction(); - case TakeAudioNoteAction.TYPE: - return new TakeAudioNoteAction(); + case TakeAudioNoteAction.TYPE: + return new TakeAudioNoteAction(); - case TakePhotoNoteAction.TYPE: - return new TakePhotoNoteAction(); + case TakePhotoNoteAction.TYPE: + return new TakePhotoNoteAction(); - case TakeVideoNoteAction.TYPE: - return new TakeVideoNoteAction(); + case TakeVideoNoteAction.TYPE: + return new TakeVideoNoteAction(); - case NavVoiceAction.TYPE: - return new NavVoiceAction(); + case NavVoiceAction.TYPE: + return new NavVoiceAction(); - case ShowHideOSMBugAction.TYPE: - return new ShowHideOSMBugAction(); + case ShowHideOSMBugAction.TYPE: + return new ShowHideOSMBugAction(); - case AddOSMBugAction.TYPE: - return new AddOSMBugAction(); + case AddOSMBugAction.TYPE: + return new AddOSMBugAction(); - case AddPOIAction.TYPE: - return new AddPOIAction(); + case AddPOIAction.TYPE: + return new AddPOIAction(); - case MapStyleAction.TYPE: - return new MapStyleAction(); + case MapStyleAction.TYPE: + return new MapStyleAction(); - case MapSourceAction.TYPE: - return new MapSourceAction(); + case MapSourceAction.TYPE: + return new MapSourceAction(); - case MapOverlayAction.TYPE: - return new MapOverlayAction(); + case MapOverlayAction.TYPE: + return new MapOverlayAction(); - case MapUnderlayAction.TYPE: - return new MapUnderlayAction(); + case MapUnderlayAction.TYPE: + return new MapUnderlayAction(); - case NavAddDestinationAction.TYPE: - return new NavAddDestinationAction(); + case NavAddDestinationAction.TYPE: + return new NavAddDestinationAction(); - case NavAddFirstIntermediateAction.TYPE: - return new NavAddFirstIntermediateAction(); + case NavAddFirstIntermediateAction.TYPE: + return new NavAddFirstIntermediateAction(); - case NavReplaceDestinationAction.TYPE: - return new NavReplaceDestinationAction(); + case NavReplaceDestinationAction.TYPE: + return new NavReplaceDestinationAction(); - case NavAutoZoomMapAction.TYPE: - return new NavAutoZoomMapAction(); + case NavAutoZoomMapAction.TYPE: + return new NavAutoZoomMapAction(); - default: - return new QuickAction(); + case NavStartStopAction.TYPE: + return new NavStartStopAction(); + + case NavResumePauseAction.TYPE: + return new NavResumePauseAction(); + + default: + return new QuickAction(); } } @@ -225,74 +241,80 @@ public class QuickActionFactory { switch (quickAction.type) { - case NewAction.TYPE: - return new NewAction(quickAction); + case NewAction.TYPE: + return new NewAction(quickAction); - case MarkerAction.TYPE: - return new MarkerAction(quickAction); + case MarkerAction.TYPE: + return new MarkerAction(quickAction); - case FavoriteAction.TYPE: - return new FavoriteAction(quickAction); + case FavoriteAction.TYPE: + return new FavoriteAction(quickAction); - case ShowHideFavoritesAction.TYPE: - return new ShowHideFavoritesAction(quickAction); + case ShowHideFavoritesAction.TYPE: + return new ShowHideFavoritesAction(quickAction); - case ShowHidePoiAction.TYPE: - return new ShowHidePoiAction(quickAction); + case ShowHidePoiAction.TYPE: + return new ShowHidePoiAction(quickAction); - case GPXAction.TYPE: - return new GPXAction(quickAction); + case GPXAction.TYPE: + return new GPXAction(quickAction); - case ParkingAction.TYPE: - return new ParkingAction(quickAction); + case ParkingAction.TYPE: + return new ParkingAction(quickAction); - case TakeAudioNoteAction.TYPE: - return new TakeAudioNoteAction(quickAction); + case TakeAudioNoteAction.TYPE: + return new TakeAudioNoteAction(quickAction); - case TakePhotoNoteAction.TYPE: - return new TakePhotoNoteAction(quickAction); + case TakePhotoNoteAction.TYPE: + return new TakePhotoNoteAction(quickAction); - case TakeVideoNoteAction.TYPE: - return new TakeVideoNoteAction(quickAction); + case TakeVideoNoteAction.TYPE: + return new TakeVideoNoteAction(quickAction); - case NavVoiceAction.TYPE: - return new NavVoiceAction(quickAction); + case NavVoiceAction.TYPE: + return new NavVoiceAction(quickAction); - case ShowHideOSMBugAction.TYPE: - return new ShowHideOSMBugAction(quickAction); + case ShowHideOSMBugAction.TYPE: + return new ShowHideOSMBugAction(quickAction); - case AddOSMBugAction.TYPE: - return new AddOSMBugAction(quickAction); + case AddOSMBugAction.TYPE: + return new AddOSMBugAction(quickAction); - case AddPOIAction.TYPE: - return new AddPOIAction(quickAction); + case AddPOIAction.TYPE: + return new AddPOIAction(quickAction); - case MapStyleAction.TYPE: - return new MapStyleAction(quickAction); + case MapStyleAction.TYPE: + return new MapStyleAction(quickAction); - case MapSourceAction.TYPE: - return new MapSourceAction(quickAction); + case MapSourceAction.TYPE: + return new MapSourceAction(quickAction); - case MapOverlayAction.TYPE: - return new MapOverlayAction(quickAction); + case MapOverlayAction.TYPE: + return new MapOverlayAction(quickAction); - case MapUnderlayAction.TYPE: - return new MapUnderlayAction(quickAction); + case MapUnderlayAction.TYPE: + return new MapUnderlayAction(quickAction); - case NavAddDestinationAction.TYPE: - return new NavAddDestinationAction(quickAction); + case NavAddDestinationAction.TYPE: + return new NavAddDestinationAction(quickAction); - case NavAddFirstIntermediateAction.TYPE: - return new NavAddFirstIntermediateAction(quickAction); + case NavAddFirstIntermediateAction.TYPE: + return new NavAddFirstIntermediateAction(quickAction); - case NavReplaceDestinationAction.TYPE: - return new NavReplaceDestinationAction(quickAction); + case NavReplaceDestinationAction.TYPE: + return new NavReplaceDestinationAction(quickAction); - case NavAutoZoomMapAction.TYPE: - return new NavAutoZoomMapAction(quickAction); + case NavAutoZoomMapAction.TYPE: + return new NavAutoZoomMapAction(quickAction); - default: - return quickAction; + case NavStartStopAction.TYPE: + return new NavStartStopAction(quickAction); + + case NavResumePauseAction.TYPE: + return new NavResumePauseAction(quickAction); + + default: + return quickAction; } } @@ -300,74 +322,80 @@ public class QuickActionFactory { switch (type) { - case NewAction.TYPE: - return R.drawable.ic_action_plus; + case NewAction.TYPE: + return R.drawable.ic_action_plus; - case MarkerAction.TYPE: - return R.drawable.ic_action_flag_dark; + case MarkerAction.TYPE: + return R.drawable.ic_action_flag_dark; - case FavoriteAction.TYPE: - return R.drawable.ic_action_fav_dark; + case FavoriteAction.TYPE: + return R.drawable.ic_action_fav_dark; - case ShowHideFavoritesAction.TYPE: - return R.drawable.ic_action_fav_dark; + case ShowHideFavoritesAction.TYPE: + return R.drawable.ic_action_fav_dark; - case ShowHidePoiAction.TYPE: - return R.drawable.ic_action_gabout_dark; + case ShowHidePoiAction.TYPE: + return R.drawable.ic_action_gabout_dark; - case GPXAction.TYPE: - return R.drawable.ic_action_flag_dark; + case GPXAction.TYPE: + return R.drawable.ic_action_flag_dark; - case ParkingAction.TYPE: - return R.drawable.ic_action_parking_dark; + case ParkingAction.TYPE: + return R.drawable.ic_action_parking_dark; - case TakeAudioNoteAction.TYPE: - return R.drawable.ic_action_micro_dark; + case TakeAudioNoteAction.TYPE: + return R.drawable.ic_action_micro_dark; - case TakePhotoNoteAction.TYPE: - return R.drawable.ic_action_photo_dark; + case TakePhotoNoteAction.TYPE: + return R.drawable.ic_action_photo_dark; - case TakeVideoNoteAction.TYPE: - return R.drawable.ic_action_video_dark; + case TakeVideoNoteAction.TYPE: + return R.drawable.ic_action_video_dark; - case NavVoiceAction.TYPE: - return R.drawable.ic_action_volume_up; + case NavVoiceAction.TYPE: + return R.drawable.ic_action_volume_up; - case ShowHideOSMBugAction.TYPE: - return R.drawable.ic_action_bug_dark; + case ShowHideOSMBugAction.TYPE: + return R.drawable.ic_action_bug_dark; - case AddOSMBugAction.TYPE: - return R.drawable.ic_action_bug_dark; + case AddOSMBugAction.TYPE: + return R.drawable.ic_action_bug_dark; - case AddPOIAction.TYPE: - return R.drawable.ic_action_gabout_dark; + case AddPOIAction.TYPE: + return R.drawable.ic_action_gabout_dark; - case MapStyleAction.TYPE: - return R.drawable.ic_map; + case MapStyleAction.TYPE: + return R.drawable.ic_map; - case MapSourceAction.TYPE: - return R.drawable.ic_world_globe_dark; + case MapSourceAction.TYPE: + return R.drawable.ic_world_globe_dark; - case MapOverlayAction.TYPE: - return R.drawable.ic_layer_top_dark; + case MapOverlayAction.TYPE: + return R.drawable.ic_layer_top_dark; - case MapUnderlayAction.TYPE: - return R.drawable.ic_layer_bottom_dark; + case MapUnderlayAction.TYPE: + return R.drawable.ic_layer_bottom_dark; - case NavAddDestinationAction.TYPE: - return R.drawable.ic_action_target; + case NavAddDestinationAction.TYPE: + return R.drawable.ic_action_target; - case NavAddFirstIntermediateAction.TYPE: - return R.drawable.ic_action_intermediate; + case NavAddFirstIntermediateAction.TYPE: + return R.drawable.ic_action_intermediate; - case NavReplaceDestinationAction.TYPE: - return R.drawable.ic_action_target; + case NavReplaceDestinationAction.TYPE: + return R.drawable.ic_action_target; - case NavAutoZoomMapAction.TYPE: - return R.drawable.ic_action_search_dark; + case NavAutoZoomMapAction.TYPE: + return R.drawable.ic_action_search_dark; - default: - return R.drawable.ic_action_plus; + case NavStartStopAction.TYPE: + return R.drawable.ic_action_start_navigation; + + case NavResumePauseAction.TYPE: + return R.drawable.ic_play_dark; + + default: + return R.drawable.ic_action_plus; } } @@ -375,74 +403,80 @@ public class QuickActionFactory { switch (type) { - case NewAction.TYPE: - return R.string.quick_action_new_action; + case NewAction.TYPE: + return R.string.quick_action_new_action; - case MarkerAction.TYPE: - return R.string.quick_action_add_marker; + case MarkerAction.TYPE: + return R.string.quick_action_add_marker; - case FavoriteAction.TYPE: - return R.string.quick_action_add_favorite; + case FavoriteAction.TYPE: + return R.string.quick_action_add_favorite; - case ShowHideFavoritesAction.TYPE: - return R.string.quick_action_showhide_favorites_title; + case ShowHideFavoritesAction.TYPE: + return R.string.quick_action_showhide_favorites_title; - case ShowHidePoiAction.TYPE: - return R.string.quick_action_showhide_poi_title; + case ShowHidePoiAction.TYPE: + return R.string.quick_action_showhide_poi_title; - case GPXAction.TYPE: - return R.string.quick_action_add_gpx; + case GPXAction.TYPE: + return R.string.quick_action_add_gpx; - case ParkingAction.TYPE: - return R.string.quick_action_add_parking; + case ParkingAction.TYPE: + return R.string.quick_action_add_parking; - case TakeAudioNoteAction.TYPE: - return R.string.quick_action_take_audio_note; + case TakeAudioNoteAction.TYPE: + return R.string.quick_action_take_audio_note; - case TakePhotoNoteAction.TYPE: - return R.string.quick_action_take_photo_note; + case TakePhotoNoteAction.TYPE: + return R.string.quick_action_take_photo_note; - case TakeVideoNoteAction.TYPE: - return R.string.quick_action_take_video_note; + case TakeVideoNoteAction.TYPE: + return R.string.quick_action_take_video_note; - case NavVoiceAction.TYPE: - return R.string.quick_action_navigation_voice; + case NavVoiceAction.TYPE: + return R.string.quick_action_navigation_voice; - case ShowHideOSMBugAction.TYPE: - return R.string.quick_action_showhide_osmbugs_title; + case ShowHideOSMBugAction.TYPE: + return R.string.quick_action_showhide_osmbugs_title; - case AddOSMBugAction.TYPE: - return R.string.quick_action_add_osm_bug; + case AddOSMBugAction.TYPE: + return R.string.quick_action_add_osm_bug; - case AddPOIAction.TYPE: - return R.string.quick_action_add_poi; + case AddPOIAction.TYPE: + return R.string.quick_action_add_poi; - case MapStyleAction.TYPE: - return R.string.quick_action_map_style; + case MapStyleAction.TYPE: + return R.string.quick_action_map_style; - case MapSourceAction.TYPE: - return R.string.quick_action_map_source; + case MapSourceAction.TYPE: + return R.string.quick_action_map_source; - case MapOverlayAction.TYPE: - return R.string.quick_action_map_overlay; + case MapOverlayAction.TYPE: + return R.string.quick_action_map_overlay; - case MapUnderlayAction.TYPE: - return R.string.quick_action_map_underlay; + case MapUnderlayAction.TYPE: + return R.string.quick_action_map_underlay; - case NavAddDestinationAction.TYPE: - return R.string.quick_action_add_destination; + case NavAddDestinationAction.TYPE: + return R.string.quick_action_add_destination; - case NavAddFirstIntermediateAction.TYPE: - return R.string.quick_action_add_first_intermediate; + case NavAddFirstIntermediateAction.TYPE: + return R.string.quick_action_add_first_intermediate; - case NavReplaceDestinationAction.TYPE: - return R.string.quick_action_replace_destination; + case NavReplaceDestinationAction.TYPE: + return R.string.quick_action_replace_destination; - case NavAutoZoomMapAction.TYPE: - return R.string.quick_action_auto_zoom; + case NavAutoZoomMapAction.TYPE: + return R.string.quick_action_auto_zoom; - default: - return R.string.quick_action_new_action; + case NavStartStopAction.TYPE: + return R.string.quick_action_start_stop_navigation; + + case NavResumePauseAction.TYPE: + return R.string.quick_action_resume_pause_navigation; + + default: + return R.string.quick_action_new_action; } } @@ -450,24 +484,26 @@ public class QuickActionFactory { switch (type) { - case NewAction.TYPE: - case MarkerAction.TYPE: - case ShowHideFavoritesAction.TYPE: - case ShowHidePoiAction.TYPE: - case ParkingAction.TYPE: - case TakeAudioNoteAction.TYPE: - case TakePhotoNoteAction.TYPE: - case TakeVideoNoteAction.TYPE: - case NavVoiceAction.TYPE: - case NavAddDestinationAction.TYPE: - case NavAddFirstIntermediateAction.TYPE: - case NavReplaceDestinationAction.TYPE: - case NavAutoZoomMapAction.TYPE: - case ShowHideOSMBugAction.TYPE: - return false; + case NewAction.TYPE: + case MarkerAction.TYPE: + case ShowHideFavoritesAction.TYPE: + case ShowHidePoiAction.TYPE: + case ParkingAction.TYPE: + case TakeAudioNoteAction.TYPE: + case TakePhotoNoteAction.TYPE: + case TakeVideoNoteAction.TYPE: + case NavVoiceAction.TYPE: + case NavAddDestinationAction.TYPE: + case NavAddFirstIntermediateAction.TYPE: + case NavReplaceDestinationAction.TYPE: + case NavAutoZoomMapAction.TYPE: + case ShowHideOSMBugAction.TYPE: + case NavStartStopAction.TYPE: + case NavResumePauseAction.TYPE: + return false; - default: - return true; + default: + return true; } } } diff --git a/OsmAnd/src/net/osmand/plus/quickaction/QuickActionsWidget.java b/OsmAnd/src/net/osmand/plus/quickaction/QuickActionsWidget.java index f72d0052a4..944d8d3c1f 100644 --- a/OsmAnd/src/net/osmand/plus/quickaction/QuickActionsWidget.java +++ b/OsmAnd/src/net/osmand/plus/quickaction/QuickActionsWidget.java @@ -254,6 +254,10 @@ public class QuickActionsWidget extends LinearLayout { } }); } + if (!action.isActionEnable(application)) { + view.setEnabled(false); + view.setAlpha(0.5f); + } } if (land) { diff --git a/OsmAnd/src/net/osmand/plus/quickaction/actions/NavResumePauseAction.java b/OsmAnd/src/net/osmand/plus/quickaction/actions/NavResumePauseAction.java new file mode 100644 index 0000000000..40d485296a --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/quickaction/actions/NavResumePauseAction.java @@ -0,0 +1,77 @@ +package net.osmand.plus.quickaction.actions; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import net.osmand.plus.OsmandApplication; +import net.osmand.plus.R; +import net.osmand.plus.activities.MapActivity; +import net.osmand.plus.quickaction.QuickAction; +import net.osmand.plus.routing.RoutingHelper; + +public class NavResumePauseAction extends QuickAction { + + public static final int TYPE = 26; + + public NavResumePauseAction() { + super(TYPE); + } + + public NavResumePauseAction(QuickAction quickAction) { + super(quickAction); + } + + @Override + public void execute(MapActivity activity) { + RoutingHelper routingHelper = activity.getRoutingHelper(); + if (routingHelper.isRoutePlanningMode()) { + routingHelper.setRoutePlanningMode(false); + routingHelper.setFollowingMode(true); + } else { + routingHelper.setRoutePlanningMode(true); + routingHelper.setFollowingMode(false); + routingHelper.setPauseNavigation(true); + } + activity.getMapViewTrackingUtilities().switchToRoutePlanningMode(); + activity.refreshMap(); + } + + @Override + public void drawUI(ViewGroup parent, MapActivity activity) { + View view = LayoutInflater.from(parent.getContext()) + .inflate(R.layout.quick_action_with_text, parent, false); + + ((TextView) view.findViewById(R.id.text)).setText(R.string.quick_action_resume_pause_navigation_descr); + + parent.addView(view); + } + + @Override + public String getActionText(OsmandApplication application) { + RoutingHelper helper = application.getRoutingHelper(); + if (!helper.isRouteCalculated() || helper.isRoutePlanningMode()) { + return application.getString(R.string.continue_navigation); + } + return application.getString(R.string.pause_navigation); + } + + @Override + public int getIconRes(Context context) { + if (context instanceof MapActivity) { + RoutingHelper helper = ((MapActivity) context).getRoutingHelper(); + if (!helper.isRouteCalculated() || helper.isRoutePlanningMode()) { + return R.drawable.ic_play_dark; + } + return R.drawable.ic_pause; + } + return super.getIconRes(context); + } + + @Override + public boolean isActionEnable(OsmandApplication app) { + return app.getRoutingHelper().isRouteCalculated(); + } +} \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/quickaction/actions/NavStartStopAction.java b/OsmAnd/src/net/osmand/plus/quickaction/actions/NavStartStopAction.java new file mode 100644 index 0000000000..d1edca5ca6 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/quickaction/actions/NavStartStopAction.java @@ -0,0 +1,91 @@ +package net.osmand.plus.quickaction.actions; + +import android.content.Context; +import android.support.v7.widget.SwitchCompat; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import net.osmand.plus.OsmandApplication; +import net.osmand.plus.R; +import net.osmand.plus.activities.MapActivity; +import net.osmand.plus.mapcontextmenu.other.DestinationReachedMenu; +import net.osmand.plus.quickaction.QuickAction; +import net.osmand.plus.routing.RoutingHelper; + +public class NavStartStopAction extends QuickAction { + + public static final int TYPE = 25; + private static final String KEY_DIALOG = "dialog"; + + public NavStartStopAction() { + super(TYPE); + } + + public NavStartStopAction(QuickAction quickAction) { + super(quickAction); + } + + @Override + public void execute(MapActivity activity) { + RoutingHelper helper = activity.getRoutingHelper(); + if (helper.isPauseNavigation() || helper.isFollowingMode()) { + if (Boolean.valueOf(getParams().get(KEY_DIALOG))) { + DestinationReachedMenu.show(activity); + } else { + activity.getMapLayers().getMapControlsLayer().stopNavigation(); + } + } else { + activity.getMapLayers().getMapControlsLayer().doRoute(false); + } + } + + @Override + public void drawUI(ViewGroup parent, MapActivity activity) { + View view = LayoutInflater.from(parent.getContext()) + .inflate(R.layout.quick_action_start_stop_navigation, parent, false); + + final SwitchCompat showDialogSwitch = (SwitchCompat) view.findViewById(R.id.show_dialog_switch); + + if (!getParams().isEmpty()) { + showDialogSwitch.setChecked(Boolean.valueOf(getParams().get(KEY_DIALOG))); + } + + view.findViewById(R.id.show_dialog_row).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + showDialogSwitch.setChecked(!showDialogSwitch.isChecked()); + } + }); + + parent.addView(view); + } + + @Override + public boolean fillParams(View root, MapActivity activity) { + getParams().put(KEY_DIALOG, Boolean + .toString(((SwitchCompat) root.findViewById(R.id.show_dialog_switch)).isChecked())); + return true; + } + + @Override + public String getActionText(OsmandApplication application) { + RoutingHelper helper = application.getRoutingHelper(); + if (helper.isPauseNavigation() || helper.isFollowingMode()) { + return application.getString(R.string.cancel_navigation); + } + return application.getString(R.string.follow); + } + + @Override + public int getIconRes(Context context) { + if (context instanceof MapActivity) { + RoutingHelper helper = ((MapActivity) context).getRoutingHelper(); + if (helper.isPauseNavigation() || helper.isFollowingMode()) { + return R.drawable.ic_action_target; + } + return R.drawable.ic_action_start_navigation; + } + return super.getIconRes(context); + } +} \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/routing/RoutingHelper.java b/OsmAnd/src/net/osmand/plus/routing/RoutingHelper.java index 4650b7be61..f1201150a7 100644 --- a/OsmAnd/src/net/osmand/plus/routing/RoutingHelper.java +++ b/OsmAnd/src/net/osmand/plus/routing/RoutingHelper.java @@ -119,7 +119,7 @@ public class RoutingHelper { return lastRouteCalcErrorShort; } - public void setPauseNaviation(boolean b) { + public void setPauseNavigation(boolean b) { this.isPauseNavigation = b; if (b) { if (app.getNavigationService() != null) { diff --git a/OsmAnd/src/net/osmand/plus/views/MapControlsLayer.java b/OsmAnd/src/net/osmand/plus/views/MapControlsLayer.java index bb45b710d3..25e8d787cc 100644 --- a/OsmAnd/src/net/osmand/plus/views/MapControlsLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/MapControlsLayer.java @@ -350,7 +350,7 @@ public class MapControlsLayer extends OsmandMapLayer { } } - protected void clickRouteCancel() { + public void stopNavigation() { mapRouteInfoMenu.hide(); if (mapActivity.getRoutingHelper().isFollowingMode()) { mapActivity.getMapActions().stopNavigationActionConfirm(); @@ -359,6 +359,10 @@ public class MapControlsLayer extends OsmandMapLayer { } } + protected void clickRouteCancel() { + stopNavigation(); + } + protected void clickRouteGo() { if (app.getTargetPointsHelper().getPointToNavigate() != null) { mapRouteInfoMenu.hide(); From b90ff8f98c570297efd694bca9aa81ca7ed5f8ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D1=96=D0=B9=20=D0=94=D1=83=D0=B1?= =?UTF-8?q?=D0=B8=D0=BA?= Date: Mon, 17 Jul 2017 13:31:34 +0000 Subject: [PATCH 075/140] Translated using Weblate (Ukrainian) Currently translated at 100.0% (2358 of 2358 strings) --- OsmAnd/res/values-uk/strings.xml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-uk/strings.xml b/OsmAnd/res/values-uk/strings.xml index 6c94963c8c..c2e529b62a 100644 --- a/OsmAnd/res/values-uk/strings.xml +++ b/OsmAnd/res/values-uk/strings.xml @@ -1,4 +1,5 @@ - + + Швидко Круговий рух : %1$d з’їзд @@ -2933,4 +2934,14 @@ Макс./мін. Мін/макс - \ No newline at end of file + \\022 Втулок Mapillary з вуличними зображеннями +\n +\n • Віджет-лінійка для вимірювання дистанцій +\n +\n • Розділені GPX-інтервали з докладною інформацією про Ваш трек +\n +\n • Інші поліпшення й виправлення помилок +\n +\n + Напівпрозорий рожевий + From 2442721cca30e2bcb107d59e2e7b7dbbf6453a6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D1=96=D0=B9=20=D0=94=D1=83=D0=B1?= =?UTF-8?q?=D0=B8=D0=BA?= Date: Mon, 17 Jul 2017 13:33:02 +0000 Subject: [PATCH 076/140] Translated using Weblate (Ukrainian) Currently translated at 100.0% (2358 of 2358 strings) --- OsmAnd/res/values-uk/strings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OsmAnd/res/values-uk/strings.xml b/OsmAnd/res/values-uk/strings.xml index c2e529b62a..6e16e199c0 100644 --- a/OsmAnd/res/values-uk/strings.xml +++ b/OsmAnd/res/values-uk/strings.xml @@ -842,7 +842,7 @@ Місце стоянки Відмітити місце стоянки Вилучити позначку місця стоянки - Початок маршруту надто далеко від найближчої дороги. + Початковий пункт занадто далеко від найближчої дороги. Загальні місця Зайнято пам’яті %1$s MB (Обмеження Android %2$s MB, dalvik %3$s MB). @@ -1016,9 +1016,9 @@ Ви вже встановили пункт призначення: Точки призначення Проміжна точка %1$s занадто далека від найближчої дороги. - Ви вже досягнули проміжної точки + Ви досягли проміжного пункту Додати як проміжну точку - Початок маршруту занадто далеко від найближчої дороги. + Кінцевий пункт занадто далеко від найближчої дороги. Додати мітку Розширений режим… Стоянки From 23e7e53ad224f8d0d90847f5be483d88fe47d9c8 Mon Sep 17 00:00:00 2001 From: Alexander Sytnyk Date: Mon, 17 Jul 2017 16:49:19 +0300 Subject: [PATCH 077/140] Fix #3879 --- .../src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java b/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java index f21c9f07c9..3b181dee32 100644 --- a/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java +++ b/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java @@ -1658,7 +1658,7 @@ public class AudioVideoNotesPlugin extends OsmandPlugin { if (isRecording()) { AVActionType type = currentRecording.type; finishRecording(); - if (!AV_RECORDER_SPLIT.get() || type != AVActionType.REC_VIDEO) { + if (type != AVActionType.REC_AUDIO && (!AV_RECORDER_SPLIT.get() || type != AVActionType.REC_VIDEO)) { final Recording recordingForMenu = r; app.runInUIThread(new Runnable() { @Override From ef3b497f7bd7ce0ceabf5e68162c864180e13fca Mon Sep 17 00:00:00 2001 From: Alexander Sytnyk Date: Mon, 17 Jul 2017 17:04:55 +0300 Subject: [PATCH 078/140] Change keyboard --- .../osmand/plus/search/QuickSearchCoordinatesFragment.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/OsmAnd/src/net/osmand/plus/search/QuickSearchCoordinatesFragment.java b/OsmAnd/src/net/osmand/plus/search/QuickSearchCoordinatesFragment.java index 092dffcb11..c31aae66f6 100644 --- a/OsmAnd/src/net/osmand/plus/search/QuickSearchCoordinatesFragment.java +++ b/OsmAnd/src/net/osmand/plus/search/QuickSearchCoordinatesFragment.java @@ -44,8 +44,10 @@ import net.osmand.util.Algorithms; import net.osmand.util.MapUtils; import static android.text.InputType.TYPE_CLASS_PHONE; +import static android.text.InputType.TYPE_CLASS_TEXT; import static android.text.InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS; import static android.text.InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS; +import static android.text.InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD; public class QuickSearchCoordinatesFragment extends DialogFragment implements OsmAndCompassListener, OsmAndLocationListener { @@ -512,7 +514,8 @@ public class QuickSearchCoordinatesFragment extends DialogFragment implements Os if (currentFormat == PointDescription.FORMAT_DEGREES) { et.setInputType(TYPE_CLASS_PHONE); } else { - et.setInputType(TYPE_TEXT_FLAG_CAP_CHARACTERS | TYPE_TEXT_FLAG_NO_SUGGESTIONS); + et.setInputType(TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_VISIBLE_PASSWORD | + TYPE_TEXT_FLAG_CAP_CHARACTERS | TYPE_TEXT_FLAG_NO_SUGGESTIONS); } } } From 1c1a6d869b3b206b21867a26abc2e5770c82d56a Mon Sep 17 00:00:00 2001 From: Alexander Sytnyk Date: Mon, 17 Jul 2017 18:17:24 +0300 Subject: [PATCH 079/140] Fix #3692 --- .../plus/base/MapViewTrackingUtilities.java | 40 ++++++++++--------- .../osmand/plus/views/MapControlsLayer.java | 2 +- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/base/MapViewTrackingUtilities.java b/OsmAnd/src/net/osmand/plus/base/MapViewTrackingUtilities.java index 7ee00edd23..832784ccb8 100644 --- a/OsmAnd/src/net/osmand/plus/base/MapViewTrackingUtilities.java +++ b/OsmAnd/src/net/osmand/plus/base/MapViewTrackingUtilities.java @@ -33,8 +33,8 @@ import java.io.IOException; public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLocationListener, OsmAndCompassListener, IRouteInformationListener, MapMarkerChangedListener { - private static final int AUTO_FOLLOW_MSG_ID = OsmAndConstants.UI_HANDLER_LOCATION_SERVICE + 4; - + private static final int AUTO_FOLLOW_MSG_ID = OsmAndConstants.UI_HANDLER_LOCATION_SERVICE + 4; + private long lastTimeAutoZooming = 0; private boolean sensorRegistered = false; private OsmandMapTileView mapView; @@ -71,12 +71,12 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc private void addTargetPointListener(OsmandApplication app) { app.getTargetPointsHelper().addListener(new StateChangedListener() { - + @Override public void stateChanged(Void change) { if(mapView != null) { mapView.refreshMap(); - } + } } }); } @@ -137,7 +137,7 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc contextMenu.updateCompassValue(val); } } - + public void setDashboard(DashboardOnMap dashboard) { this.dashboard = dashboard; } @@ -212,7 +212,7 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc mapView.setLatLon(location.getLatitude(), location.getLongitude()); } } else if(location != null) { - showViewAngle = (!location.hasBearing() || isSmallSpeedForCompass(location)) && (tb != null && + showViewAngle = (!location.hasBearing() || isSmallSpeedForCompass(location)) && (tb != null && tb.containsLatLon(location.getLatitude(), location.getLongitude())); registerUnregisterSensor(location); } @@ -244,8 +244,8 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc public boolean isShowViewAngle() { return showViewAngle; } - - + + public void switchToRoutePlanningMode() { RoutingHelper routingHelper = app.getRoutingHelper(); routePlanningMode = routingHelper.isRoutePlanningMode(); @@ -253,7 +253,7 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc if(!routePlanningMode && followingMode) { backToLocationImpl(); } - + } public void updateSettings(){ @@ -268,7 +268,7 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc } registerUnregisterSensor(app.getLocationProvider().getLastKnownLocation()); } - + private void registerUnregisterSensor(net.osmand.Location location) { int currentMapRotation = settings.ROTATE_MAP.get(); @@ -295,7 +295,7 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc // check if 17, 18 is correct? return zoomDelta; } - + public Pair autozoom(Location location) { if (location.hasSpeed()) { long now = System.currentTimeMillis(); @@ -328,8 +328,12 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc } return null; } - + public void backToLocationImpl() { + backToLocationImpl(15); + } + + public void backToLocationImpl(int zoom) { if (mapView != null) { OsmAndLocationProvider locationProvider = app.getLocationProvider(); if (!isMapLinkedToLocation()) { @@ -337,7 +341,7 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc if (locationProvider.getLastKnownLocation() != null) { net.osmand.Location lastKnownLocation = locationProvider.getLastKnownLocation(); AnimateDraggingMapThread thread = mapView.getAnimatedDraggingThread(); - int fZoom = mapView.getZoom() < 15 ? 15 : mapView.getZoom(); + int fZoom = mapView.getZoom() < zoom ? zoom : mapView.getZoom(); movingToMyLocation = true; thread.startMoving(lastKnownLocation.getLatitude(), lastKnownLocation.getLongitude(), fZoom, false, new Runnable() { @@ -354,7 +358,7 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc } } } - + private void backToLocationWithDelay(int delay) { app.runMessageInUIThreadAndCancelPrevious(AUTO_FOLLOW_MSG_ID, new Runnable() { @Override @@ -366,11 +370,11 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc } }, delay * 1000); } - + public boolean isMapLinkedToLocation(){ return isMapLinkedToLocation; } - + public void setMapLinkedToLocation(boolean isMapLinkedToLocation) { if (!isMapLinkedToLocation) { int autoFollow = settings.AUTO_FOLLOW_ROUTE.get(); @@ -380,13 +384,13 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc } this.isMapLinkedToLocation = isMapLinkedToLocation; } - + @Override public void locationChanged(double newLatitude, double newLongitude, Object source) { // when user start dragging setMapLinkedToLocation(false); } - + public void switchRotateMapMode(){ String rotMode = app.getString(R.string.rotate_map_none_opt); if (settings.ROTATE_MAP.get() == OsmandSettings.ROTATE_MAP_NONE && mapView.getRotate() != 0) { diff --git a/OsmAnd/src/net/osmand/plus/views/MapControlsLayer.java b/OsmAnd/src/net/osmand/plus/views/MapControlsLayer.java index 25e8d787cc..4cbd858b94 100644 --- a/OsmAnd/src/net/osmand/plus/views/MapControlsLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/MapControlsLayer.java @@ -663,7 +663,7 @@ public class MapControlsLayer extends OsmandMapLayer { touchEvent = 0; app.logEvent(mapActivity, "start_navigation"); app.getSettings().APPLICATION_MODE.set(routingHelper.getAppMode()); - mapActivity.getMapViewTrackingUtilities().backToLocationImpl(); + mapActivity.getMapViewTrackingUtilities().backToLocationImpl(17); app.getSettings().FOLLOW_THE_ROUTE.set(true); routingHelper.setFollowingMode(true); routingHelper.setRoutePlanningMode(false); From 174cbe41d362d3b3a4499e25b968339fa58f485c Mon Sep 17 00:00:00 2001 From: Ldm Public Date: Mon, 17 Jul 2017 13:56:38 +0000 Subject: [PATCH 080/140] Translated using Weblate (French) Currently translated at 98.4% (2326 of 2363 strings) --- OsmAnd/res/values-fr/strings.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml index d522be3e59..8d1237db47 100644 --- a/OsmAnd/res/values-fr/strings.xml +++ b/OsmAnd/res/values-fr/strings.xml @@ -2849,4 +2849,9 @@ Fonctionnalités principales : Durée de déplacement Min / Max Rose translucide + Reprendre / Suspendre la Navigation + Appuyez sur ce bouton pour suspendre la navigation ou la reprendre après l\'avoir suspendue. + Afficher la fenêtre de fin de navigation + Démarrer / Arrêter la Navigation + Appuyez sur ce bouton pour démarrer la navigation ou l\'arrêter lorsqu\'elle est en cours. From 7cae929710f52dd66e69ded984d89865bc22c208 Mon Sep 17 00:00:00 2001 From: Franco Date: Mon, 17 Jul 2017 16:19:24 +0000 Subject: [PATCH 081/140] Translated using Weblate (Spanish (Argentina)) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-es-rAR/strings.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml index 290af1b6ba..5641431c29 100644 --- a/OsmAnd/res/values-es-rAR/strings.xml +++ b/OsmAnd/res/values-es-rAR/strings.xml @@ -2688,4 +2688,9 @@ Proporciona un código completo \n \n Rosa translúcido + Reanudar/Pausar navegación + Pulsa este botón para pausar la navegación, o para reanudar si ya estaba pausada. + Mostrar diálogo de Finalizar navegación + Iniciar/Parar navegación + Pulsa este botón para iniciar la navegación, o para finalizarla si ya se había iniciado. From acf972a09567db91a9518035e1f64064c09a7d50 Mon Sep 17 00:00:00 2001 From: Franco Date: Mon, 17 Jul 2017 16:21:14 +0000 Subject: [PATCH 082/140] Translated using Weblate (Spanish (American)) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-es-rUS/strings.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OsmAnd/res/values-es-rUS/strings.xml b/OsmAnd/res/values-es-rUS/strings.xml index 0cae4a4c53..52153ae6ab 100644 --- a/OsmAnd/res/values-es-rUS/strings.xml +++ b/OsmAnd/res/values-es-rUS/strings.xml @@ -2689,4 +2689,9 @@ Proporciona un código completo \n \n Rosa translúcido + Reanudar/Pausar navegación + Pulsa este botón para pausar la navegación, o para reanudarla si ya estaba pausada. + Mostrar diálogo de Finalizar navegación + Iniciar/Parar navegación + Pulsa este botón para iniciar la navegación, o para finalizarla si ya se había iniciado. From 910e2f940aed5248e8da0821a40371aaab19515f Mon Sep 17 00:00:00 2001 From: Franco Date: Mon, 17 Jul 2017 16:23:08 +0000 Subject: [PATCH 083/140] Translated using Weblate (Spanish) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-es/strings.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OsmAnd/res/values-es/strings.xml b/OsmAnd/res/values-es/strings.xml index 2f169bed1c..08d2efd0eb 100644 --- a/OsmAnd/res/values-es/strings.xml +++ b/OsmAnd/res/values-es/strings.xml @@ -2633,4 +2633,9 @@ Por favor proporciona un código completo \n \n Rosa translúcido + Reanudar/Pausar navegación + Pulsa este botón para pausar la navegación, o para reanudarla si ya estaba pausada. + Mostrar diálogo de Finalizar navegación + Iniciar/Parar navegación + Pulsa este botón para iniciar la navegación, o para finalizarla si ya se había iniciado. From 2ef973a0d0fb658ce878a0e7de6ce9f1bcbcf72e Mon Sep 17 00:00:00 2001 From: jan madsen Date: Mon, 17 Jul 2017 16:29:23 +0000 Subject: [PATCH 084/140] Translated using Weblate (Danish) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-da/strings.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index 64ba97e331..d43d5cec16 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -2805,4 +2805,9 @@ Tidligere destination bliver sidste mellemliggende punkt. \n \n Gennemsigtig lyserød + Genoptag/pause navigation + Tryk på knappen pause navigation eller genoptag, hvis det allerede var sat på pause. + Vis Afslut navigation dialog + Start/slut Navigation + Tryk på knappen for at starte navigationen eller stoppe den, hvis den allerede var begyndt. From dc250cd76863483b2fe23062a91cc7dbd24b027d Mon Sep 17 00:00:00 2001 From: PavelRatushny Date: Mon, 17 Jul 2017 19:40:01 +0300 Subject: [PATCH 085/140] Fix saving compass rotation to exif --- .../src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java b/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java index 3b181dee32..7103e2457a 100644 --- a/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java +++ b/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java @@ -386,7 +386,7 @@ public class AudioVideoNotesPlugin extends OsmandPlugin { rot -= 360; } int abs = (int) (Math.abs(rot) * 100.0); - String rotString = abs / 100f + ""; + String rotString = abs + "/100"; setAttribute.invoke(exInstance, "GPSImgDirection", rotString); } if (loc != null && loc.hasAltitude()) { From db984a3183417c6f1c6dfe9ab90b61044f558e19 Mon Sep 17 00:00:00 2001 From: Softmap Date: Mon, 17 Jul 2017 20:07:42 +0000 Subject: [PATCH 086/140] Translated using Weblate (Arabic) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-ar/strings.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OsmAnd/res/values-ar/strings.xml b/OsmAnd/res/values-ar/strings.xml index bb5d2fe5fd..25997ee862 100644 --- a/OsmAnd/res/values-ar/strings.xml +++ b/OsmAnd/res/values-ar/strings.xml @@ -2709,4 +2709,9 @@ \n \n وردي شفاف + استئناف/وقف الملاحة + اضغط على هذا الزر لإيقاف الملاحة، أو استئنافها إذا كانت موقفة مسبقا. + إظهار حوار انتهاء الملاحة + بدء/انهاء الملاحة + اضغط على هذا الزر لبدء الملاحة، أو لوقفها إذا ما كانت قد بدأت مسبقا. From 05f2aa47dd789fe0c174ec1b1260b30d082488ff Mon Sep 17 00:00:00 2001 From: Verdulo Date: Mon, 17 Jul 2017 23:12:44 +0000 Subject: [PATCH 087/140] Translated using Weblate (Esperanto) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-eo/strings.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml index 009f830fc5..cb8b197127 100644 --- a/OsmAnd/res/values-eo/strings.xml +++ b/OsmAnd/res/values-eo/strings.xml @@ -2727,4 +2727,9 @@ Indikas lokon: %1$s x %2$s" \n \n Rozkolora diafana + Daŭrigi/paŭzigi navigadon + Premu tiun ĉi butonon por paŭzigi navigadon aŭ por reaktivigi se ĝi estas jam paŭzigita. + Montri fenestron fini navigadon + Ekigi/fini navigadon + Premu tiun ĉi butonon por ekigi navigadon aŭ por ĉesigi ĝin se ĝi estas jam aktivigita. From 76726c3c5f231ce4bc66e892d18e65084e5dfe67 Mon Sep 17 00:00:00 2001 From: ezjerry liao Date: Tue, 18 Jul 2017 01:14:19 +0000 Subject: [PATCH 088/140] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-zh-rTW/strings.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index a0ccccf9e2..a71b844a01 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -2797,4 +2797,9 @@ OsmAnd (Automated Navigation Directions) 是一個地圖和導航的應用程式 \n \n 半透明粉紅色 + 繼續/暫停導航 + 按此按鈕暫停導航如果已經暫停,則繼續該導航。 + 顯示完成導航對話方塊 + 開始/完成導航 + 按此按鈕開始導航如果已經開始,則停止它。 From 4c89d777a8561f8cf0d8bd57c6e45bf239920809 Mon Sep 17 00:00:00 2001 From: sonora Date: Tue, 18 Jul 2017 08:14:07 +0200 Subject: [PATCH 089/140] Bicycle navigation options: Try to be less ambiguous --- OsmAnd/res/values/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 2e858e8342..ece08960ca 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -119,9 +119,9 @@ Hilly Less hilly Flat - Speed + Prefer major roads Balanced - Safety + Prefer byways Preferred terrain: flat or hilly Slope Add new folder From 711705e5a5edc40a84a323a9b237387c786f58db Mon Sep 17 00:00:00 2001 From: ezjerry liao Date: Tue, 18 Jul 2017 01:16:00 +0000 Subject: [PATCH 090/140] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-zh-rTW/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index a71b844a01..1dd1998079 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -2801,5 +2801,5 @@ OsmAnd (Automated Navigation Directions) 是一個地圖和導航的應用程式 按此按鈕暫停導航如果已經暫停,則繼續該導航。 顯示完成導航對話方塊 開始/完成導航 - 按此按鈕開始導航如果已經開始,則停止它。 + 按此按鈕開始導航如果已經開始,則停止導航。 From a4d13b6ded42d4cfd674b528f33cef8ea88f4c92 Mon Sep 17 00:00:00 2001 From: jan madsen Date: Mon, 17 Jul 2017 17:53:10 +0000 Subject: [PATCH 091/140] Translated using Weblate (Danish) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-da/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index d43d5cec16..26dbe9d05a 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -2806,7 +2806,7 @@ Tidligere destination bliver sidste mellemliggende punkt. \n Gennemsigtig lyserød Genoptag/pause navigation - Tryk på knappen pause navigation eller genoptag, hvis det allerede var sat på pause. + Tryk på knappen pause navigation eller genoptag, hvis den allerede var sat på pause. Vis Afslut navigation dialog Start/slut Navigation Tryk på knappen for at starte navigationen eller stoppe den, hvis den allerede var begyndt. From fc6040f6b0b57f0f72a87a502390f44fa4121913 Mon Sep 17 00:00:00 2001 From: Verdulo Date: Mon, 17 Jul 2017 23:14:11 +0000 Subject: [PATCH 092/140] Translated using Weblate (Esperanto) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-eo/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml index cb8b197127..5c72bd0c99 100644 --- a/OsmAnd/res/values-eo/strings.xml +++ b/OsmAnd/res/values-eo/strings.xml @@ -2728,8 +2728,8 @@ Indikas lokon: %1$s x %2$s" \n Rozkolora diafana Daŭrigi/paŭzigi navigadon - Premu tiun ĉi butonon por paŭzigi navigadon aŭ por reaktivigi se ĝi estas jam paŭzigita. + Premu tiun ĉi butonon por paŭzigi navigadon aŭ por reaktivigi ĝin se ĝi estas jam paŭzigita. Montri fenestron fini navigadon - Ekigi/fini navigadon + Ekigi/ĉesigi navigadon Premu tiun ĉi butonon por ekigi navigadon aŭ por ĉesigi ĝin se ĝi estas jam aktivigita. From 8d4623c8115b75dda795e4e8326a8364ef0a5728 Mon Sep 17 00:00:00 2001 From: Andrius Kaikaris Date: Mon, 17 Jul 2017 19:07:09 +0000 Subject: [PATCH 093/140] Translated using Weblate (Lithuanian) Currently translated at 97.8% (2313 of 2363 strings) --- OsmAnd/res/values-lt/strings.xml | 312 +++++++++++++------------------ 1 file changed, 125 insertions(+), 187 deletions(-) diff --git a/OsmAnd/res/values-lt/strings.xml b/OsmAnd/res/values-lt/strings.xml index 6205cab1f0..da4eb84609 100644 --- a/OsmAnd/res/values-lt/strings.xml +++ b/OsmAnd/res/values-lt/strings.xml @@ -1,4 +1,5 @@ - + + Pradžios taškas yra per toli nuo artimiausio kelio. Bendrinta vieta Dėmesio @@ -71,14 +72,11 @@ Tiek vieta, tiek laikas yra matomi OsmAnd valdymo skydelyje bei skydelyje žemė Nustatykite interneto ar laikinai išsaugotų žemėlapių šaltinius - "Šio įskiepio pagalba galite pasiekti daugybę žemėlapių rūšių internete, pradedant Openstreetmap (Mapnik), baigiant palydovinėmis nuotraukomis ir specialios paskirties sluoksnių, tokių kaip orų, klimato, geologinių žemėlapiai, bei kalvų šešėliavimo sluoksnius. - - -Kiekvienas iš šių žemėlapių gali būti atvaizduotas OsmAnd ekrane kaip pagrindinis (bazinis) arba kaip papildomas antsluoksnis ar posluoksnis kitame baziniame žemėlapyje (pvz., OsmAnd offline žemėlapiuose). Tam, kad posluoksninie žemėlapis būtų aiškiai matomas, galima išjungti OsmAnd vektorinių žemėlapių tam tikrus elementus meniu \"Konfigūruoti žemėlapį\". - - -Tailinius žemėlapius galimi atsisiųsti iš interneto arba paruošti naudojimui neprisijungus (ir rankiniu būdu įkelti į OsmAnd duomenų katalogą) kaip SQLite duomenų bazė, kurią galima paruošti įvairiais trečių šalių įrankiais. - " + Šio įskiepio pagalba galite pasiekti daugybę žemėlapių rūšių internete, pradedant Openstreetmap (Mapnik), baigiant palydovinėmis nuotraukomis ir specialios paskirties sluoksnių, tokių kaip orų, klimato, geologinių žemėlapiai, bei kalvų šešėliavimo sluoksnius. +\n +\nKiekvienas iš šių žemėlapių gali būti atvaizduotas OsmAnd ekrane kaip pagrindinis (bazinis) arba kaip papildomas antsluoksnis ar posluoksnis kitame baziniame žemėlapyje (pvz., OsmAnd parsiųstuose žemėlapiuose). Tam, kad posluoksninis žemėlapis būtų aiškiai matomas, galima išjungti OsmAnd vektorinių žemėlapių tam tikrus elementus meniu \"Konfigūruoti žemėlapį\". +\n +\nŽemėlapius lakštus galima atsisiųsti iš interneto arba paruošti naudojimui neprisijungus (ir rankiniu būdu įkelti į OsmAnd duomenų katalogą) kaip SQLite duomenų bazę, kurią galima paruošti įvairiais trečių šalių įrankiais. Rodyti nustatymus sekimui ir navigacijai foniniame režime (išjungus ekraną) periodiškai žadinant GPS įrenginį. Šis įskiepis įgalina įrenginio specialiuosius nustatymus tiesiai OsmAnd. Tai, pavyzdžiui, palengvina TTS balso greičio reguliavimą, navigacijos ekrano kryptį, mąstelio reguliavimą. @@ -92,7 +90,7 @@ Tailinius žemėlapius galimi atsisiųsti iš interneto arba paruošti naudojimu Šis įskiepis leidžia kurti ar redaguoti LV, užregistruoti ar komentuoti OSM Pastabas, dalintis įrašytais GPX failais. OSM yra atviros visuomenės valdomas, viešas žemėlapio žymėjimo projektas. Dėl smulkesnės informacijos prašome kreiptis į https://openstreetmap.org. Aktyvus dalyvavimas yra labai vertinamas, prisidėti galite tiesiai OsmAnd, jei programoje nurodysite savo prisijungimo duomenis. Vektoriniai žemėlapiai tikriausiai bus atvaizduojami sparčiau. Kaikuriuose įrenginiuose gali veikti prastai. - Groti pasirinkto balso komandas + Pasirinkite balsą ir patikrinkite grodami komandas OsmAnd vystymas Aparatinis atvaizdavimas @@ -473,7 +471,7 @@ Tam prireiks {1} MB pastoviam saugojimui. Pasirinkti viską Atnaujinti Greičiausias maršrutas - "Įjunkite, kad būtų skaičiuojamas greičiausias maršrutas arba išjunkite kad skaičiuotų taupiausią maršrutą. " + Įjunkite, kad būtų skaičiuojamas greičiausias maršrutas arba išjunkite kad skaičiuotų taupiausią maršrutą Esant {0} dydžiui parsiųsti {1} žemėlapio lakštus ({2} MB) Parsiųsti žemėlapį Pasirinkite didžiausią dydį, kurį parsiųsti @@ -514,7 +512,7 @@ Tam prireiks {1} MB pastoviam saugojimui. Ištrinti LV Pagal kompasą Pagal judėjimo kryptį - Nesukti + Nesukinėti (šiaurė viršuje) Pasirinkti žemėlapio ir ekrano krypčių derinimą Žemėlapio orientacija Maršruto informacija @@ -906,52 +904,9 @@ Tam prireiks {1} MB pastoviam saugojimui. Poziciją rodyti ant kelių kai naviguojama Rodyti ant kelio - " - OsmAnd (OSM Automated Navigation Directions) - -OsmAnd yra atviro kodo programa naudojanti įvairius OpenStreetMap (OSM) duomenis. Visi žemėlapių duomenys (vektoriniai ar lakštiniai) gali būti išsaugoti telefone ir naudojami be interneto prieigos. OsmAnd taip pat gali pasiūlyti maršruto skaičiavimo paslaugas internete ar įrenginyje, bei balso nurodymus kelionei apskaičiuotu maršrutu. - -Dalis pagrindinių savybių: -- Veikia be interneto (išsaugokite parsiųstus žemėlapius ar jų lakštus įrenginyje) -- Kompaktiški vektoriniai viso pasaulio žemėlapiai -- Parsisųskite šalies ar regiono žemėlapius tiesiai iš pačios propgramos -- Galima sulieti kelis žemėlapop sluoksnius, tokius kaip GPX ar judėjimo istoriją, Lankytinas Vietas, mėgiamas vietas, kontūrų linijas, viešojo transporto stoteles, papildomus žemėlapius su pasirinktinai nustatomu permatomumo lygiu -- Adresų ir LV paieška nenaudojant interneto -- Vidutinio ilgio maršruto apskaičiavimas be interneto paslaugų -- Automobilio, dviračio ir pėsčiojo režimai su: -- pasirinktiniu dineos/nakties rodinio perjungimu -- pasirinktiniu pagal judėjimo greitį automatiškai nustatomu mąsteliu -- pasirinktine žemėlapio orientacija pagal kompaso arba judėjimo kryptį -- pasirinktinis eismo juostų nurodymas, greičio ribojimų rodymas, įrašyti ar generuojami balsai - -Šios nemokamos OsmAnd versijos apribojimai: -- Ribojamas žemėlapių parsiuntimų skaičius -- Nėra prieigos prie iš Wikipedia parsiunčiamų LV - -OsmAnd yra aktyviai tobulinama ir mūsų projektas bei jo tolesnis progresas priklauso nuo finansinės paramos, kuri įgalina tolesnį vystymą ir naujų funkcijų kūrimą. Norime paskatinti jus nusipirkti OsmAnd+ programą arba finansiškai prisidėti prie specifinių funkcijų kūrimo arba šiaip paremti programą osmand.net svetainėje. - " + OsmAnd (OSM Automated Navigation Directions) OsmAnd yra atviro kodo programa naudojanti įvairius OpenStreetMap (OSM) duomenis. Visi žemėlapių duomenys (vektoriniai ar lakštiniai) gali būti išsaugoti telefone ir naudojami be interneto prieigos. OsmAnd taip pat gali pasiūlyti maršruto skaičiavimo paslaugas internete ar įrenginyje, bei balso nurodymus kelionei apskaičiuotu maršrutu. Dalis pagrindinių savybių: - Veikia be interneto (išsaugokite parsiųstus žemėlapius ar jų lakštus įrenginyje) - Kompaktiški vektoriniai viso pasaulio žemėlapiai - Parsisųskite šalies ar regiono žemėlapius tiesiai iš pačios propgramos - Galima sulieti kelis žemėlapop sluoksnius, tokius kaip GPX ar judėjimo istoriją, Lankytinas Vietas, mėgiamas vietas, kontūrų linijas, viešojo transporto stoteles, papildomus žemėlapius su pasirinktinai nustatomu permatomumo lygiu - Adresų ir LV paieška nenaudojant interneto - Vidutinio ilgio maršruto apskaičiavimas be interneto paslaugų - Automobilio, dviračio ir pėsčiojo režimai su: - pasirinktiniu dineos/nakties rodinio perjungimu - pasirinktiniu pagal judėjimo greitį automatiškai nustatomu mąsteliu - pasirinktine žemėlapio orientacija pagal kompaso arba judėjimo kryptį - pasirinktinis eismo juostų nurodymas, greičio ribojimų rodymas, įrašyti ar generuojami balsai Šios nemokamos OsmAnd versijos apribojimai: - Ribojamas žemėlapių parsiuntimų skaičius - Nėra prieigos prie iš Wikipedia parsiunčiamų LV OsmAnd yra aktyviai tobulinama ir mūsų projektas bei jo tolesnis progresas priklauso nuo finansinės paramos, kuri įgalina tolesnį vystymą ir naujų funkcijų kūrimą. Norime paskatinti jus nusipirkti OsmAnd+ programą arba finansiškai prisidėti prie specifinių funkcijų kūrimo arba šiaip paremti programą osmand.net svetainėje. OsmAnd - atviro kodo navigacijos programa su žemėlapiais - " - OsmAnd+ (OSM Automated Navigation Directions) - -OsmAnd+ yra atviro kodo programa naudojanti visą spektrą OpenStreetMap (OSM) duomenų. Visi žemėlapiai (vektoriniai ar lakštiniai) gali būti išsaugoti telefono atmintyje ar atminties kortelėje ir naudojami be interneto prieigos. OsmAnd taip pat gali pasiūlyti maršruto skaičiavimo paslaugas internete ar įrenginyje, bei balso nurodymus kelionei apskaičiuotu maršrutu. - -OsmAnd+ yra mokama programos versiją, kurią pirkdami jūs remiate šį projektą, skiriate lėšas naujų funkcijų kūrimui ir tuo pačiu gaunate naujausius atnaujinimus. - -Savybės: -- Veikia visiškai be interneto (išsaugokite parsiųstus žemėlapius ar jų lakštus įrenginyje) - - Kompaktiški vektoriniai viso pasaulio žemėlapiai -- Neribota galimybė parsisiųsti šalies ar regiono žemėlapius pačioje programoje -- Parsiųstos Vikpedijos funkcionalumas (parsisiųskite LV iš Vikipedijos) puikiai tinkantis lankytinų objektų pažinimui -- Galimybė sudėti kelis žemėlapių sluoksnius, pvz. GPX ar kelionės istoriją, Lankytinas, Išsaugotas vietas, kontūrų linijas, viešo transporto sustojimus, papildomus žemėlapius pasirenkant jų permatomumą -- Adresų ir LV paieška nenaudojant interneto -- Vidutinio ilgio maršrutų skaičiavimas nenaudojant interneto -- Automobilio, dviračio ir pėsčiojo režimai su: -- pasirenkamu automatiniu dienos/nakties vaizdo perjungimu -- pasirenkamas prie judėjimo greičio priderinamas žemėlapio didinimas -- pasirenkamas žemėlapio pasukimas pagal kompasą arba judėjimo kryptį -- pasirenkamas eismo juostų keitimo nurodymų įjungimas, greičių apribojimo rodymas, įrašyti arba sintetiniai (TTS) balsai - " + "OsmAnd+ (OSM Automated Navigation Directions) OsmAnd+ yra atviro kodo programa naudojanti visą spektrą OpenStreetMap (OSM) duomenų. Visi žemėlapiai (vektoriniai ar lakštiniai) gali būti išsaugoti telefono atmintyje ar atminties kortelėje ir naudojami be interneto prieigos. OsmAnd taip pat gali pasiūlyti maršruto skaičiavimo paslaugas internete ar įrenginyje, bei balso nurodymus kelionei apskaičiuotu maršrutu. OsmAnd+ yra mokama programos versiją, kurią pirkdami jūs remiate šį projektą, skiriate lėšas naujų funkcijų kūrimui ir tuo pačiu gaunate naujausius atnaujinimus. Savybės: - Veikia visiškai be interneto (išsaugokite parsiųstus žemėlapius ar jų lakštus įrenginyje) - Kompaktiški vektoriniai viso pasaulio žemėlapiai - Neribota galimybė parsisiųsti šalies ar regiono žemėlapius pačioje programoje - Parsiųstos Vikpedijos funkcionalumas (parsisiųskite LV iš Vikipedijos) puikiai tinkantis lankytinų objektų pažinimui - Galimybė sudėti kelis žemėlapių sluoksnius, pvz. GPX ar kelionės istoriją, Lankytinas, Išsaugotas vietas, kontūrų linijas, viešo transporto sustojimus, papildomus žemėlapius pasirenkant jų permatomumą - Adresų ir LV paieška nenaudojant interneto - Vidutinio ilgio maršrutų skaičiavimas nenaudojant interneto - Automobilio, dviračio ir pėsčiojo režimai su: - pasirenkamu automatiniu dienos/nakties vaizdo perjungimu - pasirenkamas prie judėjimo greičio priderinamas žemėlapio didinimas - pasirenkamas žemėlapio pasukimas pagal kompasą arba judėjimo kryptį - pasirenkamas eismo juostų keitimo nurodymų įjungimas, greičių apribojimo rodymas, įrašyti arba sintetiniai (TTS) balsai" Pasiimti automobilį iš stovėjimo vietos @@ -1016,11 +971,9 @@ Savybės: dalys Aukščio kontūrų linijos - "Šis įskiepis įgalina aukščio kontūrų linijas OsmAnd parsiųstuose žemėlapiuose. Ši funkcija gali būti naudinga atletams, keliautojams ir visiems, kas aktuali reljefo struktūra. - - -Pasaulio duomenys (tarp 70 laipsnių šiaurės ir 70 laipsnių pietų) yra paremti SRTM (Shuttle Radar Topography Mission) ir ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), vaizdo fiksavimo instrumento Terra, NASA Earth Observing System palydovo, matavimais. ASTER yra bendradarbiavimo tarp NASA, Japonijos ekonomikos, prekybos ir industrijos (METI) ministerijos ir Japan Space Systems (J-spacesystems) projektas. - " + Šis įskiepis įgalina tiek aukščio kontūrų linijų tiek ir (reljefo) kalnų šešėlių sluoksnių atvaizdavimą and OsmAnd žemėlapių. Ši funkcija gali būti naudinga atletams, keliautojams ir visiems, kas aktuali reljefo struktūra. (Atkreipkite dėmesį į tai kad kontūrų linijos ir/arba reljefo duomenys yra atskiri, papildomi parsiuntimai prieinami aktyvavus įskiepį) +\n +\nPasaulio duomenys (tarp 70 laipsnių šiaurės ir 70 laipsnių pietų) yra paremti SRTM (Shuttle Radar Topography Mission) ir ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), vaizdo fiksavimo instrumento Terra, NASA Earth Observing System palydovo, matavimais. ASTER yra bendradarbiavimo tarp NASA, Japonijos ekonomikos, prekybos ir industrijos (METI) ministerijos ir Japan Space Systems (J-spacesystems) projektas. SRTM įskiepis Kiti žemėlapiai SRTM žemėlapiai @@ -1029,8 +982,9 @@ Pasaulio duomenys (tarp 70 laipsnių šiaurės ir 70 laipsnių pietų) yra parem OsmAnd įskiepis, skirtas aukščio kontūrų linijoms - "Šis įskiepis įgalina aukščio kontūrų linijas OsmAnd parsiųstuose žemėlapiuose. Ši funkcija gali būti naudinga atletams, keliautojams ir visiems, kas aktuali reljefo struktūra. -\nPasaulio duomenys (tarp 70 laipsnių šiaurės ir 70 laipsnių pietų) yra paremti SRTM (Shuttle Radar Topography Mission) ir ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), vaizdo fiksavimo instrumento Terra, NASA Earth Observing System palydovo, matavimais. ASTER yra bendradarbiavimo tarp NASA, Japonijos ekonomikos, prekybos ir industrijos (METI) ministerijos ir Japan Space Systems (J-spacesystems) projektas. " + Šis įskiepis įgalina tiek aukščio kontūrų linijas ir (reljefo) kalnų šešėlių sluoksnių atvaizdavimą ant OsmAnd žemėlapių. Ši funkcija gali būti naudinga atletams, keliautojams ir visiems, kas aktuali reljefo struktūra. +\n +\nPasaulio duomenys (tarp 70 laipsnių šiaurės ir 70 laipsnių pietų) yra paremti SRTM (Shuttle Radar Topography Mission) ir ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), vaizdo fiksavimo instrumento Terra, NASA Earth Observing System palydovo, matavimais. ASTER yra bendradarbiavimo tarp NASA, Japonijos ekonomikos, prekybos ir industrijos (METI) ministerijos ir Japan Space Systems (J-spacesystems) projektas. Atstumo matavimas @@ -1199,7 +1153,7 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A Stabdyti navigaciją Išvalyti tikslą Šiuo metu Wi-Fi neprijungta. Ar norite tęsti siuntimąsį dabartiniu interneto ryšiu? - Maudoti magnetinį sensorių naudoti vietoje pokrypio sensoriaus kompaso reikšmei nustatyti + Magnetinį sensorių naudoti vietoje krypties sensoriaus kompaso reikšmei nustatyti Naudoti magnetinį sensorių (kompasą) Sumažina kompaso triukšmą, tačiau prideda inertiškumo Naudoti Kalmano filtrą @@ -1331,7 +1285,7 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A Jūs ištrinsite %1$d OSM pakeitimus. Ar tikrai norite? Viską ištrinti Jūros navigacijos ženklas - Pasirinkite programos veikimo profilius, kurie bus naudojami programoje + Pasirinkite programos veikimo profilius, kurie bus rodomi programoje Programos profiliai @@ -1439,8 +1393,11 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A Netinkamas formatas: %s Unikalus įrenginio ID Konfigūruoti stebėjimo nustatymus ir nustatyti asmeninį stebėjimo kanalą - "Pateikia OsMo - taip vadinamo pažangaus tiesioginio stebėjimo, nustatymus, daugiau http://osmo.mobi. -\nSuteikia galimybę stebėti visus įrenginius konkrečioje grupėje realiuoju laiku bei bendrauti tarpusavyje. Tebėti glima tik konkrečios sesijos metu arba pastoviai.\nSusikurkite anonimines grupes tik kelioms dienoms su ribotomis funkcijomis, t.y. nėra nuotolinio valdymo ar grupės administratoriaus. Viso funkcionalumo grupes galima susikurti interneto svetainėje ir tik registruoti vartotojai galės prie jų prieiti. " + Šis įskiepis suteikia dalinį OpenStreetMap Monitoringo funkncionalumą, žiūrėkite https://osmo.mobi +\n +\nJūs galite realiu laikus sekti visus įrenginius kurie registruoti atitinkamoje grupėje. Jūs taip pat galite pamatyti taškus ir kelius kurie įkeliami į grupę kuriai priklausote. +\n +\nGrupė po kelių mėnesių nebuvo panaikinta. Sutvarkykite ją pagal grupių kūrimui svetainėje OsMo.mobi keliamus reikalavimus OpenStreetMap Stebėjimas OsMo Tik rankiniu būdu (spauskite rodyklę) @@ -1448,7 +1405,7 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A Pakartoti maršruto instrukcijas Pranešimas apie atvykimą Kada anksti turi būti pranešama apie atvykimą? - "OsMo prisijungimo problema: " + OsMo prisijungimo problema: Sustabdyti OsMo sesiją Paleisti OsMo sesiją @@ -1586,19 +1543,13 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A OsMo paslauga OsMo įrašas %1$s parsiųstas. Prisijungti su pakvietimais - " - Kurdami grupę suteikite jai pavadinimą ir aprašymą -\n -\n - Iš programėlės sukuriamos tik paprasto tipo grupės. Daugiau informacijos https://osmo.mobi/g/new -\n -\n - Interneto svetainėje galite valdyti grupę, pridėti pėdsakus ar taškus -\n + - Kurdami grupę suteikite jai pavadinimą ir užpildtykite aprašymą +\n - Iš programėlės sukuriamos tik paprasto tipo grupės. Daugiau informacijos https://osmo.mobi/g/new +\n - Interneto svetainėje galite valdyti grupę, pridėti pėdsakus ar taškus kurie bus prieinami visiems \n - Mes nepritariame tik vieno naudotojo grupėms jei tai ne LV grupė -\n \n - Uždaros grupės ribojamos iki 8 narių -\n -\n - Detalios nuostatos ir taisyklės visada prieinamos svetainėje OsMo.mobi -\n -\n - Jei jums reikia išskirtinių sąlygų - susisiekite: osmo.mobi@gmail.com " +\n - Detalios taisyklės visada prieinamos svetainėje OsMo.mobi +\n - Jei jums reikia išskirtinių sąlygų - susisiekite: osmo.mobi@gmail.com Perskaitykite prieš kurdami grupę! Prisijungti prie OsMo nepavyko Autorizavimas nepavyko @@ -1686,11 +1637,9 @@ Ar norite registruotis iš naujo? Įrašyti maršrutą į GPX failą Įrašymo intervalas Bendras vietos išsaugojimas į GPX failą gali būti įjungtas ar išjungtas panaudojant GPX įrankį žemėlapio ekrane - "Išsaugo kelionės istoriją vieno mygtuko ekrane paspaudimu bei pateikia nustatymus, leidžiančius kelionės istoriją išsaugoti GPX faile ar naudojantis internetine paslauga. - - -Įrašytus maršrutus galima pasidalinti su draugais arba OSM. Sportininkai gali naudoti įrašytus maršrutus norėdami stebėti savo treniruotes. Elementarią analizę, tokią kaip ratų laikai, vidutinis greitis, ir t.t., galima atlikti tiesiai OsmAnd bei, be abejo, vėliau išanalizuoti su trečių šalių progamine įranga. - " + Išsaugo kelionės istoriją vieno mygtuko ekrane paspaudimu bei pateikia nustatymus, leidžiančius kelionės istoriją išsaugoti GPX faile. +\n +\nĮrašytais maršrutais galima pasidalinti su draugais arba pridėti kaip kontribuciją OSM. Sportininkai gali naudoti įrašytus maršrutus norėdami stebėti savo treniruotes. Elementarią analizę, tokią kaip ratų laikai, vidutinis greitis, ir t.t., galima atlikti tiesiai OsmAnd bei, be abejo, vėliau išanalizuoti su trečių šalių progamine įranga. Visada klausti Pasirinkite bendrojo maršruto įrašymo intervalą (įjungiama per GPX valdiklį žemėlapio rodinyje) Bendras įrašymo intervalas @@ -1821,7 +1770,7 @@ Ar norite registruotis iš naujo? Tam, kad būtų atvaizduojami jūriniai žemėlapiai, būtina atsisiųsti specializuotus žemėlapius Jūriniai žemėlapiai Įrenginio atmintis - "Laisva %1$s " + Laisva %1$s Tik keliai Žiūrėti Pastabos @@ -1832,14 +1781,11 @@ Ar norite registruotis iš naujo? Vieta:\n Plat. %1$s\n Ilg. %2$s Eksportuoti dienų senumo - "Šis įskiepis papildo OsmAnd programą jūrlapiais skirtais laivybai, būriavimui ir kitoms vandens sporto veikloms. - - -Specialus OsmAnd žemėlapio įskiepis pateiks visus navigacinius ženklus ir jūrlapių simbolius reikalingus jūros ir vidaus vandenų navigacijai. Kiekvieno navigacinio ženklo aprašymas pateiks informaciją apie jų reikšmę (kategorija, forma, spalva, eiliškumas, nuoroda ir kt.). - - -Norėdami grįžti į įprastinių OsmAnd žemėlapių atvaizdavimą paprasčiausiai išjunkite šį įskiepį arba \'Žemėlapio nustatymų\' skirsnyje pakeiskite \'Žemėlapio stilių\' į pageidaujamą. - " + Šis įskiepis papildo OsmAnd programą jūrlapiais skirtais laivybai, būriavimui ir kitoms vandens sporto veikloms. +\n +\nSpecialus OsmAnd žemėlapio įskiepis pateiks visus navigacinius ženklus ir jūrlapių simbolius reikalingus jūros ir vidaus vandenų navigacijai. Kiekvieno navigacinio ženklo aprašymas pateiks informaciją apie jų reikšmę (kategorija, forma, spalva, eiliškumas, nuoroda ir kt.). +\n +\nNorėdami grįžti į įprastinių OsmAnd žemėlapių atvaizdavimą paprasčiausiai išjunkite šį įskiepį arba \'Žemėlapio nustatymų\' skirsnyje pakeiskite \'Žemėlapio stilių\' į pageidaujamą. Nepavyko pervardinti. Grįžti į žemėlapį Pasirinkta @@ -1918,23 +1864,17 @@ Ilguma %2$s Ar norite, kad OsmAnd taip pat nukopijuotų duomenų failus į naują vietą? pradelsta Šiuo metu įrašomas maršrutas - "Aktyvus šį rodinį, OsmAnd\'s žemėlapių stilius pasikeis į \"Kelionių rodinį\", kuris yra skirtas keliautojams ir profesionaliems vairuotojams. - - -Šis rodinys visuose žemėlapio masteliuose pateikia maksimalų įmanomą žemėlapio informacijos kiekį (ypač kelius, vieškelius, takus ir orientyrus). - - -Jis tai pat aiškiai pateikia visus kelių tipus aiškiu spalviniu žymėjimu, kuris naudingas pvz. vairuojant didelius automobilius. - - -Rodinys pateikia specialius kelionių maršrutus su galimybe pasirinkti dviračių maršrutus ar kalnų slidinėjimo trasas. - - -Specialiai atskiro žemėlapio atsisiųsti nereikia, šis rodinys bus sukurtas iš standartinių žemėlapių. - - -Šį rodinį galima išjungti čia arba pakeitus \'Žemėlapio stilių\' skyriuje \'Žemėlapio konfigūravimas\' kai to reikės. - " + Aktyvus šį rodinį, OsmAnd\'s žemėlapių stilius pasikeis į \"Kelionių rodinį\", kuris labai detalus rodynys skirtas keliautojams ir profesionaliems vairuotojams. +\n +\nŠis rodinys visuose žemėlapio masteliuose pateikia maksimalų įmanomą žemėlapio informacijos kiekį (ypač kelius, vieškelius, takus ir orientyrus). +\n +\nJis tai pat aiškiai pateikia visus kelių tipus aiškiu spalviniu žymėjimu, kuris naudingas pvz. vairuojant didelius automobilius. +\n +\nRodinys pateikia specialius kelionių maršrutus su galimybe pasirinkti dviračių maršrutus ar kalnų slidinėjimo trasas. +\n +\nSpecialiai atskiro žemėlapio atsisiųsti nereikia, šis rodinys bus sukurtas iš standartinių žemėlapių. +\n +\nŠį rodinį galima išjungti čia arba pakeitus \'Žemėlapio stilių\' skyriuje \'Žemėlapio konfigūravimas\' kai to reikės. Vengti kirsti sieną išvažiuojant užsienio šalin Aukščio ribojimas @@ -1948,8 +1888,9 @@ Specialiai atskiro žemėlapio atsisiųsti nereikia, šis rodinys bus sukurtas i Atsijungti Rašykite, norėdami pradėti paiešką Maršruto taškai - "Šis įskiepis suteikia priėjimą prie pasaulio kalnų slidinėjimo trasų, lygumų slidinėjimo trasų, kalnų slidinėjimo maršrutų, keltuvų ir slidinėjimo keltuvų duomenų. Maršrutai ir trasos yra nuspalvintos spalvomis atsižvelgiant į jų sudėtingumą bei atvaizduojami specialiu \"Žiemos\" žemėlapio stiliumi, kuris naudoja sniego spalvos žiemos peizažą. -\n\nAktyvavus šį žemėlapio stilių, kraštovaizdis atvaizduojamas taip, kaip jis atrodytų žiemą. Šis rodinys gali būti išjungtas arba deaktyvuojant jį arba pakeitus \"Žemėlapio stilių\" meniu \"Žemėlapio nustatymuose\", į norimą. " + Šis įskiepis suteikia priėjimą prie pasaulio kalnų slidinėjimo trasų, lygumų slidinėjimo trasų, kalnų slidinėjimo maršrutų, keltuvų ir slidinėjimo keltuvų duomenų. Maršrutai ir trasos yra nuspalvintos spalvomis atsižvelgiant į jų sudėtingumą bei atvaizduojami specialiu \"Žiemos\" žemėlapio stiliumi, kuris naudoja sniego spalvos žiemos peizažą. +\n +\nAktyvavus šį žemėlapio stilių, kraštovaizdis atvaizduojamas taip, kaip jis atrodytų žiemą. Šis rodinys gali būti išjungtas arba deaktyvuojant jį arba pakeitus \"Žemėlapio stilių\" meniu \"Žemėlapio nustatymuose\", į norimą. Spalvos pagal priklausomybę tinklui Spalvinimas pagal OSMC pėsčiųjų žygių simbolius Vartotojų talpykla @@ -2153,13 +2094,13 @@ Specialiai atskiro žemėlapio atsisiųsti nereikia, šis rodinys bus sukurtas i Reljefo sluoksnis išjungtas Įsimintos vietos informacija Išjungti mano pozicijos simuliavimą - Simuliuoti naudojant apskaičiuotą maršrutą ar įrašytą GPX + Simuliuoti jūsų vietą naudojant apskaičiuotą maršrutą ar įrašytą GPX GPX failas su užrašų vietomis Pridėti įsimintą vietą Eilučių skaičius %1$s puslapyje Įsimintos vietos Rodyti nemokamos versijos pranešimą - Net jei ir turite mokamą versiją vistiek galite matyti mokamos versijos pranešimą + Rodyti nemokamos versijos vėliavėlę net jei ir turite mokamą versiją Prašome aktyvuoti jūrlapių įskiepį Kaip atsisiųsti žemėlapius, parinkti pagrindinius nustatymus Navigacijos nustatymas @@ -2247,33 +2188,23 @@ Specialiai atskiro žemėlapio atsisiųsti nereikia, šis rodinys bus sukurtas i Netoliese Audio bitų sparta Pasirinkite audio bitų spartą - " - • Nauja kontekstinė sąsaja skirta vietovės pasirinkimui žemėlapyje ir kituose languose - - - • Žemėlapio ekranas rodomas iš karto, nebent pasirinkimas \"Rodyti valdymo skydelį startuojant programai\" yra pažymėtas - - - • Nustatykite kaip ir kurios kortelės bus rodomos valdymo skydelyje - - - • Nenaudokite valdymo skydelio jei jums patinka programos valdymas meniu pagalba - - - • Tam, kad būtų atsiųsti žemėlapiai, pakanka paliesti regioną pasaulio žemėlapyje - - - • LV paieškoje galima naudoti tikslesnes užklausas - - - • Pagerintas LV ir OSM redagavimo funkcionalumas - - - • Perdaryti žemėlapio atsisiuntimo struktūra bei sąsaja - - - ir dar daugiau… - " + \\022 Nauja kontekstinė sąsaja skirta vietovės pasirinkimui žemėlapyje ir kituose languose +\n +\n • Žemėlapio ekranas rodomas iš karto, nebent pasirinkimas \"Rodyti valdymo skydelį startuojant programai\" yra pažymėtas +\n +\n • Nustatykite kaip ir kurios kortelės bus rodomos valdymo skydelyje +\n +\n • Nenaudokite valdymo skydelio jei jums patinka programos valdymas meniu pagalba +\n +\n • Tam, kad būtų atsiųsti žemėlapiai, pakanka paliesti regioną pasaulio žemėlapyje +\n +\n • LV paieškoje galima naudoti tikslesnes užklausas +\n +\n • Pagerintas LV ir OSM redagavimo funkcionalumas +\n +\n • Perdaryta žemėlapio atsisiuntimo struktūra bei sąsaja +\n +\n ir dar daugiau… Meniu mygtukas aktyvuoja valdymo skydelį, ne meniu Naudoti duomenų skydelį Sukurta nauja galimybė naudoti programėlę duomenų skydelio arba statinio meniu pagalba. Savo pasirinkimą galite bet kada pakeisti duomenų skydelio nustatymuose. @@ -2389,10 +2320,10 @@ Tai yra puikus būdas paremti OsmAnd ir OSM, jei jie jums patinka. Pakeisti žymeklio vietą Slinkti žemėlapį, kad pakeisti žymeklio vietą Garsinis krypties indikavimas - Nekeisti maršruto, kai jūs esate iš kelio - Nevykdyti automatinio maršruto perskaičiavimo, kai jūs esate ganėtinai toli nuo teisingo kelio - Nekeisti maršruto važiuojant neteisinga kryptimi - Nevykdyti automatinio maršruto perskaičiavimo, kai jūs judate ne į tą pusę + Neperskaičiuoti maršruto jei jo nebesekate + Automatiškai neperskaičiuoja maršruto kai jūs nuo jo nesekate + Neperskaičiuoti maršruto važiuojant priešinga kryptimi + Nevykdyti automatinio maršruto perskaičiavimo, kai jūs judate į priešingą pusę Išmanus autopranešėjas Pranešti tik kai kryptis iki tikslo taško yra pakeista Autopranešėjo periodas @@ -2429,54 +2360,39 @@ Tai yra puikus būdas paremti OsmAnd ir OSM, jei jie jums patinka. Atgal į paiešką Ar norite ištrinti pasirinktus įrašus iš istorijos? Rodyti %1$s žemėlapyje - " - • Nauja labai galinga tekstinė paieška - - - • Automobilio audio sistemos / garsiakalbio integracija per Bluetooth - - - • Patobulintas maršruto nurodymas, balso nurodymai ir posūkio juostų pateikimas - - - • Patobulintas transporto sluoksnio su maršrutais atvaizdavimas - - - • Pridėta daugiau lokalių ir dabar jau palaikomos regioninės lokalės - - - • Daugelis kitų patobulinimų ir ištaisytų klaidų - - - ir dar daugiau… - " + \\022 Nauja labai galinga pilno teksto paieška +\n +\n • Automobilio audio systemos / telefono garsiakalbio integravimas per Bluetooth +\n +\n • Patobulintos maršruto skaičivimas, balso nuorodos ir eismo juostų nuorodos +\n +\n • Patobulintas transporto sluoksnis su maršrutų atvaizdavimu +\n +\n • Pridėta daugiau lokalių ir dabar palaikomos regioninės lokalės +\n +\n • Daug kitų patobulinimų ir klaidų ištaisymų +\n +\n ir dar daugiau… Ieškoti %1$s spinduliu - " bendrinta iš OsmAnd" + bendrinta iš OsmAnd Ar norite atnaujinti visus žemėlapius? Taupus kelias Važiuoti taupiuoju keliu (paprastai trumpesnis) Antžeminiai objektai Pakeisti Pradėti - " - • OSM Live. Paremkite žemėlapių sudarytojus ir programuotojus bei gaukite žemėlapių atnaujinimus kas valandą. - - - • Žemėlapio žymekliai. Naujas būdas greitai pasirinkti vietas žemėlapyje. - - - • Detalesni OSM žemėlapiai su šalies specifiką atitinkančiais kelio ženklais ir daug naujų žemėlapio savybių. - - - • Nauja maršruto sudarymo išvaizda ir veiksena. - - - • Daug žemėlapio kontekstinio meniu pakeitimų, pvz. kaip kontekstinė adreso paieška. - - - ir dar daugiau… - " + \\022 OSM Live. Paremkite žemėlapių sudarytojus ir programuotojus bei gaukite žemėlapių atnaujinimus kas valandą. +\n +\n • Žemėlapio žymekliai. Naujas būdas greitai pasirinkti vietas žemėlapyje. +\n +\n • Detalesni OSM žemėlapiai su šalies specifiką atitinkančiais kelio ženklais ir daug naujų žemėlapio savybių. +\n +\n • Nauja maršruto sudarymo išvaizda ir veiksena. +\n +\n • Daug žemėlapio kontekstinio meniu pakeitimų, pvz. kaip kontekstinė adreso paieška. +\n +\n ir dar daugiau… Tu gali pašalinti atsisiųstus atnaujinimus ir grįžti prie pradinio žemėlapio Pasirinkite kitą regioną Ieškomi žemėlapiai… @@ -2825,4 +2741,26 @@ Tai yra puikus būdas paremti OsmAnd ir OSM, jei jie jums patinka. Minimalus išsaugojimo tikslumas Filtras: Nustatyti mažiausią tikslumą kad taškas būtų išsaugotas Transliteracija jei %1$s vardo nėra - \ No newline at end of file + Pratęsti/Pristabdyti navigaciją + Paspauskite mygtuką navigacijai pristabdyti arba atnaujinti jei buvo pristabdyta. + Rodyti navigacijos užbaigimo dialogą + Pradėti/Baigti navigaciją + Paspauskite šį migtuką navigacijai pradėti arba sustabdyti jei ji jau buvo pradėta. + \\022 Mapillary įskiepis gatvės lygmens vaizdams +\n +\n • Liniuoitės įrankis atstumo matavimui +\n +\n • GPX padalijimo intervalai su detalia informacija apie jūsų kelią +\n +\n • Kiti patobulinimai ir klaidų ištaisymai +\n +\n + Permatoma rožinė + Open Location kodas (OLC) + Vidurkis + %1$d iš %2$d + Pakilimas/Nusileidimas + Judėjimo laikas + Maks/Min + Min/Maks + From f8429f914cda9de9cb2fbd4e2646c93076c8a6a2 Mon Sep 17 00:00:00 2001 From: Matej U Date: Mon, 17 Jul 2017 21:24:44 +0000 Subject: [PATCH 094/140] Translated using Weblate (Slovenian) Currently translated at 99.6% (2355 of 2363 strings) --- OsmAnd/res/values-sl/strings.xml | 39 +++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/OsmAnd/res/values-sl/strings.xml b/OsmAnd/res/values-sl/strings.xml index bfc28ff779..1a678b1e52 100644 --- a/OsmAnd/res/values-sl/strings.xml +++ b/OsmAnd/res/values-sl/strings.xml @@ -1,4 +1,5 @@ - + + Poišči Iskanje podatkov @@ -2570,26 +2571,26 @@ Koda predstavlja območje: %1$s x %2$s Spremeni prekrivno plast zemljevida Prekrivna plast je spremenjena na »%s«. Podloga zemljevida je spremenjena na »%s«. - "\\u2022 Nova zmožnost: dodan je gumb za hitra dejanja -\n + "• Nova zmožnost: dodan je gumb za hitra dejanja +\n \n • Izboljšana odzivnost zaslona za upravljanje s potezami in dotiki -\n +\n \n • Nova pisava s široko podporo različnim jezikom -\n +\n \n • Podpora branja TTS za krajevne različice jezikov -\n +\n \n • Izboljšana preglednost različnih slogov zemljevidov -\n +\n \n • Izboljšan prikaz člankov z Wikipedije -\n +\n \n • Podpora OLC (Open Location Code) -\n +\n \n • Prikaz profila nadmorske višine, hitrosti in naklona za shranjene sledi GPX (poti in hitrosti) in preračunane poti -\n +\n \n • Nastavitev »sloga vožnje« in izboljšava preračunavanja kolesarskih poti -\n +\n \n • Mnogo izboljšav in razrešenih hroščev -\n +\n \n in še mnogo več …" Samodejno razdeli beleženje po vmesnih točkah Začne z novim odsekom po 6 minutnem premoru, novo sled po dvournem premoru oziroma s povsem novo datoteko beleženja, če je zamik čez datumsko mejo. @@ -2785,4 +2786,16 @@ Koda predstavlja območje: %1$s x %2$s Uporaba podatkov OSM in Wikipedije • Kakovostni podatki dveh najboljših sodelovalnih projektov na svetu • Podatki OSM so na voljo po državah ali regijah • Točke POI prek Wikipedije so odličen pripomoček za ogledovanje znamenitosti • Neomejeni prejemi posodobitev neposredno iz programa • Skrčeni vektorski zemljevidi za delo brez povezave se posodabljajo vsaj enkrat mesečno • Možnost izbire med popolnimi podatki območja ali pa zgolj cestnega omrežja (primer: zemljevid Japonske zasede 700 MB, japonsko cestno omrežje pa zgolj 200 MB) Najmanj/Največ OsmAnd je odprtokodni program, ki je v neprestanem razvoju. Vsakdo lahko sodeluje pri razvoju z objavljanjem hroščev, pregledom prevodov in razvojem programske opreme. Pri programu sodeluje živahna odprtokodna skupnost s celega sveta. Napredek razvoja je odvisen tudi od donacij za programiranje in preizkušanje programske opreme. Ocena kakovosti in pokritosti zemljevidov: • Zahodna Evropa: **** • Vzhodna Evropa: *** • Rusija: *** • Severna Amerika: *** • Južna Amerika: ** • Azija: ** • Japonska in Koreja: *** • Bližnji vzhod: ** • Afrika: ** • Antarktika: * Večina zemljevidov držav je na voljo za prejem! Uporabite zanesljiv navigacijski sistem za različne države – Francijo, Nemčijo, Mehiko, Združeno kraljestvo, Španijo, Nizozemsko, Združene države, Rusijo, Brazilijo in mnoge druge. - \ No newline at end of file + Nadaljuj/Ustavi navigacijo + Začni/Končaj navigacijo + \\022 Vstavek Mapillary za slikovno podporo ulic +\n +\n • Gradnik ravnila za merjenje razdalj +\n +\n • Razdelitev intervalov GPX za podrobnejši prikaz poti +\n +\n • Druge posodobitve in razrešene napake +\n +\n + Prosojna rožnata + From 1b5fcba8dfcb7adb4a461220f32bc0f13da37900 Mon Sep 17 00:00:00 2001 From: Franco Date: Mon, 17 Jul 2017 22:00:08 +0000 Subject: [PATCH 095/140] Translated using Weblate (Spanish) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-es/strings.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/OsmAnd/res/values-es/strings.xml b/OsmAnd/res/values-es/strings.xml index 08d2efd0eb..91cb5836b3 100644 --- a/OsmAnd/res/values-es/strings.xml +++ b/OsmAnd/res/values-es/strings.xml @@ -2623,12 +2623,12 @@ Por favor proporciona un código completo Tiempo moviéndose Máx/Min Min/Máx - \\u2022 Complemento de Mapillary con imágenes a nivel de calle -\n -\n • Control de regla para medir distancias -\n -\n • División de intervalos GPX con información detallada sobre la traza -\n + \\u2022 Complemento de Mapillary con imágenes a nivel de calle +\n +\n • Control de regla para medir distancias +\n +\n • División de intervalos GPX con información detallada sobre la traza +\n \n • Otras mejoras y corrección de errores \n \n From 8d60bbb8f505b2e3a2db407555da312a2fabdaa1 Mon Sep 17 00:00:00 2001 From: Franco Date: Tue, 18 Jul 2017 02:07:54 +0000 Subject: [PATCH 096/140] Translated using Weblate (Spanish (American)) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-es-rUS/strings.xml | 32 ++++++++++++++-------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/OsmAnd/res/values-es-rUS/strings.xml b/OsmAnd/res/values-es-rUS/strings.xml index 52153ae6ab..e2787c24e2 100644 --- a/OsmAnd/res/values-es-rUS/strings.xml +++ b/OsmAnd/res/values-es-rUS/strings.xml @@ -794,7 +794,7 @@ Se aprecia la participación activa, y las contribuciones pueden hacerse directa Grabación Notas multimedia Medición de distancia - No se definió la ubicación para asociar la nota. Utiliza \"Usar ubicación…\" para asignar una nota a la ubicación indicada. + No se definió la ubicación para asociar la nota. Utiliza «Usar ubicación…» para asignar una nota a la ubicación indicada. Notas de audio partes Curvas de nivel @@ -2324,7 +2324,7 @@ Si amas a OsmAnd, OSM y quieres apoyarlos, esta es una perfecta manera de hacerl Añadir marcador de mapa Añadir PDI Cambiar estilo del mapa - El estilo del mapa se cambió para \"%s\". + El estilo del mapa se cambió para «%s». Grabar nota de audio Grabar nota de video Tomar nota fotográfica @@ -2339,7 +2339,7 @@ Si amas a OsmAnd, OSM y quieres apoyarlos, esta es una perfecta manera de hacerl Añadir favorito Añadir acción Borrar acción - ¿Quieres borrar la acción \"%s\"? + ¿Quieres borrar la acción «%s»? Mostrar diálogo de favoritos Nombre predefinido Nombre de la acción @@ -2387,7 +2387,7 @@ Si amas a OsmAnd, OSM y quieres apoyarlos, esta es una perfecta manera de hacerl Cambiar fuente del mapa Fuentes del mapa Añadir fuente del mapa - La fuente del mapa se cambió a \"%s\". + La fuente del mapa se cambió a «%s». Cambiar ubicación del botón Mantener pulsado y arrastrar el botón para mover la ubicación en la pantalla Mostrar un diálogo temporal @@ -2398,12 +2398,12 @@ Si amas a OsmAnd, OSM y quieres apoyarlos, esta es una perfecta manera de hacerl Proporciona un código completo OLC completo y válido. \nÁrea representada: %1$s x %2$s - Se cambió el mapa superpuesto a \"%s\". - Se cambió el mapa subyacente a \"%s\". + Se cambió el mapa superpuesto a «%s». + Se cambió el mapa subyacente a «%s». Pulsar el botón de acción mostrará la siguiente lista. División automática de grabaciones en intervalos Iniciar nuevo segmento en el lapso de 6 min, nueva traza en el lapso de 2 h, o nuevo archivo en el lapso más largo si la fecha se cambió. - \\u2022 Nueva función: Botón de acción rápida + \\u2022 Nueva función: Botón de acción rápida \n \n • Mejorada la respuesta de gestos táctiles (p.e. panorámicas y ampliaciones simultáneas) \n @@ -2417,7 +2417,7 @@ Proporciona un código completo \n \n • Visualización del perfil de elevación, pendiente y velocidad para las trazas GPX grabadas y la ruta calculada \n -\n • Opción de \"Estilo de conducción\" y mejoras lógicas en el cálculo de rutas para bicicleta +\n • Opción de «Estilo de conducción» y mejoras lógicas en el cálculo de rutas para bicicleta \n \n • Ajustes para usar datos de altitud en el cálculo de rutas para bicicleta \n @@ -2620,9 +2620,9 @@ Proporciona un código completo Esta ruta puede ser muy larga para calcular. Añade destinos intermedios si no se encuentran resultados dentro de los 10 minutos. Para ver las curvas de nivel en el mapa, debes descargar el mapa de curvas de nivel de esta región. Complemento - Para ver las curvas de nivel en el mapa, debes comprar e instalar el complemento \"Curvas de nivel\" + Para ver las curvas de nivel en el mapa, debes comprar e instalar el complemento «Curvas de nivel» Para ver el sombreado del relieve en el mapa, debes descargar la superposición del sombreado de esta región. - Para ver el sombreado del relieve en el mapa, debes comprar e instalar el complemento \"Curvas de nivel\" + Para ver el sombreado del relieve en el mapa, debes comprar e instalar el complemento «Curvas de nivel» Ocultar desde el nivel de ampliación Alternar vista de problemas OSM en el mapa Mostrar problemas OSM en el mapa @@ -2679,12 +2679,12 @@ Proporciona un código completo Rango = Min/Máx Min/Máx - • Complemento de Mapillary con imágenes a nivel de calle -\n -\n • Control de regla para medir distancias -\n -\n • División de intervalos GPX con información detallada sobre la traza -\n + \\u2022 Complemento de Mapillary con imágenes a nivel de calle +\n +\n • Control de regla para medir distancias +\n +\n • División de intervalos GPX con información detallada sobre la traza +\n \n • Otras mejoras y corrección de errores \n \n From 5e8f26206e9bac78939dd54f9b64f794fc23c7e2 Mon Sep 17 00:00:00 2001 From: Franco Date: Tue, 18 Jul 2017 02:04:29 +0000 Subject: [PATCH 097/140] Translated using Weblate (Spanish (Argentina)) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-es-rAR/strings.xml | 32 ++++++++++++++-------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml index 5641431c29..c98dd1df7d 100644 --- a/OsmAnd/res/values-es-rAR/strings.xml +++ b/OsmAnd/res/values-es-rAR/strings.xml @@ -794,7 +794,7 @@ Se aprecia la participación activa, y las contribuciones pueden hacerse directa Grabación Notas multimedia Medición de distancia - No se definió la ubicación para asociar la nota. Utiliza \"Usar ubicación…\" para asignar una nota a la ubicación indicada. + No se definió la ubicación para asociar la nota. Utiliza «Usar ubicación…» para asignar una nota a la ubicación indicada. Notas de audio partes Curvas de nivel @@ -2324,7 +2324,7 @@ Se aprecia la participación activa, y las contribuciones pueden hacerse directa Añadir marcador de mapa Añadir PDI Cambiar estilo del mapa - El estilo del mapa se cambió para \"%s\". + El estilo del mapa se cambió para «%s». Grabar nota de audio Grabar nota de video Tomar nota fotográfica @@ -2339,7 +2339,7 @@ Se aprecia la participación activa, y las contribuciones pueden hacerse directa Añadir favorito Añadir acción Borrar acción - ¿Quieres borrar la acción \"%s\"? + ¿Quieres borrar la acción «%s»? Mostrar diálogo de favoritos Nombre predefinido Nombre de la acción @@ -2387,12 +2387,12 @@ Se aprecia la participación activa, y las contribuciones pueden hacerse directa Cambiar fuente del mapa Fuentes del mapa Añadir fuente del mapa - La fuente del mapa se cambió a \"%s\". + La fuente del mapa se cambió a «%s». Cambiar ubicación del botón Mantener pulsado y arrastrar el botón para mover la ubicación en la pantalla Mostrar un diálogo temporal - Se cambió el mapa superpuesto a \"%s\". - Se cambió el mapa subyacente a \"%s\". + Se cambió el mapa superpuesto a «%s». + Se cambió el mapa subyacente a «%s». Código de Ubicación Abierto (OLC) OLC inválido @@ -2403,7 +2403,7 @@ Proporciona un código completo Pulsar el botón de acción mostrará la siguiente lista. División automática de grabaciones en intervalos Iniciar nuevo segmento en el lapso de 6 min, nueva traza en el lapso de 2 h, o nuevo archivo en el lapso más largo si la fecha se cambió. - \\u2022 Nueva función: Botón de acción rápida + \\u2022 Nueva función: Botón de acción rápida \n \n • Mejorada la respuesta de gestos táctiles (p.e. panorámicas y ampliaciones simultáneas) \n @@ -2417,7 +2417,7 @@ Proporciona un código completo \n \n • Visualización del perfil de elevación, pendiente y velocidad para las trazas GPX grabadas y la ruta calculada \n -\n • Opción de \"Estilo de conducción\" y mejoras lógicas en el cálculo de rutas para bicicleta +\n • Opción de «Estilo de conducción» y mejoras lógicas en el cálculo de rutas para bicicleta \n \n • Ajustes para usar datos de altitud en el cálculo de rutas para bicicleta \n @@ -2619,9 +2619,9 @@ Proporciona un código completo Esta ruta puede ser muy larga para calcular. Añade destinos intermedios si no se encuentran resultados dentro de los 10 minutos. Para ver las curvas de nivel en el mapa, debes descargar el mapa de curvas de nivel de esta región. Complemento - Para ver las curvas de nivel en el mapa, debes comprar e instalar el complemento \"Curvas de nivel\" + Para ver las curvas de nivel en el mapa, debes comprar e instalar el complemento «Curvas de nivel» Para ver el sombreado del relieve en el mapa, debes descargar la superposición del sombreado de esta región. - Para ver el sombreado del relieve en el mapa, debes comprar e instalar el complemento \"Curvas de nivel\" + Para ver el sombreado del relieve en el mapa, debes comprar e instalar el complemento «Curvas de nivel» Ocultar desde el nivel de ampliación Alternar vista de problemas OSM en el mapa Mostrar problemas OSM en el mapa @@ -2678,12 +2678,12 @@ Proporciona un código completo Rango = Min/Máx Min/Máx - • Complemento de Mapillary con imágenes a nivel de calle -\n -\n • Control de regla para medir distancias -\n -\n • División de intervalos GPX con información detallada sobre la traza -\n + \\u2022 Complemento de Mapillary con imágenes a nivel de calle +\n +\n • Control de regla para medir distancias +\n +\n • División de intervalos GPX con información detallada sobre la traza +\n \n • Otras mejoras y corrección de errores \n \n From 253c3fd04bc9e31fbb4918b4645caed42e3db800 Mon Sep 17 00:00:00 2001 From: jan madsen Date: Mon, 17 Jul 2017 17:54:04 +0000 Subject: [PATCH 098/140] Translated using Weblate (Danish) Currently translated at 100.0% (3116 of 3116 strings) --- OsmAnd/res/values-da/phrases.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-da/phrases.xml b/OsmAnd/res/values-da/phrases.xml index e233eda480..c3646196ec 100644 --- a/OsmAnd/res/values-da/phrases.xml +++ b/OsmAnd/res/values-da/phrases.xml @@ -3497,7 +3497,7 @@ Dyr accepteret Formål -vilde dyr og planter +Vilde dyr og planter Heste Pattedyr Fisk From 3f718f2396385a739ee6b137eb608687ba5f4275 Mon Sep 17 00:00:00 2001 From: josep constanti Date: Tue, 18 Jul 2017 06:52:01 +0000 Subject: [PATCH 099/140] Translated using Weblate (Catalan) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-ca/strings.xml | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-ca/strings.xml b/OsmAnd/res/values-ca/strings.xml index 60eb647a4e..d1387ef04b 100644 --- a/OsmAnd/res/values-ca/strings.xml +++ b/OsmAnd/res/values-ca/strings.xml @@ -1,4 +1,5 @@ - + + Mostra alertes… Rutes amb fluorescència @@ -2413,9 +2414,9 @@ Abasta l\'àrea: %1$s x %2$s Aturonat Menys aturonat Pla - Ràpid + Amb preferència per les carreteres principals Equilibrat - Segur + Amb preferència per pistes Predilecció del terreny: pla o aturonat Indiqueu la variació d\'alçat Us agraïm la compra de la versió complerta d\'OsmAnd! @@ -2551,4 +2552,19 @@ Abasta l\'àrea: %1$s x %2$s Interval = Mín/Màx Mín/Màx - \ No newline at end of file + Continua/Atura la navegació + Premeu aquest botó per aturar la navegació, o per continuar-la si ja estava aturada. + Mostra el diàleg de finalització de la navegació + Inicia/Finalitza la navegació + Premeu aquest botó per iniciar la navegació o per aturar-la si ja estava començada. + \\022 Connector Mapillary amb imatges a nivell de carrer +\n +\n• Giny mètric per el mesurament de distàncies +\n +\n• Registre GPX dividit en intervals amb informació detallada del vostre trajecte +\n +\n• Altres millores i correccions d\'errors +\n +\n + Rosa translúcid + From 17c1b64503225ca8bd07e0d3e592241290d654c4 Mon Sep 17 00:00:00 2001 From: jan madsen Date: Tue, 18 Jul 2017 07:04:13 +0000 Subject: [PATCH 100/140] Translated using Weblate (Danish) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-da/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index 26dbe9d05a..38a06dda80 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -2651,9 +2651,9 @@ Repræsenterer område: %1$s x %2$s Kuperet Mindre kuperet Fladt - Hurtig + Foretræk større veje Balanceret - Sikker + Foretrækk sideveje Foretruknet terræn: fladt eller kuperet Vælg terræntype Tak for købet af den fulde version af OsmAnd! From c7db6e0e1b0f4456b48b7db98e79bba6adcf1fc7 Mon Sep 17 00:00:00 2001 From: PavelRatushny Date: Tue, 18 Jul 2017 10:44:34 +0300 Subject: [PATCH 101/140] Add checking for not null --- .../plus/myplaces/TrackSegmentFragment.java | 39 +++++++++++-------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/myplaces/TrackSegmentFragment.java b/OsmAnd/src/net/osmand/plus/myplaces/TrackSegmentFragment.java index 2949c48091..74f2273db3 100644 --- a/OsmAnd/src/net/osmand/plus/myplaces/TrackSegmentFragment.java +++ b/OsmAnd/src/net/osmand/plus/myplaces/TrackSegmentFragment.java @@ -278,17 +278,20 @@ public class TrackSegmentFragment extends OsmAndListFragment { imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - LatLon location = new LatLon(getGpx().findPointToShow().getLatitude(), - getGpx().findPointToShow().getLongitude()); - final OsmandSettings settings = app.getSettings(); - settings.setMapLocationToShow(location.getLatitude(), location.getLongitude(), - settings.getLastKnownMapZoom(), - new PointDescription(PointDescription.POINT_TYPE_WPT, getGpxDataItem().getFile().getName()), - false, - getRect() - ); + WptPt pointToShow = getGpx() != null ? getGpx().findPointToShow() : null; + if (pointToShow != null) { + LatLon location = new LatLon(pointToShow.getLatitude(), + pointToShow.getLongitude()); + final OsmandSettings settings = app.getSettings(); + settings.setMapLocationToShow(location.getLatitude(), location.getLongitude(), + settings.getLastKnownMapZoom(), + new PointDescription(PointDescription.POINT_TYPE_WPT, getGpxDataItem().getFile().getName()), + false, + getRect() + ); - MapActivity.launchMapActivityMoveToTop(getActivity()); + MapActivity.launchMapActivityMoveToTop(getActivity()); + } } }); final View splitColorView = headerView.findViewById(R.id.split_color_view); @@ -488,15 +491,17 @@ public class TrackSegmentFragment extends OsmAndListFragment { } public void updateSplitView() { - SelectedGpxFile sf = app.getSelectedGpxHelper().selectGpxFile(getGpx(), ((SwitchCompat)headerView.findViewById(R.id.showOnMapToggle)).isChecked(), false); - final List groups = getDisplayGroups(); - if (groups.size() > 0) { - updateSplit(groups, ((SwitchCompat)headerView.findViewById(R.id.showOnMapToggle)).isChecked() ? sf : null); - if (getGpxDataItem() != null) { - updateSplitInDatabase(); + if (getGpx() != null) { + SelectedGpxFile sf = app.getSelectedGpxHelper().selectGpxFile(getGpx(), ((SwitchCompat)headerView.findViewById(R.id.showOnMapToggle)).isChecked(), false); + final List groups = getDisplayGroups(); + if (groups.size() > 0) { + updateSplit(groups, ((SwitchCompat)headerView.findViewById(R.id.showOnMapToggle)).isChecked() ? sf : null); + if (getGpxDataItem() != null) { + updateSplitInDatabase(); + } } + updateSplitIntervalView(headerView.findViewById(R.id.split_interval_view)); } - updateSplitIntervalView(headerView.findViewById(R.id.split_interval_view)); } private void refreshTrackBitmap() { From df29ae53561330eaf4370a869740d1d0be837812 Mon Sep 17 00:00:00 2001 From: Verdulo Date: Tue, 18 Jul 2017 09:31:43 +0000 Subject: [PATCH 102/140] Translated using Weblate (Esperanto) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-eo/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml index 5c72bd0c99..b8da557316 100644 --- a/OsmAnd/res/values-eo/strings.xml +++ b/OsmAnd/res/values-eo/strings.xml @@ -2487,9 +2487,9 @@ Indikas lokon: %1$s x %2$s" Malebena Malpli ebena Ebena - Rapida + Preferi ĉefajn vojojn Ekvilibra - Sekura + Preferi flankajn vojojn Elekti nivel-ombruman glatecon Dankon al ci por aĉeti la plenan version de OsmAnd! Parkumadaj agordoj From 5a76091adcc67f57100a524f6ac84f45ca4a338f Mon Sep 17 00:00:00 2001 From: Franco Date: Tue, 18 Jul 2017 13:23:07 +0000 Subject: [PATCH 103/140] Translated using Weblate (Spanish (Argentina)) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-es-rAR/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml index c98dd1df7d..5c7dbb7c20 100644 --- a/OsmAnd/res/values-es-rAR/strings.xml +++ b/OsmAnd/res/values-es-rAR/strings.xml @@ -2463,9 +2463,9 @@ Proporciona un código completo Empinado Poco empinado Plano (llanura) - Velocidad + Preferir caminos principales Equilibrado - Seguridad + Preferir caminos secundarios Terreno preferido: llano o empinado No enviar estadísticas de uso anónimas de la aplicación OsmAnd recopila información acerca de las secciones que abres en la aplicación. No recopilamos datos de ubicación, ingresos en la aplicación o datos relacionados con las áreas que visualizas, buscas o descargas. From 27332ee907dacbcd33ec189abda50ccb97a93296 Mon Sep 17 00:00:00 2001 From: Franco Date: Tue, 18 Jul 2017 13:25:36 +0000 Subject: [PATCH 104/140] Translated using Weblate (Spanish (American)) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-es-rUS/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-es-rUS/strings.xml b/OsmAnd/res/values-es-rUS/strings.xml index e2787c24e2..0b3cdcebcc 100644 --- a/OsmAnd/res/values-es-rUS/strings.xml +++ b/OsmAnd/res/values-es-rUS/strings.xml @@ -2463,9 +2463,9 @@ Proporciona un código completo Empinado Poco empinado Plano (llanura) - Velocidad + Preferir caminos principales Equilibrado - Seguridad + Preferir caminos secundarios Terreno preferido: llano o empinado No enviar estadísticas de uso anónimas de la aplicación OsmAnd recopila información acerca de las secciones que abres en la aplicación. No recopilamos datos de ubicación, ingresos en la aplicación o datos relacionados con las áreas que visualizas, buscas o descargas. From 94d806e172463b4e08b569053dcd18159aefeea3 Mon Sep 17 00:00:00 2001 From: Franco Date: Tue, 18 Jul 2017 13:26:39 +0000 Subject: [PATCH 105/140] Translated using Weblate (Spanish) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-es/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-es/strings.xml b/OsmAnd/res/values-es/strings.xml index 91cb5836b3..acbdbbc4c2 100644 --- a/OsmAnd/res/values-es/strings.xml +++ b/OsmAnd/res/values-es/strings.xml @@ -2436,9 +2436,9 @@ Por favor proporciona un código completo Empinado Poco empinado Llano - Velocidad + Preferir carreteras principales Equilibrado - Seguridad + Preferir carreteras secundarias Terreno preferido: llano o empinado Bereber No enviar estadísticas de uso anónimas de la aplicación From 8268caaf35295c27ca9cab46c1e9aea37913ba53 Mon Sep 17 00:00:00 2001 From: Alexander Sytnyk Date: Tue, 18 Jul 2017 16:40:33 +0300 Subject: [PATCH 106/140] Fix #4027 --- .../src/net/osmand/plus/poi/PoiFiltersHelper.java | 12 ++++-------- OsmAnd/src/net/osmand/plus/poi/PoiUIFilter.java | 15 ++++++++++++--- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/poi/PoiFiltersHelper.java b/OsmAnd/src/net/osmand/plus/poi/PoiFiltersHelper.java index f6578e61ee..43f9c10c35 100644 --- a/OsmAnd/src/net/osmand/plus/poi/PoiFiltersHelper.java +++ b/OsmAnd/src/net/osmand/plus/poi/PoiFiltersHelper.java @@ -1,5 +1,7 @@ package net.osmand.plus.poi; +import android.support.annotation.NonNull; + import net.osmand.osm.AbstractPoiType; import net.osmand.osm.MapPoiTypes; import net.osmand.osm.PoiCategory; @@ -12,15 +14,9 @@ import net.osmand.plus.api.SQLiteAPI.SQLiteCursor; import net.osmand.plus.api.SQLiteAPI.SQLiteStatement; import net.osmand.util.Algorithms; -import android.support.annotation.NonNull; -import android.util.ArraySet; - -import java.lang.reflect.Array; -import java.text.Collator; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; -import java.util.Comparator; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashMap; @@ -198,7 +194,7 @@ public class PoiFiltersHelper { } public List getTopDefinedPoiFilters() { - if (cacheTopStandardFilters == null) { +// if (cacheTopStandardFilters == null) { List top = new ArrayList(); // user defined top.addAll(getUserDefinedPoiFilters()); @@ -213,7 +209,7 @@ public class PoiFiltersHelper { } Collections.sort(top); cacheTopStandardFilters = top; - } +// } List result = new ArrayList(); result.addAll(cacheTopStandardFilters); result.add(getShowAllPOIFilter()); diff --git a/OsmAnd/src/net/osmand/plus/poi/PoiUIFilter.java b/OsmAnd/src/net/osmand/plus/poi/PoiUIFilter.java index 196be1f19e..e7d4e82846 100644 --- a/OsmAnd/src/net/osmand/plus/poi/PoiUIFilter.java +++ b/OsmAnd/src/net/osmand/plus/poi/PoiUIFilter.java @@ -26,7 +26,6 @@ import net.osmand.util.OpeningHoursParser; import net.osmand.util.OpeningHoursParser.OpeningHours; import java.util.ArrayList; -import java.util.Arrays; import java.util.Calendar; import java.util.Collections; import java.util.HashMap; @@ -261,7 +260,7 @@ public class PoiUIFilter implements SearchPoiTypeFilter, Comparable } } } - List amenities = searchAmenitiesInternal(top / 2 + bottom / 2, left / 2 + right / 2, + List amenities = searchAmenitiesInternal(top / 2 + bottom / 2, left / 2 + right / 2, top, bottom, left, right, zoom, matcher); results.addAll(amenities); return results; @@ -573,10 +572,20 @@ public class PoiUIFilter implements SearchPoiTypeFilter, Comparable } public void combineWithPoiFilter(PoiUIFilter f) { - acceptedTypes.putAll(f.acceptedTypes); + putAllAcceptedTypes(f.acceptedTypes); poiAdditionals.putAll(f.poiAdditionals); } + private void putAllAcceptedTypes(Map> types) { + for (PoiCategory category : types.keySet()) { + if (acceptedTypes.containsKey(category)) { + acceptedTypes.get(category).addAll(types.get(category)); + } else { + acceptedTypes.put(category, types.get(category)); + } + } + } + public void combineWithPoiFilters(Set filters) { for (PoiUIFilter f : filters) { combineWithPoiFilter(f); From 9b54fb7725e0814f65a3062c0c3bd06ab24bc63f Mon Sep 17 00:00:00 2001 From: PavelRatushny Date: Tue, 18 Jul 2017 16:45:54 +0300 Subject: [PATCH 107/140] Fix logo jumping between spalsh screens --- OsmAnd/res/drawable/first_splash_screen_free.xml | 4 ++-- OsmAnd/res/drawable/first_splash_screen_free_dev.xml | 4 ++-- OsmAnd/res/drawable/first_splash_screen_plus.xml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/OsmAnd/res/drawable/first_splash_screen_free.xml b/OsmAnd/res/drawable/first_splash_screen_free.xml index aec9198e4d..b3d6f99388 100644 --- a/OsmAnd/res/drawable/first_splash_screen_free.xml +++ b/OsmAnd/res/drawable/first_splash_screen_free.xml @@ -2,9 +2,9 @@ - + \ No newline at end of file diff --git a/OsmAnd/res/drawable/first_splash_screen_free_dev.xml b/OsmAnd/res/drawable/first_splash_screen_free_dev.xml index aec9198e4d..b3d6f99388 100644 --- a/OsmAnd/res/drawable/first_splash_screen_free_dev.xml +++ b/OsmAnd/res/drawable/first_splash_screen_free_dev.xml @@ -2,9 +2,9 @@ - + \ No newline at end of file diff --git a/OsmAnd/res/drawable/first_splash_screen_plus.xml b/OsmAnd/res/drawable/first_splash_screen_plus.xml index 278da90a36..1dc65ed611 100644 --- a/OsmAnd/res/drawable/first_splash_screen_plus.xml +++ b/OsmAnd/res/drawable/first_splash_screen_plus.xml @@ -2,9 +2,9 @@ - + \ No newline at end of file From b3dd8e83aa5fc52054f02e9c5f84252e2892e66e Mon Sep 17 00:00:00 2001 From: Ajeje Brazorf Date: Tue, 18 Jul 2017 14:52:43 +0000 Subject: [PATCH 108/140] Translated using Weblate (Sardinian) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-sc/strings.xml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-sc/strings.xml b/OsmAnd/res/values-sc/strings.xml index bf01f4299e..7cb0a27aa4 100644 --- a/OsmAnd/res/values-sc/strings.xml +++ b/OsmAnd/res/values-sc/strings.xml @@ -2566,9 +2566,9 @@ Pro praghere iscrie su còdighe intreu Cùcuros/montigros Pagos cùcuros Terrinu in paris - Lestru + Privilègia sas istradas printzipales Bilantziadu - Seguru + Privilègia sas istradas segundàrias Valore de variatzione de s\'artària Gràtzias pro àere comporadu sa versione intrea de OsmAnd! No imbies informatziones anònimas a pitzu de s\'impreu de s\'aplicatzione @@ -2710,4 +2710,9 @@ Pro praghere iscrie su còdighe intreu Rosa translùtzidu Mèdiu Ascendente/Discendente + Faghe sighire/Pone in pàusa su nàvigu + Incarca custu butone pro pònnere in pàusa su nàvigu, o pru lu sighire si est giai in pàusa. + Ammustra sa ventana pro sa fine de su nàvigu + Incumintza/Acaba su nàvigu + Incarca custu butone pro incumintzare su nàvigu, o pro l\'acabare si est giai incumintzadu. From 2bd33d6ad5023f76907c2ee4ecd1b4f503cd03a2 Mon Sep 17 00:00:00 2001 From: ezjerry liao Date: Tue, 18 Jul 2017 15:58:30 +0000 Subject: [PATCH 109/140] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-zh-rTW/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index 1dd1998079..3f8539a8f6 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -2643,9 +2643,9 @@ OsmAnd (Automated Navigation Directions) 是一個地圖和導航的應用程式 丘陵 小的丘陵 平地 - 速度 + 較喜歡的主要道路 均衡 - 安全性 + 較喜歡小路 偏愛的地形:平地或丘陵 感謝您購買完整版的 OsmAnd! 選擇高度起伏 From e22dc8aa5e44415f26a5e81fc2873ed3bce5e264 Mon Sep 17 00:00:00 2001 From: Dmitriy Prodchenko Date: Tue, 18 Jul 2017 19:03:22 +0300 Subject: [PATCH 110/140] Add OsmAnd logo for different cases. --- .../res/drawable-hdpi/image_text_osmand.png | Bin 3104 -> 3318 bytes .../drawable-hdpi/image_text_osmand_inapp.png | Bin 0 -> 4488 bytes .../image_text_osmand_osmlive.png | Bin 0 -> 4758 bytes .../drawable-hdpi/image_text_osmand_plus.png | Bin 3233 -> 3458 bytes .../image_text_osmand_plus_osmlive.png | Bin 0 -> 4930 bytes .../res/drawable-mdpi/image_text_osmand.png | Bin 2478 -> 2669 bytes .../drawable-mdpi/image_text_osmand_inapp.png | Bin 0 -> 3458 bytes .../image_text_osmand_osmlive.png | Bin 0 -> 3610 bytes .../drawable-mdpi/image_text_osmand_plus.png | Bin 2558 -> 2736 bytes .../image_text_osmand_plus_osmlive.png | Bin 0 -> 3703 bytes .../res/drawable-xhdpi/image_text_osmand.png | Bin 4087 -> 4429 bytes .../image_text_osmand_inapp.png | Bin 0 -> 5939 bytes .../image_text_osmand_osmlive.png | Bin 0 -> 6297 bytes .../drawable-xhdpi/image_text_osmand_plus.png | Bin 4267 -> 4607 bytes .../image_text_osmand_plus_osmlive.png | Bin 0 -> 6516 bytes .../res/drawable-xxhdpi/image_text_osmand.png | Bin 5781 -> 6311 bytes .../image_text_osmand_inapp.png | Bin 0 -> 8461 bytes .../image_text_osmand_osmlive.png | Bin 0 -> 9099 bytes .../image_text_osmand_plus.png | Bin 6027 -> 6575 bytes .../image_text_osmand_plus_osmlive.png | Bin 0 -> 9483 bytes .../drawable-xxxhdpi/image_text_osmand.png | Bin 7581 -> 8340 bytes .../image_text_osmand_inapp.png | Bin 0 -> 11250 bytes .../image_text_osmand_osmlive.png | Bin 0 -> 12200 bytes .../image_text_osmand_plus.png | Bin 7897 -> 8691 bytes .../image_text_osmand_plus_osmlive.png | Bin 0 -> 12639 bytes 25 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 OsmAnd/res/drawable-hdpi/image_text_osmand_inapp.png create mode 100644 OsmAnd/res/drawable-hdpi/image_text_osmand_osmlive.png create mode 100644 OsmAnd/res/drawable-hdpi/image_text_osmand_plus_osmlive.png create mode 100644 OsmAnd/res/drawable-mdpi/image_text_osmand_inapp.png create mode 100644 OsmAnd/res/drawable-mdpi/image_text_osmand_osmlive.png create mode 100644 OsmAnd/res/drawable-mdpi/image_text_osmand_plus_osmlive.png create mode 100644 OsmAnd/res/drawable-xhdpi/image_text_osmand_inapp.png create mode 100644 OsmAnd/res/drawable-xhdpi/image_text_osmand_osmlive.png create mode 100644 OsmAnd/res/drawable-xhdpi/image_text_osmand_plus_osmlive.png create mode 100644 OsmAnd/res/drawable-xxhdpi/image_text_osmand_inapp.png create mode 100644 OsmAnd/res/drawable-xxhdpi/image_text_osmand_osmlive.png create mode 100644 OsmAnd/res/drawable-xxhdpi/image_text_osmand_plus_osmlive.png create mode 100644 OsmAnd/res/drawable-xxxhdpi/image_text_osmand_inapp.png create mode 100644 OsmAnd/res/drawable-xxxhdpi/image_text_osmand_osmlive.png create mode 100644 OsmAnd/res/drawable-xxxhdpi/image_text_osmand_plus_osmlive.png diff --git a/OsmAnd/res/drawable-hdpi/image_text_osmand.png b/OsmAnd/res/drawable-hdpi/image_text_osmand.png index eadfca79d7b555835f2ae31fd9432675e1f1f8f2..a26b0faa2e85ef42d0125c320f854f245e5542b2 100644 GIT binary patch delta 2575 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 VLcRz+XZOAkz?$Yjts(nx{|#o_EZ6`5 diff --git a/OsmAnd/res/drawable-hdpi/image_text_osmand_inapp.png b/OsmAnd/res/drawable-hdpi/image_text_osmand_inapp.png new file mode 100644 index 0000000000000000000000000000000000000000..8e331b4e22bc2f23885d2795aa399c1b5fd8067e GIT binary patch literal 4488 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 DxFg7< literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-hdpi/image_text_osmand_osmlive.png b/OsmAnd/res/drawable-hdpi/image_text_osmand_osmlive.png new file mode 100644 index 0000000000000000000000000000000000000000..ef8e6b61b48747c788bfab8ab181ae03f8b50eb4 GIT binary patch literal 4758 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 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-hdpi/image_text_osmand_plus.png b/OsmAnd/res/drawable-hdpi/image_text_osmand_plus.png index c9660fcb5415256526dec458bbb9d969f5cc8d23..4d8e665d1b8e71ba5763b54b64cb8df364a60211 100644 GIT binary patch delta 2716 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 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-mdpi/image_text_osmand.png b/OsmAnd/res/drawable-mdpi/image_text_osmand.png index db4838a5abf6fd4c2252f5e8ff71a8b648895a27..a841937deb7a790e3047330ef8ef1c0d18e85084 100644 GIT binary patch delta 1919 zcmV-_2Y~pl6YUfsiBL{Q4GJ0x0000DNk~Le000220000a2nGNE02I>EZIK};0eF#0 zlOQ-CH#sgbH90skG%O%8FfleSFgY(VG%YYOIxsmpFfp^M zf`8APb(jDE28&5VK~#9!>|Bd+;xG_3Od9Z&;50zSDIt_#N-!lr384fi0hbV$fF~8i zC7eshX_==R$C0!v*@Q4?XEcQPBYE|-dix|Z`~3V&qD8wEn@1N!yCr+jf6QjH=#6Ms zv-kJ+Tz#a5L+xU*Xukn=WM$`yo}Qk%=zscXfp%0SGyK0&WfcrqjD#1I45K2&F#;?V z8WA-W1>z?5MNklUu|ymS4AtFJ0)Ycd^|7&x0&N<+830Y!5qNjX$%hC-uNmuT1FSl} zx>wN7B_myx5B2As0jtgEnmyeEQ6m~}r46jT<549rfR!TZTOd$Pz=YaUHpk|x(yg$JBHI1j)y&&fMJq( zs6$D8FeD0D4Omww<@6S>{z3jcQJc}fK6G;JwxF*UU}3%1(!W|w&TmQ0lcj+9@l$qt55~Q@yxdRI}0@mX@OcAw{AMk}VD0Ra8 zM-&X_9;3Gi$$vyKbr($1W11$G9ub{J`hG-bUBfmvcHduNa}T~kwhyR-yQa28tp+N< z3hk1N^y4k;0Ar-Av6fH7@285;sjyFSZ@?mJbA|5=Nlz;26grn_NXHElY7?mdkV2jl zeyKOVfk06tVGAQuaO0l_EZZI?`E*9uL_pg0x_!Yk;D1BFd$-JPsMHX3w~Q2W3xK^e zpo*W~+>L&;^+{=q`iQ>bH&7l-5sk^xHD^5bb|*DGut)*ZxZb42dNgT^>){SDC<$JP z(J!I{FAg7diCfbh+N+~~O3!;uVU>kL>%A2eY|dL1F`!;R8Pj0E!j{NJrQE|esi2_5Nv{GfVm^QuPzj= z&iA%S9e6>pG;qFG45E`O6BY>n*Nm}` zy;j{grpqz1%sTnqRx%W+@dQXcCfT_VXb%AcPk%f!&Y8+vNK3ns(e}*EuvXnN9S}N5 zwm0zWGUbHPRT5>3Ysh@q+p+b0hTUku_8LHyKcW#nyS7?1LQRYeYoG1 z=l~~W9WDUat3+A!;|{q{%jGgYuibok3DJ{_^?wYm|KeVYQcv-MU~f}J-m6d7G1*Iq z(KIePSo7rTOO34$1?vCk_ALGaceGow_zT?8Zp!`%FaQ8Q4)yCwn8pAA002ovPDHLk FV1fqjYyJQL delta 1726 zcmV;v20{7l6s{8?iBL{Q4GJ0x0000DNk~Le000270000e2nGNE0I@(DPLUxf0eX>2 zlOQr6H#sgbH90akG%O%8FfleSFf=bQIV~|WIx#akG%&IKVgVmULpL}^GBPzeFhVgg zMK?J`MMFbIMMOC`Ff%YVK{bmG&eUbI5jk3Ei`6kGA&{-Gh!_V@CG&nFhWiT_7 zL<53<zI1#R~zR12H6OPw^QcwJTx|WYr5)U(E38e-C`y?L9FjG1x zMa8FK8PG^>K#Mye!0K8yf!X0}-Z>w-b3G&;*xjIS>R6 zp@w@e9v)gxeG%vn^nqf#|<~ zmc-8goeP^{3RyDB;d1=Sz|Q%w6s(thFka?DGquP8?ze@nlViY*9|i(9zcp}vM%)Mr zgTS`x|GcpA1iNEs+nw@qeg)Ak!m5z?8yaRc22NUMAom*TeIoT5Xp@smuApuW#pR<- zMs4o5;ohTD_#%#Pb&SfB7Y~uxK>wzH#!ahva`I!DFt6jZ9p0Eg*4UCL2dn0%=@DQR=A5e4b(j_eO5<=TBxZoEu{!q=F0dS2`>2kJu;uS6HG3)+!hmL z!jR%`QTNt?pf4tMbP`yMN~kS=R}n6_daQ9RJP> z8sEH3NGyRn2xgw(UyjuoCeRDq^MSk{<)(48XiHqjYJN)bym>Nd32hvI>PtmruwFrq zFN7RfB<>lSBGpW#)~y1QtxX`X1+8wqYswwjk79%qTua;~Nm|WJ{AQ5=H+4US1p*uI zdX2PM1;(sF2>cG?W=Ag5n?zwsNt_}W%@EpHGlu$b@girPLF4QLnpp`nBWB_`vTKk! zCqW-_`NplVFH`SWA@9_GBG%4Lm?#q4L?Wh4fPUf{GwDn4wazM>R+DHQi67qw?nyb- zvLXW2sT5c@BZ*CfOIZoVoLXIEFQ`nBm|B@i32ra~PYI3dAJw3hFOh?1g~5jOcTWE? z*$(gZXQG@VgTy&xB2ipDlb|Ms#FQCrB8f~bWp{+H%1!MJ19zBzGoACpk^Q|s_pY!I z`aDYUcDG6I=@=2R+podV1V{Ba8^x;`C!Nj|GvwCh6?1%a3W+UYBDkw)ZskQ2t^{W< zhD)El0I8{^Z2cf4=H`&+@U?G6Votvr6}e*PK&6-59)*VJ1ZNF=tK_LY1NUL6m`5S; z>cJ-o6|7t2y)~kLDA^}}o)N8Q2qL&sxQN-139%C=b1~DmL6KG`^SoqkyPf?;=nBfyjI11;Kk%1 zu`~NF8_*}t$i3pNi+2f=XR99LtQoaJ7fY7pXn!VrDA|DuwmY>DlH(QrmF#A7pRjrr zzJ#A2=Cs#wfgitr00L7PgLVcI-&z|x|M;C4PZuk(t?85h-yH})?dtq2_d&sWlvc4S z?{R$BhW6TY?c_WtTJST_>fghsR^mo!t*1#`Q1FN-Uy3g%BrYf@BrYgO#9sjh0KasI U!_kw()Bpeg07*qoM6N<$f+L{{$p8QV diff --git a/OsmAnd/res/drawable-mdpi/image_text_osmand_inapp.png b/OsmAnd/res/drawable-mdpi/image_text_osmand_inapp.png new file mode 100644 index 0000000000000000000000000000000000000000..9650b2f64e6f5118113c5b5298ebe917a8b91474 GIT binary patch literal 3458 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 GC;tyqw&ckG literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-mdpi/image_text_osmand_osmlive.png b/OsmAnd/res/drawable-mdpi/image_text_osmand_osmlive.png new file mode 100644 index 0000000000000000000000000000000000000000..a52503e793e312fde2a83511447ea46583459b47 GIT binary patch literal 3610 zcmbVPc{o&iAGcNZZkFsBLqf(Z#+aE5SJuH;vM0-!IhdFkW9p#TU^C58ig03!K7OebI=A|f77 z@$zH&5nQk&I@N@@E@Ki;jTWLsL@cc0qlu(QfCUN#!YMQyc<%PUz#s}42lh21zzESc zKm^5+!vH)vu3jWgBnd+XTUmlE;;}*kD!?Lw;;B(ICN>@i{(~1QoUd;~!Jt1xSdlpJ zpGNr++(9;U1^_ZMK|x4xQ#8mNV*)qBpbd zau{}xt^E&O!W9l2!D2;Yq0qRvIFmS26FMUt3ddkDP#6M=KtO~N5at0Iix>}~F?D}3 z*aA!vgA&c6&}pD`Mq((P&BB3&mj3AiHJU*9i5eG3IvW<|wqiJ=)#|ZSxb0r!iSX8VUHRnv6R2D!rU~J z2w>nS2oga=Lxet~A(&7A1_^_~L&+Eb|&@qLF@neyW-}QC)3EV@{2B0_adydQjieY1kBZ~QoUyODREvW}KG(F3N-F@PUivDkXH;9hpy*gZJQtw}E$ z7NWb_`|OdJsP&N17WKE>rrCiGt>R1lX?2%$qYfUND9WxMMf8r6FW(!?pTB z)y*}RFX@)E3a(2?*S1`yh3S>0-OOJw>(9+_O*RvCEqa(t$X0GO;_V~oS9;&}kpV4r z>Qof@3U;3w3^9lrn@X{ZowQZt^YhrL%q=cDnR`zPz&YN_wBhL0Wqe?t?9dX-k1f)% z_pLEEUsl90Agw7fIE~S-$%j1iCzgc;O==*w?%3!V3Kc!i@l*NJKD}#j) zUuVUO_Ji_vW1o0`NgaBvopSl5YB-amz@p- z_1n7jS6ohiY;JC8N&3{xr5=0#WqfV4@y<T#2DneK{PPwhh-e{W?U-I${3p_X%_ zcK`F=MwgjA``vx(wrIEGs*P%QJZ2r5a=xIybdTvyxN0mrP~R-5;@lu!xAO$(9D`?s zmn}U(C&vK-v&ngE@>?>pl1NyVQlSF5A=Kl=l^V2IXFFN%yiMY1Gd%DwQtTA{R-cfr z1n|ulnag#qysC1mnYg0`*IngV$G*K5OM;$)?A|NK{v?035^`pMr@zD}0>6;vaxPRG z@I@gDwKK{WnJ(D!Jd{WlyO Ci!y5?U7|zk$jCV_Wx)@ncF~@*}Z94e`FO!w=-B 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 WNfI_Yx#m#-00002 zlOQr6H#sgbH90akG%O%8FfleSFf=bQIV~|WIx#akG%&IKVF4gAMnXe2I7BlwIWR&o zF-12yMMXnHMnyz9I50CXHbFI$egYgIGDbo}HaJ8wH90UsF)>9qIYmW7Lq1{z63K~#9!>|Kv>>O2fLTo-UhNJnr-pd*A4U<4QeMj#`=2+as& z1Tw!*KK%IDn9hE*@MwA~d_u#KFXo#42H;lLw()2k*V1X|v#>6}we7F1 zkok-99F7R!mIAu*(43)RFV}V;z~-Y2&b>Gw6be^zn)qI5LV#;6+IJ+-x`5Y?wG-B} z0Dng*!%WyT4Z!UN0>?%`7wlPN2|y_{0>IgLZ7AA^pak(Kh1)6gB=knaTol<%WTkGI zNTY69OiDW+;QU&qqH_*H-|Nu{NIm6)2`U5^UJI+XXpq&Abl9la1$o8jyoE^Vtl962|kr9e;C@ zz?*xtHDCqAIg z%{&Q}m~{7vVTm9JFF{=v4x@TNz-fki+iLhP zXxqE7pRtlW4^$i)5zG^D>?*EDxMLgSnL;dE^NN7W1_WF~FjWVFt%9Jsbbk^upX!zo zjRji?iGmsY4YB4e*x%utCGvcfs~%#V3gS4{qEbro)8R=$SUKOlXhbH~F!npN<&?oU zXKIM^_|=NsU}(s!G8r@pGh!9BhOSIUW5hr;h0UT}4i8~w5IelEA z6_Et$O52wM0P%ysj8SEOa5kzmUN6Rz)=+yeG&&4*t#Y-)PJAPz}j6R1+8WV z^4!lu?jPfA`&@rI+Bq@-GXzgKO123E)8uvvm@{3eJQ8$NxmZcWR-ue00Dnl8i;ZQnLf7bqhz%bFxRCqG)db&U_q~8hrNnK`VooqDq$X~w z_{$L$oQI{4#{#(3$N{YgWm+T8Z4jkC$sGaS5NlEqLTh)EvH++e+?e(pDqD2~(5^cy zVKYDi<2Px6@TyVxy52qQka=1$$4W^jPb_J@pRKxOByCCAL4Qs34R&msyf#@8S_vK# zE7Xc!sCE+|M@JEqj`lVPn8$403MNRf#MC1Jw^#nR7_<}LH|hnpiI@}az))p2cI=wa z*sBir$gaJe6`qAFpPcs@;gWOrnxx*wc+~4Ip|5nk#GWkFu3a`mn9^E=jJZ(#Qrcsv zQdki@;_{qYD1Uxr@}y94o7GmY1~}{b*{on6YiDDUkUF`t2hg`_9D93El_jx)jU`VW zne|&L-pk8emwGaQa|QVW{&Grg>^A2gOoqGbZz0z!A?_T*BvF~eVgSHB+RE8@?u(dD z8{0pNm%=Ui!UyZ|b5%Ajus`PEZn{&e+ZK8$H}`QjorkdOdQNJvNkCnPi;`YXTy78kdx!VFl|00000NkvXXu0mjfhW9J8 diff --git a/OsmAnd/res/drawable-mdpi/image_text_osmand_plus_osmlive.png b/OsmAnd/res/drawable-mdpi/image_text_osmand_plus_osmlive.png new file mode 100644 index 0000000000000000000000000000000000000000..036c19d1ee12aaa41948ddb05e3b05cfcc0fd55e GIT binary patch literal 3703 zcmbVPXH-+!+K#lLgwY8ts7MUp&_XJKgf^5=gg`*lgd(H?8At*l7@7qHK~NDv1q($5 z6e2=Eh9)RY5d=X{DT1hYFTIG;RBo8j`RH+766*`Z=I0AOwv8A_!GGx-o2GmyoxfX>x5LLn@M1@xdX z5kU;KWd^Yvqj}7I(XO8K=wLdI0kyJ(m`CEp1Z*as3W;QgaKiDC7SKO=@#6ia7!HN} zslpGofd1tanMi`za(PUMu@M$VN1{z3CO9LcG0qf)F@&HHNGu$IgCj981QL(H;Sos4 z_X{ev#$yEFJ?!ki+Y+BFph0|oC>{@I5+|YN1(>ZGT{$IN^LMhtB+AnOdjhnlVQ)}vLSzF z8qfL%FHF!hDiepq!Z0YRDNG!*DGWzrB47asB#nW?Fc@ei4*DI>`2S`QE_MpO*)IRp zK0id_p4{C2Jq+T*-{ZvOh-Zi=9u{`TmloSQNOc1cGa>4bUC_Vt}8>ay_A zE3d09nR;OnkyOlqPtVQ80A;jxD3hgt_J?&-j;X4ulDD6}J=Sx>VSGOAt|_Ma*v7X9 zpYUm#Ryiy8la>YNNP3A#<(3maZIw8nXm7)B^6-cqRqR;H8mw$JE5GA{+!BSz5PInK z2;V+OZj+Zr@7=1SP05YW>CwJdoL!C#i=fz`XBTn6P~$KAUUoty;(c_WJG&%nF6V

r)E7%OaiY{Y_I5dbjg!rP+foij(u0DKJut*Fh_D z!MQ{TlpWb;-(5-8I3-w97uHP3_7}yZUY~|G0vSEdT7jZ^CTm(KdYYOjO24fU_*F|d zq>wmJ*&?k%9l%Jse*&`Jmvx0cu=elI+b1j()moE}QAC9*`*)0mE!C*5mbxBUR9WsV zathqGZ^Gp^kGuerlnX`6Ry5fyaqE_er z&DVNJG=?Gfw<5q-^jr4>md`|#DiZQ$r{sS*{2YCE9kMd#xZDpd=aUt$h*$d{Zc93ZWQ=7BkXYCBB;&!R<%fXN+@4*Aql%q zPL}OYcnFpoH>=IbDtLJd1AQr-9RQ<~%WLTTdRn<_ZMWz`Zsm~Y%ca&~i_V9mjp$2V1pYwdTaToR}XrMpB;n zUFmqGjrxi2dI#Tp+i z?bqzz_kJq4<87c7-@j;ci*_1(`zjPk)uKb{lE&UFDVCm(tadjK?*9Y|fG8e$aZfYI zXY?i~^%TJO%)w_BK6lgS53R}30!PD64_!Q$=RnWiU)cT0X{a;z70fO`K7)2sE}BTm z{S6sYv-Uz~ap(^ar%Iy*cv;f+H2CH3L!W1;y9I9USfae^f$l5E4Sjxn`T+T@t2N_w zBDlg&$7xSH)oh>JI~if?HdMfq1MK!Cvkm;I^XeAH67fC8x$(M(kZqHal1+&zC5JR%&#Vx5&j29nd?I z>_jnT98&E?Wja6T$}zu`KlD#x11-E6!|HK_cc(#?&mo@ApU(|16U>PjR3pt%IJk4U zx+)QP_l|QxuYyl;N*4WuW5a|xit@8U#q&y69cL7Dw(fIC-O8`EjcH45Obx?7=9+ZD z3D1kjIvwhM(<)OthVwD3QHo#KT`!+EM_r_63!G$5pYoiMQffAjRGp9|G^vv&YqNX3 z6zP(K2G}xPM-Pz6hc`2o{lGgJsTYb}=<0Ew4`6AZ^Kpp_!x(sJz~ex6=B(g&m^4oFJ`=OO=Q=e0Jvjo=XkDx7F1jmu?(a_@ZzU*p@)k zl{xV+friK;0cDg@9{MBl!N5Jre~V7Ywfehg5>(^V-Ez#SyE_51uj?ME>N~6$7!Hlh zEmwzS`wZ+EsOY$a{<7nuj%ssDxt%D`W<1ni-7x0AX`X*jf7fzKX+-?tOWN32S!iBg z`&3eHIl0U1aHoN?{F60@vpaF2UER4>*V0NLx%A?al0Y-R2%m`D(&df>d_r~P!rQW2 z^WVP4a0P;8Kssl%!9v?Z8SdAxG}3Tn%C{kQ;N#bxm!#O$#nzZ_UsmTgDgwKsot^L^bX0y+1lQ@Du`entjaXk2TSw+RWBP;W9 zzLsrVpT?uU&U@Yr*MyH;GZWZns^soxNR;~2pgeu36O60oQH$LnTWyHjb1jc-UyYsY zyPbYi4z-0lQXf`Z*dC3{|5-h+FR<%s`3p&$f0$45HmQeOTKDUfJJ-Df7^Xc)R8Y%& zAHSY*eM+-*cgj;(z@@ouW4#5=dlTcXDBtr69X)hE+W2~;&FZ1XqZXd7x@wbIkV&FK znR!`l6Rr5MwE8VT&8xLX3HX-eS_2YxZ1T5>@kragjW4SolOy6j*%(SOZKoNMnXlf{ z&hBVhlf9%ot7lm3V&v;0WwIkIE5r8gOA(p$c!qrHSrLIQ)Lmde zj81{%FWOuHhw$qci=xod~XWr8fTY{{gyOV}t+z literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xhdpi/image_text_osmand.png b/OsmAnd/res/drawable-xhdpi/image_text_osmand.png index 806e1757afe3f46163c0a8e471714e8879f06291..c03b0e157426fde278ecc1ea090627940496d582 100644 GIT binary patch delta 3695 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 diff --git a/OsmAnd/res/drawable-xhdpi/image_text_osmand_inapp.png b/OsmAnd/res/drawable-xhdpi/image_text_osmand_inapp.png new file mode 100644 index 0000000000000000000000000000000000000000..07a3a107676306bc2d937db1d7425d5700fc84ea GIT binary patch literal 5939 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 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xhdpi/image_text_osmand_osmlive.png b/OsmAnd/res/drawable-xhdpi/image_text_osmand_osmlive.png new file mode 100644 index 0000000000000000000000000000000000000000..489600a58565685437197d7a42d6432ce1e6cfda GIT binary patch literal 6297 zcmbU`XIK;4w)C#_s}XprANod`aJ$f`SrG z9%nJok)c@$7D&GF2OGeHuVB1`aqd9~3SBRZ2SUUcJ`XPcvJP!?01Yr0hr@wzN+3*-4_HxMT^+0d0Ye}_G6oPEjt+JY z1ER5Fe>mtPu%1E4fM6sBE%J+_y9XvDSQ|jr^luYT0cK|ZVvNTA<0!Jrz+vtIU`3Du z7=`*}*KcfWur=b}YWzoRtW9_T0&I=IVnTvE$?@Vcc_{&(A&$?Ls`uWp{DHR z{fEzgqE|3ffa)nhRiR3TP(?)pRdr=`RRdL3sG6annjuUL_J`IOjSY53dm{eGMv`U! zLks<{v>LD=gnKY1$OeP)|C0rlzL;PP))x~X0)zdEx~hn@nY$+v{cBR@SD^m3TOSdG z3`KYu24PSlzdfyi{0~~FDtWjg)D@vXWr({PkZiLWP~8Ke0Q6Q+^zc$w_VQ9fs003? z_xk^O5KLAI{3~7lSNi;!BIo3<;lGN3{P3@GLZHbt6htnTPi^Lf6ck+T#`?N8Vei+A zX3<_l+)3@{#MlI=wDm-2^d`h4+pn)PH;8GnvQ;0muNx66J{WBneU71N&!K0CiF584 zLM1FGF|$#XzBBd4Uu3xVW54ds)cU(*jSbl5>8;E8UpJy3KD}CNXIuZiyQjyDK@^Yo z8I%{nvoXnw;w{}6Me*VzG4C$y?d{#x#AoSl9j+EzvZvnySFTKj2-6jSw&cOeV*51#+>Xn+Fyzj``3`v*z>7NCJg+K z`_oE=%(ZGGp}w>J%Q#?=q46GL)QXj=OmCRmm$62cV8Xx)sAQ`{KK61UzTu6aghS2szV`Q?G!LLBziHe*u zqwmH3prQ!Zl^g2D@vYUt4+GeUASQl+L7#U@LB59X+g!P?+^mx(R4#Qrk8y5WK1&EZ zC;u5DBFH|IMHKCpB>)-~MS>&34WricyZXZ5~GWq_9U z^Xx50^HeJxd8HzX?EM;GnGYFg_Y%`WJE=E&vcBKIKaxl?a&GK7=G$D(VSK>1RMYkt z@G34%l_H=oReToMCh6?G8Jwxvm!jK~sd6tlpjfFuhEM~+uLX);+mWw_#Lx2C1-H^E zPD#?W9;b8Pn|gZ;ueC65j(GWX4u)gD1Qr?{$?TaSoL{Y6V*2I~MZdrucy@q48Cg!d zA2&aOZT9<2br+v16X$xQz-io=qIZDKcMB1^wm~D@Q4^QT&!ZDa-zBnGPNI_IxsQ>U zN$F^SX?Hl2)MQe{(F4kRp^l7kPtDH$c#4?v_R~_(893V_T%E)1&@k}BG~k?99w#93 zD-yXV=tGIO0j?Gzft=gG zpULMVZfhT8RD}r+zY35!@GCYKiG0@GFkQ{CJ0(_Z%|6>{;))pmR`{vsuW=nv7^_OE zZv@cB@nEVzlG|?Da`t}sqwFXL=m$6O`5Wn;GGl(p+pN70B=mbGM!(7{ULCo0*#|4+ z^xVtrc&gdFdevz~GhjrCq|_;-6-H?0nW1>1!W)a^JVV9ZKU{q6ExSI8bT2no6OHv# zpUyzvOZ!2BQx!(^@jmzS9PYm7xKP|W?AJM58Q+Cp?P-!H`V>7XvkC&;>JVLc+V1Lq zT_RlI>}{-rfdB%?5i5L%72tMsBSjH(&gcP$uBBC6KOOtx(wfFAR&t;(Yc5vGGeq?* zq{(zS+(OonxA&ap*<~R!f40C>O~Q*#CjT!}UIjc7<5jNyns%v99CbTmlND9pNNy6Z z&Fb2qkcYmn5{S!3I-SH1EmrS3#5~fAIqF+dGNgkk?j`mPyN=abDs9yaJbM+%+vJp& zQXd$OL*PoM(zC3#&Gl01_@G4Ng9?;v9r9a*N)5l{;fH{Ey}55q9#SEG9x7w4Bixj{ ziu!i4S8javU`D;wzflzHiDdbBX=#ZA=T_fsG??)hM4cF+fUf?im=C&tFi63;*q~5j zUwWp>>Sfl8JiD83^COR5Xb^j_=bA8$ddDk|aH+Odyl0e?;G_ZIKX+$dL$Am)0qxj?laI>1XQp-|435xO84V31bMs(jPKd5qj2Hxt#-g}T)~*%aBi?ybG+5}J*HXC zdf3vJssct?4bOS`F#6RULo=T5k0$au$Gg<+sdbM7q93}W&1 zR2aoThnZAvUUzl-`Y_wfSq9kJ!3hEou^4bV`aKr#o|l%0c5;40A?W`CGMfI{DkVc6 zaILM#*U|Rb!PQWgf_*KM6K59}kdg#JQfJLF`$gK5lD%nztk7}*KA3%GWvCe)sG=`w z!T?tqcle1)k=sbGzcXVNY|ryz!Q@GDkbc<{bI~6{E#e!4UZ$iF?$1i#$5)bce6uTnDeRpMEPb6a#Skw;4M|aR8ru4E1++@#ph`^ z{nS{`UBX;CrnAr3^gN90E3D=AC7ge0yK5H`;@F6DxHGi=+)$;be}X2I zQyOgUvC+?zf>e$cj-R_tb1j?hFUa~X$4tLTi(VJwGvi1(ru<5(ypH2E(&)<}NK&as z&$i*3Pws6QMfsU>>Lv@A69E(+Z}672$$(HsFJD;+_)9d#i9J(Zzn5oys;PHItJaVH z?VWx@P|Ii#XF-NZp;~&m{|ci{!VLhyc!zl#l_UhBBFTbAnFgj`IUUrwy$kiCdK%hZ z?>W+xsN>RXKkO)P-W15m~J0BgnO9XlS_;|pm8%tWhOtv z=dSzdWG+K3hs$noPF7@_JDorC@Tr-gO378KbNy*%9_jc{<xO-f zEW4y#%S_Gxy5kZ5rd6s>9KUM3ZMIKTvg*j2cUx|(je-d)-7BH|5gDZi$flNM=MN0Y zLg8T-RdpxMc8&|$Efg>0$_Gh=wq$tOOyB71;3Fq7q~S}q$ZGw!+T%6mk*bno>|Nei4! zqOY|1bnST)?U09R4W*}&jHPNn7OXV|E;@8RLlZ)c(gt`w+M}bW8qA(7M5H#h~d;#AlYi_@o@|45O?Tg&yKHb3x7W^5kq;;bMZ(^%D9_8 z9XbFB#GaZ}pkA%n(II_e46xnnPBAh02dG22W?zfoF+k*(N~Q@7bUC!T(wS2hGF_c0 z5j9atrz7qxrEABLtDf|EK`m`PwArtKbtre|1@z{j5<4~8LHY9As4c4xRMVh@dl;`a z>QA^ezW3|RCHA(QVZ0%?!aNL$)NG)Rgcv=j@dqiGC*9&!=N?ewdK%E($#8Z*d$CrIM z!#Bm2VDRSFb?iC5@ZOU;DeV`|=BU=9sV?76j^a0`@9#vqq0SXQX*zRwFF%kgXvaKx z;9<*1>bx5Y%~g`n&l-F$7%P*lF+11F>5H{G8XdAXy-yN}UOKCcR5{Guc{O~NN9<#V zXm;X#S`yqS9zyYSGt#(S(ksh2S%WDMIc3L@bp~Il2ZwR<&&rvkx?jvL1@>o4 zyq}Y|>po}jg2BbNAlvjf!&x(pVE6b|+D-17xbdMP-D1CEs=Lsru0|c}pn3~>nC1_? zZDzDFF{|X<;fDK*?fKtlzu|e;8}4`CTb1S1Z(b4{>@YhcgmC_DehpxNlDs{|bxrmH zar-O@&&KgU(7Y9@_Ug-+p&zbx;%kGA(Os^Y1XF%L{_OEw8_qHt`SeFpiS>QFla*C9_GfAvZSiXJ>{dJMGrYq zPI*AMWw%kjXQWPqdXd%P$Rz(~ZiPk5uCOCPTr#$-BZqRkaw@uu;gZeG+q7OKCxuid zclaRe5dDo`&0o3uZ!`Xj1y=6zRFe*_5nn2nKNVaxcMboP_jTOLuWg7q7Ek>&x6fJ|Z>t zZ11!ZT}|er_vcoBCYdjff%|U6Xb0LCa0? z+R?U$rixvkskz{j{1b~&corUs-m4PLqmWScp8%85-Ja1wPid|Uirm@ZHf%x#OYMCs zlN3>3e@x$x&?(YlEWyyFpY8N6rdM&B|Bj0mO;3U__Rx+4t$c)-E zt{Z?TyE~R{#*Oh;A2BKSlGWVnG_-CVrC8kbExBDieQKBFNLMZo6n7Se&9aT*a#bn^ z2j1SExtcp{uyGw?53?_2&3|-x&e0m7y8>i`!+zz(SArIJ3elf-^tmjv zZ7fw}o((ozaa9scbqhC-Nb^2T*SHJVk6SxAq5;AuWkXt?Bk$y&WqdtTGu^y$dNc8> zWWFRv)DuEX?Z)PsB;SL`i<^8qe#y4UWw-|h4@erFi6_0dP1jF8qthC15+r&m(Y#lR zXdR^PbaB(@wl!T6r4f!fDE%JL>yImJ9!+Z?79fmzbAe5xtH#-p{k9a@tCFc8s%Gqz z?RwWpss;%HUJQ_%ftQEr_+KWlJ499aOEd4oUVAw$B=wfg(R7vYbkaw)>$iJfB&6PI z0}2T9>J@>NVxyI(8hejM9VbMZp?2o)yjYwC42WN5mor$yh*46>L3RlKN$m;f?m&)R zb&I6?%iL5^e9dUFLn!J*u$E&Hcio^`vUTlYME>Kqb@B~S^p?TGEQPSc@MG&0ws$9M z?5%5JS1Z?c8Xm&Abp*9(^LKMJgk=Rp_3NKw>|0GuRO)2Mcr%#Jurg){?AHX*-e#(c zIqj10z4lzI+>Cy$XeXRnm2z8tL5ADmaa)3rm^F_JO*!wh=^PDfzPbAo<3uj}MD-^d z(9_^3R+Hx4+caTx@K(|2(n_L0PUOY$&Bt#UR4JXMyO)GYXiYRI<)3#EqS;_~MSukO z=(KZ97!4b$wcgG_%@#!erZ5JPQBxXQl;^Tv=tBFX5d7wZL2u}!qMu`lL4ZwvT4L0e zpJ14tbZ`hSC8XsEPcN&ZWVThh;GI@Ujb&CSEvINHXBJgmm%?O%t1Ul~5@+kHSk<3n z9+$)-e9!Npp5P#tv_MQ3orm4hH6`{3Z9_bV0_h*9LrC$SaX!lI9dOQoYi9m$ABy7p zAFP|Laj&`g##gZB2PZ{6rX;%iSe3~;2_a-@W*SI(Z<*pt>xBs1mc)LLO9GXN#&wM# znhmPiq{Pi7I5)fzvGg^_rL}yls~|OGo@H9^%Miq6 zPhU+|IUE_~^GT+yYh+e5#L9;BvC&0};c0({fn!(&?%=IMdG~48w*@v?XRB& N#s=p44SH?~{{zx$I7|Ql literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xhdpi/image_text_osmand_plus.png b/OsmAnd/res/drawable-xhdpi/image_text_osmand_plus.png index 77ba70ff93931494bafed3ef94b9cbec23fbe71d..41fb71a2d1691cdefaeed1f84c24bb976b8865c4 100644 GIT binary patch delta 3874 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 delta 3531 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 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xxhdpi/image_text_osmand.png b/OsmAnd/res/drawable-xxhdpi/image_text_osmand.png index 309a3057993bc7502f1de92a450d9ff8c12e0ec3..69a0ce8383526f7bdf68bc7634cc6e4d8346b8f8 100644 GIT binary patch delta 5592 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%0AR_Yg=ziZ= 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 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xxhdpi/image_text_osmand_osmlive.png b/OsmAnd/res/drawable-xxhdpi/image_text_osmand_osmlive.png new file mode 100644 index 0000000000000000000000000000000000000000..124d8871a02102061392353651e8b506a1f95933 GIT binary patch literal 9099 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 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xxhdpi/image_text_osmand_plus.png b/OsmAnd/res/drawable-xxhdpi/image_text_osmand_plus.png index cf45e3f02ed006c109c329194a57ca96bd18d534..724321f1ed50a97ff0792bb2a45e19796895cfec 100644 GIT binary patch delta 5858 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 Jm1{Vl{|9+iO7s8# delta 5305 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 LW2{{RcZm9bg3Z7m diff --git a/OsmAnd/res/drawable-xxhdpi/image_text_osmand_plus_osmlive.png b/OsmAnd/res/drawable-xxhdpi/image_text_osmand_plus_osmlive.png new file mode 100644 index 0000000000000000000000000000000000000000..91f2c4ab5d1c78050c26142543e9fcc2d32519ee GIT binary patch literal 9483 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 delta 6872 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 m{GSDs|G%(Mg&Y13zXoWC;r|Q1(4Hg! diff --git a/OsmAnd/res/drawable-xxxhdpi/image_text_osmand_inapp.png b/OsmAnd/res/drawable-xxxhdpi/image_text_osmand_inapp.png new file mode 100644 index 0000000000000000000000000000000000000000..6f7e37d8df46c128bd07739d45f4783cfa81d321 GIT binary patch literal 11250 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 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xxxhdpi/image_text_osmand_plus.png b/OsmAnd/res/drawable-xxxhdpi/image_text_osmand_plus.png index d74b7a92787133990fc00a05fbc502dbd492eef2..1201d0ece81cbc9f669a7c29c51a6c291c8c80d5 100644 GIT binary patch delta 7990 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 delta 7190 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 K*UL4mpZyODvre!8 diff --git a/OsmAnd/res/drawable-xxxhdpi/image_text_osmand_plus_osmlive.png b/OsmAnd/res/drawable-xxxhdpi/image_text_osmand_plus_osmlive.png new file mode 100644 index 0000000000000000000000000000000000000000..c7d0569a951945d76f6466899621a0d49ed324a3 GIT binary patch literal 12639 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 literal 0 HcmV?d00001 From afe516db33cb4a299244aad492244933220dcfb0 Mon Sep 17 00:00:00 2001 From: josep constanti Date: Tue, 18 Jul 2017 06:53:35 +0000 Subject: [PATCH 111/140] Translated using Weblate (Catalan) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-ca/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-ca/strings.xml b/OsmAnd/res/values-ca/strings.xml index d1387ef04b..40143131e3 100644 --- a/OsmAnd/res/values-ca/strings.xml +++ b/OsmAnd/res/values-ca/strings.xml @@ -701,7 +701,7 @@ Memòria proporcional %4$s MB (límit de l\'Android %5$s MB, Dalvik %6$s MB).Destinació %1$s Destinacions La fita %1$s és massa lluny de la carretera més propera. - Heu arribat a la vostra fita + Heu arribat a la vostra destinació intermèdia Afegeix com una fita Fita El punt final és massa lluny de la carretera més propera. From 6aa9b273f0b3243117192c38a15d95fe8733fddf Mon Sep 17 00:00:00 2001 From: elPresidento Date: Tue, 18 Jul 2017 08:57:15 +0000 Subject: [PATCH 112/140] Translated using Weblate (Czech) Currently translated at 99.0% (2340 of 2363 strings) --- OsmAnd/res/values-cs/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-cs/strings.xml b/OsmAnd/res/values-cs/strings.xml index 143609a864..90e4aba12d 100644 --- a/OsmAnd/res/values-cs/strings.xml +++ b/OsmAnd/res/values-cs/strings.xml @@ -2554,9 +2554,9 @@ Pokud potřebujete pomoci s aplikací OsmAnd, prosím kontaktujte naši podporu Kopcovitý Méně kopcovitý Rovinatý - Rychlý + Preferovat hlavní silnice Vyvážený - Bezpečný + Preferovat vedlejší silnice Priorita terénu: rovinatý nebo kopcovitý Svah Berbersky From 49ec265555864c510f8afbb61ef359663d5c53e5 Mon Sep 17 00:00:00 2001 From: Ldm Public Date: Tue, 18 Jul 2017 10:19:58 +0000 Subject: [PATCH 113/140] Translated using Weblate (French) Currently translated at 98.4% (2326 of 2363 strings) --- OsmAnd/res/values-fr/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml index 8d1237db47..c45dd02f5a 100644 --- a/OsmAnd/res/values-fr/strings.xml +++ b/OsmAnd/res/values-fr/strings.xml @@ -2644,9 +2644,9 @@ représentant la zone : %1$s x %2$s Vallonné Moins vallonné Plat - Rapide + Privilégier les routes principales Équilibré - Sûre + Privilégier les routes secondaires Merci d\'avoir acheté la version complète d\'OsmAnd ! Sélectionnez les préférences de relief Choix de stationnement From 3b03daa0865552190f2554437c5ed25d43173385 Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Tue, 18 Jul 2017 11:16:32 +0000 Subject: [PATCH 114/140] Translated using Weblate (Hebrew) Currently translated at 36.9% (873 of 2363 strings) --- OsmAnd/res/values-he/strings.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/OsmAnd/res/values-he/strings.xml b/OsmAnd/res/values-he/strings.xml index 648d9c9acc..5c3f55ddfe 100644 --- a/OsmAnd/res/values-he/strings.xml +++ b/OsmAnd/res/values-he/strings.xml @@ -1213,4 +1213,8 @@ הקלדת שם משתמש הצגת תמונות שנוספו על ידי משתמש מסוים. שם משתמש + אפשר לסנן תמונות לפי השולח או לפי תאריך. המסננים חלים רק על תקריב בגודל מסוים. + מד זווית + הרשאות + ל־OsmAnd אין אפשרות לייבא את הקובץ. נא לוודא של־OsmAnd יש הרשאה לקרוא קבצים מהמיקום הזה. From 4c07495e1bb8917e18b08bfafb7feaa8c87a6c46 Mon Sep 17 00:00:00 2001 From: Mirco Zorzo Date: Tue, 18 Jul 2017 10:54:10 +0000 Subject: [PATCH 115/140] Translated using Weblate (Italian) Currently translated at 98.3% (2325 of 2363 strings) --- OsmAnd/res/values-it/strings.xml | 78 ++++++++++++++++++-------------- 1 file changed, 44 insertions(+), 34 deletions(-) diff --git a/OsmAnd/res/values-it/strings.xml b/OsmAnd/res/values-it/strings.xml index 679eabcde7..9a544f9af6 100644 --- a/OsmAnd/res/values-it/strings.xml +++ b/OsmAnd/res/values-it/strings.xml @@ -1,4 +1,5 @@ - + + Sovrapposizioni fluorescenti Usa colori fluorescenti per visualizzare tracce e percorsi Modifiche offline @@ -1220,7 +1221,7 @@ I dati globali (fra i 70 gradi nord e 70 gradi sud) sono basati su misurazioni d Barca Aereo Disegno della mappa - Scegli fra le modalità d\'uso disponibili dell\'applicazione + Scegli i profili d\'uso del l\'applicazione da rendere visibili Profili applicazione Mare @@ -1702,7 +1703,7 @@ Le tracce registrate possono essere condivise con i tuoi amici o essere usate pe Per visualizzare le mappe per lo sci è necessario scaricare la mappa speciale offline Per visualizzare le mappe nautiche è necessario scaricare la mappa speciale offline Finitura della pista - "Libera %1$s " + Libera %1$s Memoria dispositivo Piste da sci Solo strade @@ -2002,7 +2003,7 @@ Attivando questa vista lo stile della mappa diventerà \'Inverno e sci\', mostra Sei sicuro? Tutte le modifiche non salvate andranno perse. Continuare? Arresta la simulazione del percorso - Simula utilizzando un GPX registrato o una percorso calcolato + Simula la posizione utilizzando un GPX registrato o una percorso calcolato %1$s download rimanenti Informazioni preferite Aggiungi preferito @@ -2141,33 +2142,31 @@ Attivando questa vista lo stile della mappa diventerà \'Inverno e sci\', mostra Specifica il corretto tipo di PDI o salta questo passaggio Evita le scale Evita le scale - " - • Nuova interfaccia utente sensibile al contesto per le località selezionate sulla mappa e negli altri schermi - - - • La schermata della mappa è avviata direttamente se non è selezionato \"Mostra il pannello di controllo all\'avvio\" - - - • Configura quali e come vengono visualizzate le voci nel pannello di controllo - - - • Salta il pannello di controllo se preferisci i controlli dell\'app tipo menù - - - • Per scaricare mappe, regioni è possibile selezionarle direttamente tappando sulla mappa mondiale - - - • La ricerca di PDI ora supporta richieste più specifiche - - - • Migliorata la funzionalità modifica di PDI e OSM - - - • Riviste la struttura e l\'interfaccia di download dei dati della mappa - - - e altro… - " + \\022 Nuova interfaccia utente sensibile al contesto per le località selezionate sulla mappa e negli altri schermi +\n +\n +\n • La schermata della mappa è avviata direttamente se non è selezionato \"Mostra il pannello di controllo all\'avvio\" +\n +\n +\n • Configura quali e come vengono visualizzate le voci nel pannello di controllo +\n +\n +\n • Salta il pannello di controllo se preferisci i controlli dell\'app tipo menù +\n +\n +\n • Per scaricare mappe, regioni è possibile selezionarle direttamente tappando sulla mappa mondiale +\n +\n +\n • La ricerca di PDI ora supporta richieste più specifiche +\n +\n +\n • Migliorata la funzionalità modifica di PDI e OSM +\n +\n +\n • Riviste la struttura e l\'interfaccia di download dei dati della mappa +\n +\n +\n e altro… C\'è una nuova opzione per controllare l\'app attraverso il pannello di controllo personalizzabile o tramite il menù statico. La tua scelta può sempre essere modificata nelle impostazioni del pannello di controllo. Vicino Nascondi @@ -2689,9 +2688,9 @@ Rappresenta l\'area: %1$s x %2$s Collinoso Meno collinoso Pianeggiante - Velocità + Preferisci le strade principali Bilanciato - Sicuro + Preferisci byways Terreno preferito: pianeggiante o collinoso Seleziona la fluttuazione della quota Automatica @@ -2851,4 +2850,15 @@ Copertura e qualità approssimativamente: Salva le tracce registrate in cartelle mensili Salva le tracce registrate in sottocartelle per mese di registrazione (come 2017-01). Reimposta - \ No newline at end of file + Premi il pulsante per mettere in pausa la navigazione, oppure per riprenderla se è già in pausa. + Mostra la finestra di dialogo Fine + Inizio/Fine Navigazione + Premi questo pulsante per avviare la navigazione, o per fermarla se già avviata. + Rosa traslucido + Media + %1$d di %2$d + Guadagno/Perdita di quota + Tempo in movimento + Max/Min + Min/Max + From 879105bdb2ac312de0b5a86d54cb59e8f8a18f95 Mon Sep 17 00:00:00 2001 From: Ajeje Brazorf Date: Tue, 18 Jul 2017 14:54:52 +0000 Subject: [PATCH 116/140] Translated using Weblate (Sardinian) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-sc/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-sc/strings.xml b/OsmAnd/res/values-sc/strings.xml index 7cb0a27aa4..1863ce368c 100644 --- a/OsmAnd/res/values-sc/strings.xml +++ b/OsmAnd/res/values-sc/strings.xml @@ -2559,7 +2559,7 @@ Pro praghere iscrie su còdighe intreu As a iscantzellare %1$d puntu/os. Seguru ses? Puntos importantes in custa àndala Annanghe una cartella noa - Puntos de colare in cust\'àndala + Bortadas de colare in cust\'àndala Caladòrgia Bèrberu Terrinos preferidos: in paris o cun cùcuros From ee6bcb7c98e04bc5b63b803d5a1538c90e4bbd50 Mon Sep 17 00:00:00 2001 From: Michael Wolf Date: Tue, 18 Jul 2017 15:01:20 +0000 Subject: [PATCH 117/140] Translated using Weblate (Upper Sorbian) Currently translated at 36.8% (871 of 2363 strings) --- OsmAnd/res/values-b+hsb/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-b+hsb/strings.xml b/OsmAnd/res/values-b+hsb/strings.xml index 62fa29ee7e..19b95217f4 100644 --- a/OsmAnd/res/values-b+hsb/strings.xml +++ b/OsmAnd/res/values-b+hsb/strings.xml @@ -904,4 +904,5 @@ Składowanska karta Format koordinatow Format za geografiske koordinaty - +Mapillary + From c39e83c7f40d0fb85a470d0010c06674f5f83266 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus=20R=C3=BCdinger?= Date: Tue, 18 Jul 2017 11:05:58 +0000 Subject: [PATCH 118/140] Translated using Weblate (German) Currently translated at 99.4% (3099 of 3116 strings) --- OsmAnd/res/values-de/phrases.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OsmAnd/res/values-de/phrases.xml b/OsmAnd/res/values-de/phrases.xml index 9d96d2c699..e3328e9a8f 100644 --- a/OsmAnd/res/values-de/phrases.xml +++ b/OsmAnd/res/values-de/phrases.xml @@ -3410,4 +3410,9 @@ Säugetiere Fische + Tierannahme + Bestimmung + +Eigentümer + From da1b259f86f8ce24565abb22e4dfa22ee8f34df3 Mon Sep 17 00:00:00 2001 From: Softmap Date: Tue, 18 Jul 2017 18:54:56 +0000 Subject: [PATCH 119/140] Translated using Weblate (Arabic) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-ar/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-ar/strings.xml b/OsmAnd/res/values-ar/strings.xml index 25997ee862..1d66ce07bc 100644 --- a/OsmAnd/res/values-ar/strings.xml +++ b/OsmAnd/res/values-ar/strings.xml @@ -2569,8 +2569,8 @@ آلي خيارات مواقف السيارات شكرا لكم لاقتناء النسخة الكاملة من أوسماند ! - السرعة - الأمان + تفضيل الطرق الرئيسية + تفضيل الشوارع الجانبية المسار إختر مجلد المسار المسارات From 75f72100ff137580010b04d8bb41accbdb3bf083 Mon Sep 17 00:00:00 2001 From: Dmitriy Prodchenko Date: Wed, 19 Jul 2017 11:57:08 +0300 Subject: [PATCH 120/140] Editing grammar mistakes. --- .../drawable-hdpi/image_text_osmand_inapp.png | Bin 4488 -> 4575 bytes .../drawable-mdpi/image_text_osmand_inapp.png | Bin 3458 -> 3475 bytes .../image_text_osmand_inapp.png | Bin 5939 -> 5983 bytes .../image_text_osmand_inapp.png | Bin 8461 -> 8533 bytes .../image_text_osmand_inapp.png | Bin 11250 -> 11328 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/OsmAnd/res/drawable-hdpi/image_text_osmand_inapp.png b/OsmAnd/res/drawable-hdpi/image_text_osmand_inapp.png index 8e331b4e22bc2f23885d2795aa399c1b5fd8067e..28d9215f36849526ee2929df14ce0408955360cc 100644 GIT binary patch delta 3720 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 G8vidEwbf<- delta 3632 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 diff --git a/OsmAnd/res/drawable-mdpi/image_text_osmand_inapp.png b/OsmAnd/res/drawable-mdpi/image_text_osmand_inapp.png index 9650b2f64e6f5118113c5b5298ebe917a8b91474..47d11ddd724d4797763e45b690dd2f588663284f 100644 GIT binary patch delta 2611 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 VN?54rr^WyP002ovPDHLkV1hXp%*Fr! delta 2594 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 Q#svX&WgU36qILBD07G_$EC2ui delta 5095 zcmZ`-cQD-FyIzY#)F22VdL(*}D2t5}5iQ!XR#uN5HQ6X1Bw9qYAkj&Puvm*#SBqYQ z=q*;StBV%b_xHQMJ9B65J^wuCyyu;Fo;hdEGv|3{Max7nmSAde4RKkhlq^(MN<%im z2`v7ffa<>jdEnQ4_ob|@>>fzSibzXZ$%#nI*~*DLu(lHyu@{%HwtXONYb#~t89 zT{{dMPz+h3m&VXx21qwT)!bgO7)|#P$FASgEwN8gsI?wK_{jX{CK` z%y}X2Q?T}{Z*$WX3E089k}X<=(uSril$7HC1#@A{Q5{8P?9N!M-c zHodtz8coIwLI&M(Sk0P~(KK7DZ?wm^%biM$0C}1IyIPM?q>Urh6yT_p;JipmC&=Q3 z37KqWlJy5|s6PpE8(bJtlgv1bzmnX*SL4*&9Z(WI_73&oH&l&R^~~EaN}CgSsz(pY zY!pD!UUa2odJ$j+PxZ5B`Y>I;*{tvQ7@ z!Seg#W&LH++0VIS=UyQ1758gC3u>G&fzbbICn*|{hx(;4PDrRzXL!(e;?cTWaiJ70 zhF0metB*q~v}xwvQPSL|p(wQgzI~{Cz%4*Ob|+C+FfGEFCG-hfi^I5rr1TqHk?D_* zaZF&isYQPoCyPimX-XAMp9iaoCfUex01{4a(t1$k5Ivv9b2U6}V$23XM&@f{r?BeC z|9MUAmWrYOiLQX)SWqML;X(lOcSe8gPfTB`%xJx)QBY&O(SRuKcWu89pv0>Jw|>?5 zdUNyJp{{5;7bSPGeRp9CtN6|pGSrNk;gATdiV^|nGomIj_qCXHnd!k}hgJbg1o*SeR}VtOeu`3$&Zz?fs5^BFHA9PCa+KEnP})Iry|1 z$2KH7FPJkqaHferdBZ#fkRI!1bQWh*xex^Mg7ybbKR=RJzY*_T#%Hn|*q8nrTu6yb zu$p6dnMDPrMXl%sIF8ndOVj}t=c0mCMa37gYwZ%qDtz$U zMwWinC(@nxOjLV5$>~csclRhDJN&l2Sm69!%kXR|3#z|exr`k%JHG;|l&G+v5bFA0qsRRw@#9Wck#w^&6zb(8`C#XGkh0DMf6rgXXZOxk~OAwhnt2 zAPSlL|BAAxPUkx?-TgW-o)*R|i5P;o!oKyK_KqsN=q+n=@Kk!WjU0d>l_*A^oaaig zy)^={08U>%a3NK860`F8V@Ldx*`va|-HYDTyjbB{NRI(z%~GrR14W%>KA`1mqfaeT-8sxu+mTP zKMm-58Pgpo*^SKSt&t2)1|lF+mTtA#qbghPxtdZNy-a$WHxW8h!N)0uS@+UYHoDY1 zy}q*)elP~+lU}W#VZG<>o}p~{2XyjrvIPbMXmYWo6G*^FPpN^7hvr*mWnOau681PE zNN)L9>9D$PSBBA@&1I#olD@X}N@)>d1~HDvKWKLNSZBk@QyA83OaL5HuQ{*bEu#g) zv_$FBD)jGLpvSa^Q^wL3*}T*n%_!oAyKeB*i~%UOVYP^Kz{Zt&UWH)I`0}?r@wUPJ zu-*lW^`@$d58<$yR~rnZEpKXbOz^v|a+mdNapj(99AwCDq0AB@N{MMLsX5+&vqA~~`A*I-icva`wSrl?|<;g8d5FMXQM@GZbyK-19( zYk2qK{TIHC7TZVbK69(?mM3|%tpak>`u3vf6MV?e3o^*0!lBcYg>#})03BqI)~bmI zLqqn^H_kTNF?(d=M^ekdi|LA-iwryBomqm7{qfw1uW3M7OG0d$Q>|LtI9umt>Cx)# z4k~oCemO@b*YIl(gpvI&BB?e5a7z5V7?D%1TM~^~p4jS32!hNQsKvdDB=%*mp0gRt ze{aEFRcw>}8A6;E^DCxpK+J;_g`@bhm}Yz{-p0&jM1w@v$#MqH%I=LiM$wNw!RMdU z^TLHNZJyHb0l3ldsz1Ja(4gaki_riTwGJ{lW0xSeKr0;cD>{$JgXsq3gU!oT$EX$3 z$wu}Dg)`kkJO*dpg`g0@k2eBZjTh~0SfjEBUoA$D^m9oVLSY!KtJaw(IHc&#V|0%D)vGw88LLVr z8`;3s(E0O+2GX^)6$Wr)EA~wMO{~X#ZNXnw-4rHIetspftkho;NJ5RSRPlDZJM%(R zhumv%Xm*?ak@ej0VZNE7vFoDXN$TCu?y~z2T3I49I~B^L*B|r#DR-RCgY4$5vBs%Q z;iPbgS;ZJ{9d?rqNhpF+LeS#_3wm>^kg1ma?$C)K#!;Q<3v5+0XwB0DMK{(QBdR{% zW`8;{;82AWvK(c06Q9g|E;%j}DMvCv9$eu;_ecJiAiqw9A*^k`!H$C?!4jlBEX z^b+KCCqpS-pQYI{oc-xfhZc*RBn4dCm20-=RaTzYEI5bWZRR$<-UzC@Z6IBczaa{V zmbD*n6%aOIg#*TqJb8+V;JcXmlGj*pHu2V8aXSB4&0Ze`n!tl;7lD7qHI5`HKkOKysb+tEg^!YJV?J*xrB4yIDqKIEdD%S|M^k(boBQg(`<(82?b`y&l zkxY|Sh~xJn*F}E&2Ex;#_?hP|?xDi8K}+SUJ3l44f!xy+J<@8Lo}Ih%WHr)*j!|z& ze5$_ZUfI`1D#1#%p2u}?=n!_P*WEvocd?bXMil8CHSw`#T!?5mOqpi0Jw`kdnS3lp z?weHA%b*L5bkVg)kJ<7GU@1K`b}@|$k9Vjy=d69Wjpu&azuv5(Aua3LhB6}DM7HT7 zbrx7hfjOOB7vHJL?qyn4FNBxE5x!0Tyc}D$U^Go}N{gxrPi=G#pIW9ZBodz`Yj^t+ zQtr?6qu7Vf6ikIiU|3U80qrHWcT+#w2gZvv14fyqoDl?{Pk&}jD0!3NV`_;)u=XP##r@5-h^ySfytG{zB9@t zz<1pB&yi;2WKsi9)S;ZanJp(rA&9*_x<{vgb@XlI`vXicf8A*I6$qb;fGRWF#|Lj$ zW?}C(oUqQRbgjSkdXkckr3^^jETtd!9uwYFk+aoOjQI0v!u12`L>{IhZtNG>gNbM- z2EC$uo2afZ^7T8m2`zz=(zc-6$$oTJKxb0-!U>FgUt?bKnWLl!Uta=6aU~+EO;o8{ zcy-x&Q_ZiuTAdev*YRtfxZb}1z4=|(8j<#wXT>|ONHuvIAq~gh6b@eDzI?ONle?Z$ z$MgOtF9ruEmg9QW*IrueV;V($WE;L$$?gn&`c%TQrhEKENQ*@zpBq*p3db#T1GBw5 zUn4qk?E*jJCLJ>ytQNL+G?kpsl4ZAOm_~77HjW{UH3Z2AY`jE-nm>g$ZYjWxl(#)b zc}YRC|ts_T?qVG*gf(|}vLUFF7>*^H&BPD}Fm?X{;H9%tat6KU!0>b8&_62ZA5 zzPj|3#|u~MD)4hDXFoK$bfMO5t`^35+|;sF@2~Sg^Xjp3{UG{j zRo=1XOE^T(LJfgU1FH0PABJu8A;}yML_*1H8Vbn%*(@iP?OkVPUihu<8 zscB>atmqVCO}%p6P5GK%eA8=g;yl|6oF(FLQ_Om)VcvFBpTM}Fekcj(*Y4Gm`P|@Q z6ooTP)L|@7L}4^qH+NIN?kZAOC$Txg;dSLc3znj)%Y?e0OSJ@Ut zoSKXuF74HI7zlLfqW%YiFTK}4>q}GtkR<<}T;e}@D*uiDU;gEGRs;f@b)oor zKjI1KdEDs{(WVIuLNXq$tT98fl0<-j{K`V8+u41al%2ZM;D2wTDNF%LH2N<+d{iYENQoHgG z&HtNSP}cP*P{!U`VM%d3jq>@v;oL>T;e>PN^YUuWi}Rz|giPS?_}auX;M^xM#nLof zhseYeLtWDF_oQw1e79Sy)4c&WH#tqg`WNjfdeL>x<}4p(yH$Ub0#nVP_ImFp)V?H| zBmBI)$_zj=fv20%qn$F(0*@E9q4%Pff6ytT>xv^@&Y&E8@Kl2<@3uHEi*x#KH?_?w z1)j+rZ`Bf=p7G}F51T$qtk)agll8IJ%TUzHfCNmyydN&WJ3QOeK>%LmZFY~R-(sRE zB{_^ukCjJOePmtsWgw0@t7IVBJBe6->b5(e$ypSLJB9?11c(0izhsun+|TY_x6}N> z_%Fi#a|F}DB^zo%x?EmCEGU3_)^$dm>|#Dfx!7BZ3j+$K*WR0SZxA_WFOBFDo~X+* zns!btf{k*Qy3YW9L?vM}GUkcAuCR{ zCwa_!%wM)|Ot^;$qBi4k%&q7HEYrD!z9#Yg3HYW8zxJjKp2b2XQ3 z1mbPaI~K%{#_iz>>xY!+1)o5B#1w-h_PW*V+cRB@`?65SRCm|Jf9@&najhftA)6*g z_uyHPbiSZ-MNBctGn7%N$F~kjn$Cou5Pj6kPQXLcg+a^)F-ZZS{eP%~(wXT-vujn~ z&H;Vt3Kaq_)@EUdt}lWuIq&iDP_**BN}Y!<;Mp;s-Ak?Fsm!yB)diacL#V~9P2epV z3xa!QHCqJ}8Xfe{b-31g6q9w##S0=DjF`Rw#@WDt4oBTeEILl22y%TuRAt z8>oktknl#RLu|Hd0{NcgL&VazNnf?9K|tE|TuIHMyUX9R3F;b(iMX zot5wi>=R$_YWmZzFFY-D)AovBR;^FdzNwh>_mrRADTMdIpPzVefFJWF7A1;~hQ0Uy z6{JeK! zHB-0m>qtLU-vw_E1lsxbu&R7^9)X38UOBm%8rm<>YBx5C zY;iQXOT11yo2|9LK3x(_CBoAUpt~$cd2XVjjO=^5&rqHvd2rXtYo#}9f0y0x;BZ=b zM8+&1{Ku#}HszM4X*% zQoqzk`v0inrQG~W9sif?ROJ2&G=gp%z`jQCbf}Gj OE{B%7u39k^8S-Dp?zEHu diff --git a/OsmAnd/res/drawable-xxhdpi/image_text_osmand_inapp.png b/OsmAnd/res/drawable-xxhdpi/image_text_osmand_inapp.png index 9fc401b55fe9596b47cc09ebd1a8c1bc9fe0a99e..75ba136c05b3857f44289ddb8fac24d433a6f361 100644 GIT binary patch delta 7367 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 a1mvL7CnV0ftDZIg1X^mksGvo;IxVW delta 7294 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 Y0Fv%wG{M=s)&Kwi07*qoM6N<$f~}Ui761SM diff --git a/OsmAnd/res/drawable-xxxhdpi/image_text_osmand_inapp.png b/OsmAnd/res/drawable-xxxhdpi/image_text_osmand_inapp.png index 6f7e37d8df46c128bd07739d45f4783cfa81d321..93b8f6c6e44226c08993666e8a9be85a56be4899 100644 GIT binary patch delta 10139 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 delta 10187 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 From 305fb8a18786ea76711a0e3937d0c6b95adb8a05 Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Tue, 18 Jul 2017 16:40:24 +0000 Subject: [PATCH 121/140] Translated using Weblate (Hebrew) Currently translated at 36.9% (874 of 2363 strings) --- OsmAnd/res/values-he/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-he/strings.xml b/OsmAnd/res/values-he/strings.xml index 5c3f55ddfe..e0069cbb8f 100644 --- a/OsmAnd/res/values-he/strings.xml +++ b/OsmAnd/res/values-he/strings.xml @@ -1217,4 +1217,5 @@ מד זווית הרשאות ל־OsmAnd אין אפשרות לייבא את הקובץ. נא לוודא של־OsmAnd יש הרשאה לקרוא קבצים מהמיקום הזה. + המרחק תוקן From 23690d1c62719ce0e4b1f6a9a5e2512793ff7eb8 Mon Sep 17 00:00:00 2001 From: Mirco Zorzo Date: Tue, 18 Jul 2017 20:23:51 +0000 Subject: [PATCH 122/140] Translated using Weblate (Italian) Currently translated at 98.5% (2329 of 2363 strings) --- OsmAnd/res/values-it/strings.xml | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/OsmAnd/res/values-it/strings.xml b/OsmAnd/res/values-it/strings.xml index 9a544f9af6..58ba3e634a 100644 --- a/OsmAnd/res/values-it/strings.xml +++ b/OsmAnd/res/values-it/strings.xml @@ -1328,14 +1328,11 @@ I dati globali (fra i 70 gradi nord e 70 gradi sud) sono basati su misurazioni d Formato non valido: %s ID univoco del dispositivo Configura le impostazioni di monitoraggio e imposta il canale di monitoraggio personale - "Questo componente aggiuntivo fornisce parzialmente le funzionalità del monitoraggio di OpenStreetMap, vedi http://osmo.mobi. - - -Puoi tracciare in tempo reale tutti i dispositivi di un gruppo di partecipanti. Puoi anche visualizzare i punti e le tracce caricate dal gruppo a cui appartieni. - - -Il gruppo che non è stato rimosso da mesi viene allineato con le tue regole per la creazione di gruppi nel sito OsMo.mobi - " + Questo componente aggiuntivo fornisce parzialmente le funzionalità del monitoraggio di OpenStreetMap, vedi http://osmo.mobi. +\n +\nPuoi tracciare in tempo reale tutti i dispositivi di un gruppo di partecipanti. Puoi anche visualizzare i punti e le tracce caricate dal gruppo a cui appartieni. +\n +\nIl gruppo che non è stato rimosso da mesi viene allineato con le tue regole per la creazione di gruppi nel sito OsMo.mobi Monitoraggio OpenStreetMap OsMO Solo manualmente (tap sulla freccia) @@ -2861,4 +2858,14 @@ Copertura e qualità approssimativamente: Tempo in movimento Max/Min Min/Max + Riprendi/Sospendi la Navigazione + \\022 Componente aggiuntivo Mapillary con immagini stradali +\n +\n • Widget righello per la misurazione della distanza +\n +\n • Informazioni dettagliate e suddivisore delle tue tracce GPX +\n +\n • Altre migliorie e correzione di errori +\n +\n From bd7f937bfca2000848c5ec98e9d81cd5f53ceaeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Babos=20G=C3=A1bor?= Date: Tue, 18 Jul 2017 21:55:31 +0000 Subject: [PATCH 123/140] Translated using Weblate (Hungarian) Currently translated at 99.4% (3100 of 3116 strings) --- OsmAnd/res/values-hu/phrases.xml | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/OsmAnd/res/values-hu/phrases.xml b/OsmAnd/res/values-hu/phrases.xml index f9c9dc2fd2..4c3a7aada6 100644 --- a/OsmAnd/res/values-hu/phrases.xml +++ b/OsmAnd/res/values-hu/phrases.xml @@ -201,7 +201,7 @@ Villanyszerelő Kertész Ékszerész - Lakatos + Zárlakatos Kulcsmásoló Fényképész Fotólabor @@ -456,7 +456,7 @@ Úszás Tenisz Régészeti lelőhely - Csatamező + Csatatér Határkő Történelmi ágyú Rúnakő @@ -1358,7 +1358,7 @@ Emléktábla Szobor - Sztélé + Kopjafa, sztélé Mellszobor Jármű Obeliszk @@ -1689,7 +1689,7 @@ Műalkotás típusa: mozaik Műalkotás típusa: dombormű Műalkotás típusa: graffiti - Műalkotás típusa: sztélé + Műalkotás típusa: kopjafa, sztélé Műalkotás típusa: szökőkút Szélesség @@ -3410,4 +3410,20 @@ Tulajdonos - +Fogadott állatok + Cél + +Vadon élő + + Emlős + Hal + + Örökbeadás + Nem adnak örökbe + Szabadon engedés + Nem engedik szabadon + + Űrrepülőtér + +Zsilipmedence + From ce6055ffca344c3e6269596b9b1f0bfa55d82827 Mon Sep 17 00:00:00 2001 From: Ajeje Brazorf Date: Tue, 18 Jul 2017 23:02:31 +0000 Subject: [PATCH 124/140] Translated using Weblate (Sardinian) Currently translated at 76.8% (2394 of 3116 strings) --- OsmAnd/res/values-sc/phrases.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OsmAnd/res/values-sc/phrases.xml b/OsmAnd/res/values-sc/phrases.xml index 68315ef36f..bb4962abde 100644 --- a/OsmAnd/res/values-sc/phrases.xml +++ b/OsmAnd/res/values-sc/phrases.xml @@ -2637,4 +2637,9 @@ Servìtzios Casta de mototzicleta +Animales atzetados + Punna + +Portu ispatziale + From 2ff5416c94490ee23834afc0711f1b6cb2346b65 Mon Sep 17 00:00:00 2001 From: Alexander Sytnyk Date: Wed, 19 Jul 2017 12:07:51 +0300 Subject: [PATCH 125/140] Fix #3805 --- OsmAnd-java/src/net/osmand/search/SearchUICore.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/OsmAnd-java/src/net/osmand/search/SearchUICore.java b/OsmAnd-java/src/net/osmand/search/SearchUICore.java index 56828d62b2..94e88b1e55 100644 --- a/OsmAnd-java/src/net/osmand/search/SearchUICore.java +++ b/OsmAnd-java/src/net/osmand/search/SearchUICore.java @@ -372,7 +372,12 @@ public class SearchUICore { SearchResultMatcher rm = new SearchResultMatcher(matcher, phrase, request, requestNumber, totalLimit); rm.searchStarted(phrase); if (TIMEOUT_BETWEEN_CHARS > 0 && delayedExecution) { - Thread.sleep(TIMEOUT_BETWEEN_CHARS); + long startTime = System.currentTimeMillis(); + while (System.currentTimeMillis() - startTime <= TIMEOUT_BETWEEN_CHARS) { + if (rm.isCancelled()) { + return; + } + } } else if (TIMEOUT_BEFORE_SEARCH > 0) { Thread.sleep(TIMEOUT_BEFORE_SEARCH); } From 2baa8d65944e4a5be9d426c9bf78bd4024c4d564 Mon Sep 17 00:00:00 2001 From: Alexander Sytnyk Date: Wed, 19 Jul 2017 12:11:16 +0300 Subject: [PATCH 126/140] Add sleep --- OsmAnd-java/src/net/osmand/search/SearchUICore.java | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd-java/src/net/osmand/search/SearchUICore.java b/OsmAnd-java/src/net/osmand/search/SearchUICore.java index 94e88b1e55..b0a98941fc 100644 --- a/OsmAnd-java/src/net/osmand/search/SearchUICore.java +++ b/OsmAnd-java/src/net/osmand/search/SearchUICore.java @@ -377,6 +377,7 @@ public class SearchUICore { if (rm.isCancelled()) { return; } + Thread.sleep(TIMEOUT_BEFORE_SEARCH); } } else if (TIMEOUT_BEFORE_SEARCH > 0) { Thread.sleep(TIMEOUT_BEFORE_SEARCH); From 4667d022d0d9f7b8624bdfaf8041807181e839d9 Mon Sep 17 00:00:00 2001 From: Victor Shcherb Date: Wed, 19 Jul 2017 12:03:38 +0200 Subject: [PATCH 127/140] Fix https comparison --- OsmAnd/src/net/osmand/plus/monitoring/LiveMonitoringHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/src/net/osmand/plus/monitoring/LiveMonitoringHelper.java b/OsmAnd/src/net/osmand/plus/monitoring/LiveMonitoringHelper.java index f2f09745ed..e64621b517 100644 --- a/OsmAnd/src/net/osmand/plus/monitoring/LiveMonitoringHelper.java +++ b/OsmAnd/src/net/osmand/plus/monitoring/LiveMonitoringHelper.java @@ -162,7 +162,7 @@ public class LiveMonitoringHelper { urlConnection.setReadTimeout(15000); // allow certificates where hostnames doesn't match CN - if (url.getProtocol() == "https") { + if (url.getProtocol().equals("https")) { ((HttpsURLConnection) urlConnection).setHostnameVerifier( new HostnameVerifier() { public boolean verify(String host, SSLSession session) { From 1e82cd7d45c61b05c78d63e6e5dc89fdf5953b1e Mon Sep 17 00:00:00 2001 From: Alexander Sytnyk Date: Wed, 19 Jul 2017 14:00:54 +0300 Subject: [PATCH 128/140] Replace spaces with tabs --- .../osmand/plus/views/RulerControlLayer.java | 562 +++++++++--------- 1 file changed, 281 insertions(+), 281 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/views/RulerControlLayer.java b/OsmAnd/src/net/osmand/plus/views/RulerControlLayer.java index 9046a9184a..f9726c3ae1 100644 --- a/OsmAnd/src/net/osmand/plus/views/RulerControlLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/RulerControlLayer.java @@ -28,330 +28,330 @@ import gnu.trove.list.array.TIntArrayList; public class RulerControlLayer extends OsmandMapLayer { - public static final long DELAY = 2000; - private static final int TEXT_SIZE = 14; + public static final long DELAY = 2000; + private static final int TEXT_SIZE = 14; - private final MapActivity mapActivity; - private OsmandApplication app; - private OsmandMapTileView view; - private View rightWidgetsPanel; + private final MapActivity mapActivity; + private OsmandApplication app; + private OsmandMapTileView view; + private View rightWidgetsPanel; - private TextSide textSide; - private int maxRadiusInDp; - private float maxRadius; - private int radius; - private double roundedDist; - private boolean showTwoFingersDistance; - private boolean showDistBetweenFingerAndLocation; + private TextSide textSide; + private int maxRadiusInDp; + private float maxRadius; + private int radius; + private double roundedDist; + private boolean showTwoFingersDistance; + private boolean showDistBetweenFingerAndLocation; - private QuadPoint cacheCenter; - private int cacheIntZoom; - private double cacheTileX; - private double cacheTileY; - private long cacheMultiTouchEndTime; - private ArrayList cacheDistances; - private Path distancePath; - private TIntArrayList tx; - private TIntArrayList ty; - private LatLon singleTouchPointLatLon; + private QuadPoint cacheCenter; + private int cacheIntZoom; + private double cacheTileX; + private double cacheTileY; + private long cacheMultiTouchEndTime; + private ArrayList cacheDistances; + private Path distancePath; + private TIntArrayList tx; + private TIntArrayList ty; + private LatLon singleTouchPointLatLon; - private Bitmap centerIconDay; - private Bitmap centerIconNight; - private Paint bitmapPaint; - private RenderingLineAttributes lineAttrs; - private RenderingLineAttributes circleAttrs; - private RenderingLineAttributes circleAttrsAlt; + private Bitmap centerIconDay; + private Bitmap centerIconNight; + private Paint bitmapPaint; + private RenderingLineAttributes lineAttrs; + private RenderingLineAttributes circleAttrs; + private RenderingLineAttributes circleAttrsAlt; - private Handler handler; + private Handler handler; - public RulerControlLayer(MapActivity mapActivity) { - this.mapActivity = mapActivity; - } + public RulerControlLayer(MapActivity mapActivity) { + this.mapActivity = mapActivity; + } - public boolean isShowTwoFingersDistance() { - return showTwoFingersDistance; - } + public boolean isShowTwoFingersDistance() { + return showTwoFingersDistance; + } - public boolean isShowDistBetweenFingerAndLocation() { - return showDistBetweenFingerAndLocation; - } + public boolean isShowDistBetweenFingerAndLocation() { + return showDistBetweenFingerAndLocation; + } - public LatLon getSingleTouchPointLatLon() { - return singleTouchPointLatLon; - } + public LatLon getSingleTouchPointLatLon() { + return singleTouchPointLatLon; + } - @Override - public void initLayer(final OsmandMapTileView view) { - app = mapActivity.getMyApplication(); - this.view = view; - cacheDistances = new ArrayList<>(); - cacheCenter = new QuadPoint(); - maxRadiusInDp = mapActivity.getResources().getDimensionPixelSize(R.dimen.map_ruler_width); - rightWidgetsPanel = mapActivity.findViewById(R.id.map_right_widgets_panel); - distancePath = new Path(); - tx = new TIntArrayList(); - ty = new TIntArrayList(); + @Override + public void initLayer(final OsmandMapTileView view) { + app = mapActivity.getMyApplication(); + this.view = view; + cacheDistances = new ArrayList<>(); + cacheCenter = new QuadPoint(); + maxRadiusInDp = mapActivity.getResources().getDimensionPixelSize(R.dimen.map_ruler_width); + rightWidgetsPanel = mapActivity.findViewById(R.id.map_right_widgets_panel); + distancePath = new Path(); + tx = new TIntArrayList(); + ty = new TIntArrayList(); - centerIconDay = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_ruler_center_day); - centerIconNight = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_ruler_center_night); + centerIconDay = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_ruler_center_day); + centerIconNight = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_ruler_center_night); - bitmapPaint = new Paint(); - bitmapPaint.setAntiAlias(true); - bitmapPaint.setDither(true); - bitmapPaint.setFilterBitmap(true); + bitmapPaint = new Paint(); + bitmapPaint.setAntiAlias(true); + bitmapPaint.setDither(true); + bitmapPaint.setFilterBitmap(true); - lineAttrs = new RenderingLineAttributes("rulerLine"); + lineAttrs = new RenderingLineAttributes("rulerLine"); - float textSize = TEXT_SIZE * mapActivity.getResources().getDisplayMetrics().density; + float textSize = TEXT_SIZE * mapActivity.getResources().getDisplayMetrics().density; - circleAttrs = new RenderingLineAttributes("rulerCircle"); - circleAttrs.paint2.setTextSize(textSize); - circleAttrs.paint3.setTextSize(textSize); + circleAttrs = new RenderingLineAttributes("rulerCircle"); + circleAttrs.paint2.setTextSize(textSize); + circleAttrs.paint3.setTextSize(textSize); - circleAttrsAlt = new RenderingLineAttributes("rulerCircleAlt"); - circleAttrsAlt.paint2.setTextSize(textSize); - circleAttrsAlt.paint3.setTextSize(textSize); + circleAttrsAlt = new RenderingLineAttributes("rulerCircleAlt"); + circleAttrsAlt.paint2.setTextSize(textSize); + circleAttrsAlt.paint3.setTextSize(textSize); - handler = new Handler() { - @Override - public void handleMessage(Message msg) { - view.refreshMap(); - } - }; - } + handler = new Handler() { + @Override + public void handleMessage(Message msg) { + view.refreshMap(); + } + }; + } - @Override - public boolean isMapGestureAllowed(MapGestureType type) { - if (rulerModeOn() && type == MapGestureType.TWO_POINTERS_ZOOM_OUT) { - return false; - } else { - return true; - } - } + @Override + public boolean isMapGestureAllowed(MapGestureType type) { + if (rulerModeOn() && type == MapGestureType.TWO_POINTERS_ZOOM_OUT) { + return false; + } else { + return true; + } + } - @Override - public boolean onTouchEvent(MotionEvent event, RotatedTileBox tileBox) { - if (event.getAction() == MotionEvent.ACTION_DOWN) { - showDistBetweenFingerAndLocation = true; - singleTouchPointLatLon = tileBox.getLatLonFromPixel(event.getX(), event.getY()); - } else if (event.getAction() == MotionEvent.ACTION_UP) { - showDistBetweenFingerAndLocation = false; - } - return false; - } + @Override + public boolean onTouchEvent(MotionEvent event, RotatedTileBox tileBox) { + if (event.getAction() == MotionEvent.ACTION_DOWN) { + showDistBetweenFingerAndLocation = true; + singleTouchPointLatLon = tileBox.getLatLonFromPixel(event.getX(), event.getY()); + } else if (event.getAction() == MotionEvent.ACTION_UP) { + showDistBetweenFingerAndLocation = false; + } + return false; + } - @Override - public void onDraw(Canvas canvas, RotatedTileBox tb, DrawSettings settings) { - if (rulerModeOn()) { - lineAttrs.updatePaints(view, settings, tb); - circleAttrs.updatePaints(view, settings, tb); - circleAttrs.paint2.setStyle(Style.FILL); - circleAttrsAlt.updatePaints(view, settings, tb); - circleAttrsAlt.paint2.setStyle(Style.FILL); - final QuadPoint center = tb.getCenterPixelPoint(); - final RulerMode mode = app.getSettings().RULER_MODE.get(); + @Override + public void onDraw(Canvas canvas, RotatedTileBox tb, DrawSettings settings) { + if (rulerModeOn()) { + lineAttrs.updatePaints(view, settings, tb); + circleAttrs.updatePaints(view, settings, tb); + circleAttrs.paint2.setStyle(Style.FILL); + circleAttrsAlt.updatePaints(view, settings, tb); + circleAttrsAlt.paint2.setStyle(Style.FILL); + final QuadPoint center = tb.getCenterPixelPoint(); + final RulerMode mode = app.getSettings().RULER_MODE.get(); - if (view.isMultiTouch()) { - showDistBetweenFingerAndLocation = false; - } else if (cacheMultiTouchEndTime != view.getMultiTouchEndTime()) { - cacheMultiTouchEndTime = view.getMultiTouchEndTime(); - refreshMapDelayed(); - } - showTwoFingersDistance = !view.isWasZoomInMultiTouch() && !tb.isZoomAnimated() && - (view.isMultiTouch() || System.currentTimeMillis() - cacheMultiTouchEndTime < DELAY); + if (view.isMultiTouch()) { + showDistBetweenFingerAndLocation = false; + } else if (cacheMultiTouchEndTime != view.getMultiTouchEndTime()) { + cacheMultiTouchEndTime = view.getMultiTouchEndTime(); + refreshMapDelayed(); + } + showTwoFingersDistance = !view.isWasZoomInMultiTouch() && !tb.isZoomAnimated() && + (view.isMultiTouch() || System.currentTimeMillis() - cacheMultiTouchEndTime < DELAY); - drawCenterIcon(canvas, tb, center, settings.isNightMode(), mode); - Location currentLoc = app.getLocationProvider().getLastKnownLocation(); - if (showDistBetweenFingerAndLocation && currentLoc != null) { - float x = tb.getPixXFromLonNoRot(singleTouchPointLatLon.getLongitude()); - float y = tb.getPixYFromLatNoRot(singleTouchPointLatLon.getLatitude()); - drawDistBetweenFingerAndLocation(canvas, tb, x, y, currentLoc, settings.isNightMode()); - } else if (showTwoFingersDistance) { - LatLon firstTouchPoint = view.getFirstTouchPointLatLon(); - LatLon secondTouchPoint = view.getSecondTouchPointLatLon(); - float x1 = tb.getPixXFromLonNoRot(firstTouchPoint.getLongitude()); - float y1 = tb.getPixYFromLatNoRot(firstTouchPoint.getLatitude()); - float x2 = tb.getPixXFromLonNoRot(secondTouchPoint.getLongitude()); - float y2 = tb.getPixYFromLatNoRot(secondTouchPoint.getLatitude()); - drawFingerDistance(canvas, x1, y1, x2, y2, settings.isNightMode()); - } - if (mode == RulerMode.FIRST || mode == RulerMode.SECOND) { - updateData(tb, center); - RenderingLineAttributes attrs; - if (mode == RulerMode.FIRST) { - attrs = circleAttrs; - } else { - attrs = circleAttrsAlt; - } - for (int i = 1; i <= cacheDistances.size(); i++) { - drawCircle(canvas, tb, i, center, attrs); - } - } - } - } + drawCenterIcon(canvas, tb, center, settings.isNightMode(), mode); + Location currentLoc = app.getLocationProvider().getLastKnownLocation(); + if (showDistBetweenFingerAndLocation && currentLoc != null) { + float x = tb.getPixXFromLonNoRot(singleTouchPointLatLon.getLongitude()); + float y = tb.getPixYFromLatNoRot(singleTouchPointLatLon.getLatitude()); + drawDistBetweenFingerAndLocation(canvas, tb, x, y, currentLoc, settings.isNightMode()); + } else if (showTwoFingersDistance) { + LatLon firstTouchPoint = view.getFirstTouchPointLatLon(); + LatLon secondTouchPoint = view.getSecondTouchPointLatLon(); + float x1 = tb.getPixXFromLonNoRot(firstTouchPoint.getLongitude()); + float y1 = tb.getPixYFromLatNoRot(firstTouchPoint.getLatitude()); + float x2 = tb.getPixXFromLonNoRot(secondTouchPoint.getLongitude()); + float y2 = tb.getPixYFromLatNoRot(secondTouchPoint.getLatitude()); + drawFingerDistance(canvas, x1, y1, x2, y2, settings.isNightMode()); + } + if (mode == RulerMode.FIRST || mode == RulerMode.SECOND) { + updateData(tb, center); + RenderingLineAttributes attrs; + if (mode == RulerMode.FIRST) { + attrs = circleAttrs; + } else { + attrs = circleAttrsAlt; + } + for (int i = 1; i <= cacheDistances.size(); i++) { + drawCircle(canvas, tb, i, center, attrs); + } + } + } + } - private boolean rulerModeOn() { - return mapActivity.getMapLayers().getMapWidgetRegistry().isVisible("ruler") && - rightWidgetsPanel.getVisibility() == View.VISIBLE; - } + private boolean rulerModeOn() { + return mapActivity.getMapLayers().getMapWidgetRegistry().isVisible("ruler") && + rightWidgetsPanel.getVisibility() == View.VISIBLE; + } - public void refreshMapDelayed() { - handler.sendEmptyMessageDelayed(0, DELAY + 50); - } + public void refreshMapDelayed() { + handler.sendEmptyMessageDelayed(0, DELAY + 50); + } - private void drawFingerDistance(Canvas canvas, float x1, float y1, float x2, float y2, boolean nightMode) { - canvas.drawLine(x1, y1, x2, y2, lineAttrs.paint); - drawFingerTouchIcon(canvas, x1, y1, nightMode); - drawFingerTouchIcon(canvas, x2, y2, nightMode); - } + private void drawFingerDistance(Canvas canvas, float x1, float y1, float x2, float y2, boolean nightMode) { + canvas.drawLine(x1, y1, x2, y2, lineAttrs.paint); + drawFingerTouchIcon(canvas, x1, y1, nightMode); + drawFingerTouchIcon(canvas, x2, y2, nightMode); + } - private void drawFingerTouchIcon(Canvas canvas, float x, float y, boolean nightMode) { - if (nightMode) { - canvas.drawBitmap(centerIconNight, x - centerIconNight.getWidth() / 2, - y - centerIconNight.getHeight() / 2, bitmapPaint); - } else { - canvas.drawBitmap(centerIconDay, x - centerIconDay.getWidth() / 2, - y - centerIconDay.getHeight() / 2, bitmapPaint); - } - } + private void drawFingerTouchIcon(Canvas canvas, float x, float y, boolean nightMode) { + if (nightMode) { + canvas.drawBitmap(centerIconNight, x - centerIconNight.getWidth() / 2, + y - centerIconNight.getHeight() / 2, bitmapPaint); + } else { + canvas.drawBitmap(centerIconDay, x - centerIconDay.getWidth() / 2, + y - centerIconDay.getHeight() / 2, bitmapPaint); + } + } - private void drawCenterIcon(Canvas canvas, RotatedTileBox tb, QuadPoint center, boolean nightMode, - RulerMode mode) { - canvas.rotate(-tb.getRotate(), center.x, center.y); - if (nightMode || mode == RulerMode.SECOND) { - canvas.drawBitmap(centerIconNight, center.x - centerIconNight.getWidth() / 2, - center.y - centerIconNight.getHeight() / 2, bitmapPaint); - } else { - canvas.drawBitmap(centerIconDay, center.x - centerIconDay.getWidth() / 2, - center.y - centerIconDay.getHeight() / 2, bitmapPaint); - } - canvas.rotate(tb.getRotate(), center.x, center.y); - } + private void drawCenterIcon(Canvas canvas, RotatedTileBox tb, QuadPoint center, boolean nightMode, + RulerMode mode) { + canvas.rotate(-tb.getRotate(), center.x, center.y); + if (nightMode || mode == RulerMode.SECOND) { + canvas.drawBitmap(centerIconNight, center.x - centerIconNight.getWidth() / 2, + center.y - centerIconNight.getHeight() / 2, bitmapPaint); + } else { + canvas.drawBitmap(centerIconDay, center.x - centerIconDay.getWidth() / 2, + center.y - centerIconDay.getHeight() / 2, bitmapPaint); + } + canvas.rotate(tb.getRotate(), center.x, center.y); + } - private void drawDistBetweenFingerAndLocation(Canvas canvas, RotatedTileBox tb, float x, float y, - Location currentLoc, boolean nightMode) { - int currX = tb.getPixXFromLonNoRot(currentLoc.getLongitude()); - int currY = tb.getPixYFromLatNoRot(currentLoc.getLatitude()); - distancePath.reset(); - tx.clear(); - ty.clear(); + private void drawDistBetweenFingerAndLocation(Canvas canvas, RotatedTileBox tb, float x, float y, + Location currentLoc, boolean nightMode) { + int currX = tb.getPixXFromLonNoRot(currentLoc.getLongitude()); + int currY = tb.getPixYFromLatNoRot(currentLoc.getLatitude()); + distancePath.reset(); + tx.clear(); + ty.clear(); - tx.add(currX); - ty.add(currY); - tx.add((int) x); - ty.add((int) y); + tx.add(currX); + ty.add(currY); + tx.add((int) x); + ty.add((int) y); - calculatePath(tb, tx, ty, distancePath); - canvas.drawPath(distancePath, lineAttrs.paint); - drawFingerTouchIcon(canvas, x, y, nightMode); - } + calculatePath(tb, tx, ty, distancePath); + canvas.drawPath(distancePath, lineAttrs.paint); + drawFingerTouchIcon(canvas, x, y, nightMode); + } - private void updateData(RotatedTileBox tb, QuadPoint center) { - if (tb.getPixHeight() > 0 && tb.getPixWidth() > 0 && maxRadiusInDp > 0) { - if (cacheCenter.y != center.y || cacheCenter.x != center.x) { - cacheCenter = center; - updateCenter(tb, center); - } + private void updateData(RotatedTileBox tb, QuadPoint center) { + if (tb.getPixHeight() > 0 && tb.getPixWidth() > 0 && maxRadiusInDp > 0) { + if (cacheCenter.y != center.y || cacheCenter.x != center.x) { + cacheCenter = center; + updateCenter(tb, center); + } - boolean move = tb.getZoom() != cacheIntZoom || Math.abs(tb.getCenterTileX() - cacheTileX) > 1 || - Math.abs(tb.getCenterTileY() - cacheTileY) > 1; + boolean move = tb.getZoom() != cacheIntZoom || Math.abs(tb.getCenterTileX() - cacheTileX) > 1 || + Math.abs(tb.getCenterTileY() - cacheTileY) > 1; - if (!tb.isZoomAnimated() && move) { - cacheIntZoom = tb.getZoom(); - cacheTileX = tb.getCenterTileX(); - cacheTileY = tb.getCenterTileY(); - cacheDistances.clear(); - updateDistance(tb); - } - } - } + if (!tb.isZoomAnimated() && move) { + cacheIntZoom = tb.getZoom(); + cacheTileX = tb.getCenterTileX(); + cacheTileY = tb.getCenterTileY(); + cacheDistances.clear(); + updateDistance(tb); + } + } + } - private void updateCenter(RotatedTileBox tb, QuadPoint center) { - float topDist = center.y; - float bottomDist = tb.getPixHeight() - center.y; - float leftDist = center.x; - float rightDist = tb.getPixWidth() - center.x; - float maxVertical = topDist >= bottomDist ? topDist : bottomDist; - float maxHorizontal = rightDist >= leftDist ? rightDist : leftDist; + private void updateCenter(RotatedTileBox tb, QuadPoint center) { + float topDist = center.y; + float bottomDist = tb.getPixHeight() - center.y; + float leftDist = center.x; + float rightDist = tb.getPixWidth() - center.x; + float maxVertical = topDist >= bottomDist ? topDist : bottomDist; + float maxHorizontal = rightDist >= leftDist ? rightDist : leftDist; - if (maxVertical >= maxHorizontal) { - maxRadius = maxVertical; - textSide = TextSide.VERTICAL; - } else { - maxRadius = maxHorizontal; - textSide = TextSide.HORIZONTAL; - } - if (radius != 0) { - updateText(); - } - } + if (maxVertical >= maxHorizontal) { + maxRadius = maxVertical; + textSide = TextSide.VERTICAL; + } else { + maxRadius = maxHorizontal; + textSide = TextSide.HORIZONTAL; + } + if (radius != 0) { + updateText(); + } + } - private void updateDistance(RotatedTileBox tb) { - final double dist = tb.getDistance(0, tb.getPixHeight() / 2, tb.getPixWidth(), tb.getPixHeight() / 2); - double pixDensity = tb.getPixWidth() / dist; - roundedDist = OsmAndFormatter.calculateRoundedDist(maxRadiusInDp / pixDensity, app); - radius = (int) (pixDensity * roundedDist); - updateText(); - } + private void updateDistance(RotatedTileBox tb) { + final double dist = tb.getDistance(0, tb.getPixHeight() / 2, tb.getPixWidth(), tb.getPixHeight() / 2); + double pixDensity = tb.getPixWidth() / dist; + roundedDist = OsmAndFormatter.calculateRoundedDist(maxRadiusInDp / pixDensity, app); + radius = (int) (pixDensity * roundedDist); + updateText(); + } - private void updateText() { - double maxCircleRadius = maxRadius; - int i = 1; - while ((maxCircleRadius -= radius) > 0) { - cacheDistances.add(OsmAndFormatter - .getFormattedDistance((float) roundedDist * i++, app, false).replaceAll(" ", "")); - } - } + private void updateText() { + double maxCircleRadius = maxRadius; + int i = 1; + while ((maxCircleRadius -= radius) > 0) { + cacheDistances.add(OsmAndFormatter + .getFormattedDistance((float) roundedDist * i++, app, false).replaceAll(" ", "")); + } + } - private void drawCircle(Canvas canvas, RotatedTileBox tb, int circleNumber, QuadPoint center, - RenderingLineAttributes attrs) { - if (!tb.isZoomAnimated()) { - Rect bounds = new Rect(); - String text = cacheDistances.get(circleNumber - 1); - attrs.paint2.getTextBounds(text, 0, text.length(), bounds); + private void drawCircle(Canvas canvas, RotatedTileBox tb, int circleNumber, QuadPoint center, + RenderingLineAttributes attrs) { + if (!tb.isZoomAnimated()) { + Rect bounds = new Rect(); + String text = cacheDistances.get(circleNumber - 1); + attrs.paint2.getTextBounds(text, 0, text.length(), bounds); - // coords of left or top text - float x1 = 0; - float y1 = 0; - // coords of right or bottom text - float x2 = 0; - float y2 = 0; + // coords of left or top text + float x1 = 0; + float y1 = 0; + // coords of right or bottom text + float x2 = 0; + float y2 = 0; - if (textSide == TextSide.VERTICAL) { - x1 = center.x - bounds.width() / 2; - y1 = center.y - radius * circleNumber + bounds.height() / 2; - x2 = center.x - bounds.width() / 2; - y2 = center.y + radius * circleNumber + bounds.height() / 2; - } else if (textSide == TextSide.HORIZONTAL) { - x1 = center.x - radius * circleNumber - bounds.width() / 2; - y1 = center.y + bounds.height() / 2; - x2 = center.x + radius * circleNumber - bounds.width() / 2; - y2 = center.y + bounds.height() / 2; - } + if (textSide == TextSide.VERTICAL) { + x1 = center.x - bounds.width() / 2; + y1 = center.y - radius * circleNumber + bounds.height() / 2; + x2 = center.x - bounds.width() / 2; + y2 = center.y + radius * circleNumber + bounds.height() / 2; + } else if (textSide == TextSide.HORIZONTAL) { + x1 = center.x - radius * circleNumber - bounds.width() / 2; + y1 = center.y + bounds.height() / 2; + x2 = center.x + radius * circleNumber - bounds.width() / 2; + y2 = center.y + bounds.height() / 2; + } - canvas.rotate(-tb.getRotate(), center.x, center.y); - canvas.drawCircle(center.x, center.y, radius * circleNumber, attrs.shadowPaint); - canvas.drawCircle(center.x, center.y, radius * circleNumber, attrs.paint); - canvas.drawText(text, x1, y1, attrs.paint3); - canvas.drawText(text, x1, y1, attrs.paint2); - canvas.drawText(text, x2, y2, attrs.paint3); - canvas.drawText(text, x2, y2, attrs.paint2); - canvas.rotate(tb.getRotate(), center.x, center.y); - } - } + canvas.rotate(-tb.getRotate(), center.x, center.y); + canvas.drawCircle(center.x, center.y, radius * circleNumber, attrs.shadowPaint); + canvas.drawCircle(center.x, center.y, radius * circleNumber, attrs.paint); + canvas.drawText(text, x1, y1, attrs.paint3); + canvas.drawText(text, x1, y1, attrs.paint2); + canvas.drawText(text, x2, y2, attrs.paint3); + canvas.drawText(text, x2, y2, attrs.paint2); + canvas.rotate(tb.getRotate(), center.x, center.y); + } + } - private enum TextSide { - VERTICAL, - HORIZONTAL - } + private enum TextSide { + VERTICAL, + HORIZONTAL + } - @Override - public void destroyLayer() { + @Override + public void destroyLayer() { - } + } - @Override - public boolean drawInScreenPixels() { - return false; - } + @Override + public boolean drawInScreenPixels() { + return false; + } } From b653af3b0608f1dd67c0d2761ffc44b3da9eb421 Mon Sep 17 00:00:00 2001 From: Alexey Kulish Date: Wed, 19 Jul 2017 15:16:00 +0300 Subject: [PATCH 129/140] Fix #3992 --- .../osmand/plus/activities/MapActivity.java | 1 + .../osmand/plus/views/OsmandMapTileView.java | 32 ++++++++++++++++--- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java index c01d74dc5c..ae489b9066 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java @@ -1091,6 +1091,7 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven if (mapView.getMapRenderer() != null) { NativeCoreContext.getMapRendererContext().updateMapSettings(); } + mapView.resetDefaultColor(); if (registry.getCurrentSelectedRenderer() != newRenderer) { registry.setCurrentSelectedRender(newRenderer); app.getResourceManager().getRenderer().clearCache(); diff --git a/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java b/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java index da4a3e5630..d47a9a1b8b 100644 --- a/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java +++ b/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java @@ -47,6 +47,9 @@ import net.osmand.plus.activities.MapActivity; import net.osmand.plus.helpers.TwoFingerTapDetector; import net.osmand.plus.views.MultiTouchSupport.MultiTouchZoomListener; import net.osmand.plus.views.OsmandMapLayer.DrawSettings; +import net.osmand.render.RenderingRuleSearchRequest; +import net.osmand.render.RenderingRuleStorageProperties; +import net.osmand.render.RenderingRulesStorage; import net.osmand.util.MapUtils; import org.apache.commons.logging.Log; @@ -61,6 +64,7 @@ public class OsmandMapTileView implements IMapDownloaderCallback { private static final int MAP_FORCE_REFRESH_MESSAGE = OsmAndConstants.UI_HANDLER_MAP_VIEW + 5; private static final int BASE_REFRESH_MESSAGE = OsmAndConstants.UI_HANDLER_MAP_VIEW + 3; protected final static int LOWEST_ZOOM_TO_ROTATE = 9; + private static final int MAP_DEFAULT_COLOR = 0xffebe7e4; private boolean MEASURE_FPS = false; private FPSMeasurement main = new FPSMeasurement(); private FPSMeasurement additional = new FPSMeasurement(); @@ -68,6 +72,7 @@ public class OsmandMapTileView implements IMapDownloaderCallback { private Activity activity; private OsmandApplication application; protected OsmandSettings settings = null; + private Integer defaultColor = null; private class FPSMeasurement { int fpsMeasureCount = 0; @@ -103,6 +108,10 @@ public class OsmandMapTileView implements IMapDownloaderCallback { public boolean onPressEvent(PointF point); } + public int getDefaultColor() { + return defaultColor; + } + protected static final Log LOG = PlatformUtil.getLog(OsmandMapTileView.class); @@ -592,13 +601,28 @@ public class OsmandMapTileView implements IMapDownloaderCallback { } private void fillCanvas(Canvas canvas, DrawSettings drawSettings) { - if (drawSettings.isNightMode()) { - canvas.drawARGB(255, 100, 100, 100); - } else { - canvas.drawARGB(255, 225, 225, 225); + Integer color = defaultColor; + if (color == null) { + color = updateDefaultColor(drawSettings.isNightMode()); } + canvas.drawColor(color); } + public void resetDefaultColor() { + defaultColor = null; + } + + private int updateDefaultColor(boolean nightMode) { + int color = MAP_DEFAULT_COLOR; + RenderingRulesStorage rrs = application.getRendererRegistry().getCurrentSelectedRenderer(); + RenderingRuleSearchRequest req = new RenderingRuleSearchRequest(rrs); + req.setBooleanFilter(rrs.PROPS.R_NIGHT_MODE, nightMode); + if (req.searchRenderingAttribute(RenderingRuleStorageProperties.A_DEFAULT_COLOR)) { + color = req.getIntPropertyValue(req.ALL.R_ATTR_COLOR_VALUE); + defaultColor = color; + } + return color; + } public boolean isMeasureFPS() { return MEASURE_FPS; From 1c190124175900b9e23f48281df92fd3c0e8cf10 Mon Sep 17 00:00:00 2001 From: Mirco Zorzo Date: Wed, 19 Jul 2017 11:42:36 +0000 Subject: [PATCH 130/140] Translated using Weblate (Italian) Currently translated at 98.5% (2329 of 2363 strings) --- OsmAnd/res/values-it/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-it/strings.xml b/OsmAnd/res/values-it/strings.xml index 58ba3e634a..534860b160 100644 --- a/OsmAnd/res/values-it/strings.xml +++ b/OsmAnd/res/values-it/strings.xml @@ -2865,7 +2865,7 @@ Copertura e qualità approssimativamente: \n \n • Informazioni dettagliate e suddivisore delle tue tracce GPX \n -\n • Altre migliorie e correzione di errori +\n • Altre migliorie e correzioni di errori \n \n From f4172e3e6f66f6a551237b0d4fda0bd113be547c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D1=96=D0=B9=20=D0=94=D1=83=D0=B1?= =?UTF-8?q?=D0=B8=D0=BA?= Date: Wed, 19 Jul 2017 11:56:59 +0000 Subject: [PATCH 131/140] Translated using Weblate (Ukrainian) Currently translated at 99.9% (2361 of 2363 strings) --- OsmAnd/res/values-uk/strings.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OsmAnd/res/values-uk/strings.xml b/OsmAnd/res/values-uk/strings.xml index 14d5cdaf71..d9efb55627 100644 --- a/OsmAnd/res/values-uk/strings.xml +++ b/OsmAnd/res/values-uk/strings.xml @@ -2944,4 +2944,9 @@ \n \n Напівпрозорий рожевий + Відновити/призупинити навігацію + Натисніть цю кнопку, щоб призупинити навігацію або відновити її, якщо вона вже була призупинена. + Показати вікно, щоб завершити навігацію + Початок/завершення навігації + Натисніть цю кнопку, щоб запустити навігацію або зупинити її, якщо вона вже була запущена. From a61a7e2d0311639e95a9f6308b2b95605527fd44 Mon Sep 17 00:00:00 2001 From: Alexey Kulish Date: Wed, 19 Jul 2017 15:27:26 +0300 Subject: [PATCH 132/140] Fix defaultColor --- .../src/net/osmand/plus/activities/MapActivity.java | 5 ++++- .../src/net/osmand/plus/views/OsmandMapTileView.java | 12 +++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java index ae489b9066..c43e653a44 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java @@ -1091,12 +1091,15 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven if (mapView.getMapRenderer() != null) { NativeCoreContext.getMapRendererContext().updateMapSettings(); } - mapView.resetDefaultColor(); if (registry.getCurrentSelectedRenderer() != newRenderer) { registry.setCurrentSelectedRender(newRenderer); app.getResourceManager().getRenderer().clearCache(); + mapView.resetDefaultColor(); mapView.refreshMap(true); + } else { + mapView.resetDefaultColor(); } + return null; } diff --git a/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java b/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java index d47a9a1b8b..b14fd6f510 100644 --- a/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java +++ b/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java @@ -615,11 +615,13 @@ public class OsmandMapTileView implements IMapDownloaderCallback { private int updateDefaultColor(boolean nightMode) { int color = MAP_DEFAULT_COLOR; RenderingRulesStorage rrs = application.getRendererRegistry().getCurrentSelectedRenderer(); - RenderingRuleSearchRequest req = new RenderingRuleSearchRequest(rrs); - req.setBooleanFilter(rrs.PROPS.R_NIGHT_MODE, nightMode); - if (req.searchRenderingAttribute(RenderingRuleStorageProperties.A_DEFAULT_COLOR)) { - color = req.getIntPropertyValue(req.ALL.R_ATTR_COLOR_VALUE); - defaultColor = color; + if (rrs != null) { + RenderingRuleSearchRequest req = new RenderingRuleSearchRequest(rrs); + req.setBooleanFilter(rrs.PROPS.R_NIGHT_MODE, nightMode); + if (req.searchRenderingAttribute(RenderingRuleStorageProperties.A_DEFAULT_COLOR)) { + color = req.getIntPropertyValue(req.ALL.R_ATTR_COLOR_VALUE); + defaultColor = color; + } } return color; } From d9da16a4e8382b344dc7d5eb584695ef639b829f Mon Sep 17 00:00:00 2001 From: Dmitriy Prodchenko Date: Wed, 19 Jul 2017 17:08:37 +0300 Subject: [PATCH 133/140] Add grey location icon. --- .../drawable-hdpi/map_bicycle_location_lost.png | Bin 0 -> 4091 bytes .../map_bicycle_location_lost_night.png | Bin 0 -> 4090 bytes .../res/drawable-hdpi/map_car_location_lost.png | Bin 0 -> 3261 bytes .../map_car_location_lost_night.png | Bin 0 -> 3289 bytes .../drawable-hdpi/map_default_location_lost.png | Bin 0 -> 2217 bytes .../map_default_location_lost_night.png | Bin 0 -> 2217 bytes .../map_pedestrian_location_lost.png | Bin 0 -> 2217 bytes .../map_pedestrian_location_lost_night.png | Bin 0 -> 2217 bytes .../drawable-mdpi/map_bicycle_location_lost.png | Bin 0 -> 2682 bytes .../map_bicycle_location_lost_night.png | Bin 0 -> 2690 bytes .../res/drawable-mdpi/map_car_location_lost.png | Bin 0 -> 2287 bytes .../map_car_location_lost_night.png | Bin 0 -> 2299 bytes .../drawable-mdpi/map_default_location_lost.png | Bin 0 -> 1699 bytes .../map_default_location_lost_night.png | Bin 0 -> 1699 bytes .../map_pedestrian_location_lost.png | Bin 0 -> 1699 bytes .../map_pedestrian_location_lost_night.png | Bin 0 -> 1699 bytes .../drawable-xhdpi/map_bicycle_location_lost.png | Bin 0 -> 5446 bytes .../map_bicycle_location_lost_night.png | Bin 0 -> 5446 bytes .../res/drawable-xhdpi/map_car_location_lost.png | Bin 0 -> 4324 bytes .../map_car_location_lost_night.png | Bin 0 -> 4317 bytes .../drawable-xhdpi/map_default_location_lost.png | Bin 0 -> 2729 bytes .../map_default_location_lost_night.png | Bin 0 -> 2711 bytes .../map_pedestrian_location_lost.png | Bin 0 -> 2709 bytes .../map_pedestrian_location_lost_night.png | Bin 0 -> 2735 bytes .../map_bicycle_location_lost.png | Bin 0 -> 8276 bytes .../map_bicycle_location_lost_night.png | Bin 0 -> 8201 bytes .../drawable-xxhdpi/map_car_location_lost.png | Bin 0 -> 6286 bytes .../map_car_location_lost_night.png | Bin 0 -> 6258 bytes .../map_default_location_lost.png | Bin 0 -> 3985 bytes .../map_default_location_lost_night.png | Bin 0 -> 3987 bytes .../map_pedestrian_location_lost.png | Bin 0 -> 3916 bytes .../map_pedestrian_location_lost_night.png | Bin 0 -> 3988 bytes 32 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 OsmAnd/res/drawable-hdpi/map_bicycle_location_lost.png create mode 100644 OsmAnd/res/drawable-hdpi/map_bicycle_location_lost_night.png create mode 100644 OsmAnd/res/drawable-hdpi/map_car_location_lost.png create mode 100644 OsmAnd/res/drawable-hdpi/map_car_location_lost_night.png create mode 100644 OsmAnd/res/drawable-hdpi/map_default_location_lost.png create mode 100644 OsmAnd/res/drawable-hdpi/map_default_location_lost_night.png create mode 100644 OsmAnd/res/drawable-hdpi/map_pedestrian_location_lost.png create mode 100644 OsmAnd/res/drawable-hdpi/map_pedestrian_location_lost_night.png create mode 100644 OsmAnd/res/drawable-mdpi/map_bicycle_location_lost.png create mode 100644 OsmAnd/res/drawable-mdpi/map_bicycle_location_lost_night.png create mode 100644 OsmAnd/res/drawable-mdpi/map_car_location_lost.png create mode 100644 OsmAnd/res/drawable-mdpi/map_car_location_lost_night.png create mode 100644 OsmAnd/res/drawable-mdpi/map_default_location_lost.png create mode 100644 OsmAnd/res/drawable-mdpi/map_default_location_lost_night.png create mode 100644 OsmAnd/res/drawable-mdpi/map_pedestrian_location_lost.png create mode 100644 OsmAnd/res/drawable-mdpi/map_pedestrian_location_lost_night.png create mode 100644 OsmAnd/res/drawable-xhdpi/map_bicycle_location_lost.png create mode 100644 OsmAnd/res/drawable-xhdpi/map_bicycle_location_lost_night.png create mode 100644 OsmAnd/res/drawable-xhdpi/map_car_location_lost.png create mode 100644 OsmAnd/res/drawable-xhdpi/map_car_location_lost_night.png create mode 100644 OsmAnd/res/drawable-xhdpi/map_default_location_lost.png create mode 100644 OsmAnd/res/drawable-xhdpi/map_default_location_lost_night.png create mode 100644 OsmAnd/res/drawable-xhdpi/map_pedestrian_location_lost.png create mode 100644 OsmAnd/res/drawable-xhdpi/map_pedestrian_location_lost_night.png create mode 100644 OsmAnd/res/drawable-xxhdpi/map_bicycle_location_lost.png create mode 100644 OsmAnd/res/drawable-xxhdpi/map_bicycle_location_lost_night.png create mode 100644 OsmAnd/res/drawable-xxhdpi/map_car_location_lost.png create mode 100644 OsmAnd/res/drawable-xxhdpi/map_car_location_lost_night.png create mode 100644 OsmAnd/res/drawable-xxhdpi/map_default_location_lost.png create mode 100644 OsmAnd/res/drawable-xxhdpi/map_default_location_lost_night.png create mode 100644 OsmAnd/res/drawable-xxhdpi/map_pedestrian_location_lost.png create mode 100644 OsmAnd/res/drawable-xxhdpi/map_pedestrian_location_lost_night.png diff --git a/OsmAnd/res/drawable-hdpi/map_bicycle_location_lost.png b/OsmAnd/res/drawable-hdpi/map_bicycle_location_lost.png new file mode 100644 index 0000000000000000000000000000000000000000..bebc1fa6ac1ba670b35cb744a26921dcbd1a00d7 GIT binary patch literal 4091 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 KTx#fX_J07sdoj=e literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-hdpi/map_bicycle_location_lost_night.png b/OsmAnd/res/drawable-hdpi/map_bicycle_location_lost_night.png new file mode 100644 index 0000000000000000000000000000000000000000..9ded796ac45ca5506447c43b937d1806d5177fd3 GIT binary patch literal 4090 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 L2XdK(PyBxX1m=rk literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-hdpi/map_car_location_lost_night.png b/OsmAnd/res/drawable-hdpi/map_car_location_lost_night.png new file mode 100644 index 0000000000000000000000000000000000000000..fba15e4b75dfc885abc81741163733112bfb0c4b GIT binary patch literal 3289 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 aba8`E%HZajp&abr0q4&R;*{?`tojxFs)JGh literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-hdpi/map_default_location_lost_night.png b/OsmAnd/res/drawable-hdpi/map_default_location_lost_night.png new file mode 100644 index 0000000000000000000000000000000000000000..7d097bbc6a727459965e659aff3f0ce4bce892b2 GIT binary patch literal 2217 zcmbVOdsGuw8V~YDP+(OAp-uw`RYD$wgoz}GNq7hW7C}(D>M$8dkYqv(qNnwA_>OE;oLnG5(qwm$bm>CS}11Xf4b3t z2ZVekKFpOz;z`(uK#(3$KCx>2Z30EI-R5lJACOeK)W3=+s7 zk%5(g$E->DQH)@Y*NQDnV&VmIxr9L^CMG62C%QPJ(r6+X1VJK+LZna#7=j>663Zb4 zK`gUf)xbeyuv93K3sEtk(FjGN@p2{}^YqOTL=qnFtzxlkB~Vz%hzdwTBs-IcB9Z1? z%V?QA82OJI??lT&k|YQ*7?GjzQW(oel8>s?pG<>R^}LHu=D31vknKXF zdU}z`Tsp?1bLn)No0pfH7u$`!%Jmh?grb$E>-8Al2W)~ir3BS9)9fq z&_`PS;Wz0`&+Fm?j@Fm$tr@pAx%f*WFNCVK@U^)?%5GyV$7-k-iDI1&GkwH?96Mh z?rUIrcr4Y0J1wp|IDLoOo^gz|v_(BRF>x$|Ch&vPFD$i>=8FZEZle{hMK##)*1Ge> zK3&g(knJy+ImH#lFFmCqoAP5&_I zvkEP`HYQh=R8-7(Co2*XzB+sE+{RdkGvDz;NSi|{!u_vRRefDw&)Rs(s}TG&C+EG^ z=QDH48O?#%Nza1YPl`PO` zwB*sLsYTu1bQP%h#WL3>QK?i;rCz$3$xXQ@QH_k)n0}qs*lET1UYk&B=s0*gVy#waAdmMn+ReeiAqIkOr~PT&aT_-^Ab_{B*q#yA zZ1q-NVBo+ddPLi#Yb{t;oD>uq5z!y^>tO_GQJZJ)4cKhn7kNH1ZT@H1ma1GeSpNdB z(?EW)Ox!*7ToGsw72LYTytH0*-8;1@`6Uow%>K4xTQbhKsPfGA#Wa2fy3?dj|3_vq z1^EbdKk?MVz>|9D`sk9Q=cLQ&0WHfQ*3IF7`yx_xh%uk@#$zkDn{{)KL$TCMKuH?~;+Lr?;V#okiYay4I9 zT4Zq`3tg}=-6nn2+1Y95H1C?w^XO5(CFQ6=dPmKcYRh#-eM6hm)lsprPQG)SUK^iy zAeNZbH8(fkd-CLoZSv#Z-fyzAvnL+8rMC@B$A^ZR_Qh6?*qIylpVd_m=r1cI-I z8yg!fW)#1E=3^Hb-QOFl7BLDJ;kdY&;raRb@($JH&vYBv=?nU=)U_9@1SSvZ4~j~< zayn%9b3WdXTB-BgUwba+ewwqcz+)gLyszX;&%d|_JDP0m^=FS={G0uj9_v#(l=02a zy05Jth}+*c6u;h3=xq^uXwZ7k!}Qtth1R=A$$oP=H&tBE((y-H8@q>ZkZnGRPJ|C0 zvOZw%YZu-3W!9xouQRjrL(>fLz86_m8*`k>bU$)HD+=(l12)Td#Of7+{~zf!I{PV3 a8#nN@6mF^>%*Os5aK79CPTB6m>AwLBl!Na8 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-hdpi/map_pedestrian_location_lost.png b/OsmAnd/res/drawable-hdpi/map_pedestrian_location_lost.png new file mode 100644 index 0000000000000000000000000000000000000000..cce0ef4ddac2106bbe15d080670d1c5585d2512a GIT binary patch literal 2217 zcmbVOdsGuw8V~YDP+(OAp-uw`RYD$wgoy-xoOSz0?>RH~es_Mq@B8le zxMxm=1o@ho*qGpOI5U4gPAE3}X&)m4>>WN`?Tby;3T~ugFDg(ZK{5o#;-k?B;4g+^ zkWd8TC&zz>c;axnN>Ny(B9a%#fKjn4q{X-@#Zruo!+Clur4W1sQ2^0Mj7Y-7|9Gtl z4~Y0oe1toX#FMfSp~z1qL-wkI!eG@A806!Cqa zwStx_LXrQt@lLcnELn;WLlHTeAcL`d2<%tMSnPh=kQRt}!w8m%u%tk7928CvBNBx_ zhl$6&xbj7O22A&$A?_qP0TjT|1S*LJ5+EuGA%Ij6q`SMpd@>DM)$=Ysnd43asT>N8 z%JLzTxpa(2=hEpk4<8>7AGQa3mFq8&D%B$+~7jP%u4PiFN(zm$MnNH zK6fz`e42OaCfEFLTc4zUZk^SyXVKmnm{`G4k)d4|oNpQ?8a3`xckd}Jhnr@2y}aJh zhk^I~WR-vVCZpwPLqgEe#)`dlleT8J|8d$c+1O}}jzgMW9?o*t8b6#dVDW#X@ojz` zu*_Qc?TE{XBYX4tH0++9{-qK@g#ukXR#;bewx7@2SRMDCH3FiP;!o?L3xma zWgXUiO-yg^R}GOa%j*u#-lBG99`ky&MKe7$bu5!641hDvzv>(>kO-|k#;e?m>#*Ug zbL)$J`mDmR?a!FGB~>NQSu(NRdpah0hMd8{L2pkluN2{*|0p%hZ3BfBX;x{bbs2@5 z{%$s46JC5}LZK?Hs+#jnQ6?sS_1W388{?eLe8&$XZ4Rr747^fP^L1mR*Tz#mMc^m7 zx$m_y= zW<}YuHCuVX!9!*AsE%p(da$7+IV3zPYB1uL!wAx*vCP>UwApeX`doDS;!o~vHF+Aa z@fqNth5T%tw0q{MGT0F+ym5nBwqAYJH?1Y*IS^#Z{-- zU(6B;@*(PZ;<2|8i+bql_$z1DwA<++9qSOU>!U$;#iZIW%i8XR_X}=IcP=aUf3!bO z@2kbLYPBE*iLmXUm6w+X4NXi;SrXF}?bd1U-M@Cxq#Z`|vSQ-z0rmt4kH#Mc2 zbh^ZJOC)r9fLTf>+-RwLL*M53fk~&x*(6of)tVaq7#MlEw5PYXzb!U3_0^Zd*BcsM zY={N3&KbO1OJ#E}O&lnHG9PcK8;iTKcIkt#$&*+OPF-xbBdNiaYBMO@kQ~vU)pF?!aV1JxO%qUuh7Z(>RyVTP^(e31?&l|qb)L*C(n%$@0 zD=zKH?ULWk{b)m4wcgV}-G$t{>8|=h@1fYpfzmU5|KuL*YO!}ToIiHquZ~;#Y)|b_ zCA2>2y|R8Ne*eHo!g^zouT|WkVcR|TGv*hU+HW5v2Q1`XS94kAlMi$@_Ksd7+kG69 z1Rp$Pd%)4(A!gvq?6Pp5GxLihvkb|;XW2Fzb6qO*KXgK?3i0zpb}M(p>J@?iAL%7J d{|QbPH}tq1ZmAv4!Tud^{@fr=#qPryzXFc0gK+== literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-hdpi/map_pedestrian_location_lost_night.png b/OsmAnd/res/drawable-hdpi/map_pedestrian_location_lost_night.png new file mode 100644 index 0000000000000000000000000000000000000000..5d3ec7b8c5f581676324993f10cd60132e7e88b7 GIT binary patch literal 2217 zcmbVOdsGuw8V~YDP+(OAp-uw`RYD%*!9)UL5*|W;MG%x-b(jn!NHQS_5TeT))V5M~ ztF?ewz-?_+pe)Es1%$&wRTL_qfEL6hJQgUA8j)7$1i{^N*6km?=gi#u-TD2#@4MgQ zo;e*9;B8`LWrV}wOniMf!PxAhc?|Thcj#25H#S+yx#9BtXp}q=k|H=yJ{pMtz9J|Z z2}U4(Qrvfl8xE(f5Qc=y!+HKp7!^4~8jQ0-B*EA?oSTP20>Q@+IS`3N3&kw_k2f0e zfRN9^htYT>o`j7Egg#0svR@ex0xOTfARq7H4!9|pm;w(2ogyYB85W05CmD0SPm%& zVwvrl1`Z;Fr9z2Zh>8J?Mko@Em$UGgr*DoRlJIzM6^mu7fx<#YR6r6U*_lKXi8SY0 zLCfU9$bZ~;Ct4PgBteM5hzyOF!dO0{Y}d$G?0(yj28emX43rA7q(HG86pj}mV!1De zg~z@)^M!mS%y6Y6G!laVM!}H;Dv1sfASwwVfK(7<&|F|XnGUV#c^99|q0vDqhfb$@ zdXdRo2F7D>84S9smzS#-+m*e>^%cwHkQheRYzr~lt6bV|a+z!?0?AQn2#Ut8RY8yd zm7_8NDgoGRP1YHJBM*XwV$J3Unnb-hHwTdl6A-?a6cqt0k!A|t;e`tV(;0LMLO?)1 zM4(1RQ3#+5Ig$_wArKtpLZKjZ27Z;#|Gg0;Vonh?(Uv$loRq-OcH88G2(J0W7M zhoo4u31ecI7opF8PC zeVTjbHrMoT+n=R;ZkgGqW7gK;pHRk8lA%499B=C<7&Porb?qxDg&U`NJ-nWg$Nmp} zq~(A5CcXK2U3|dthO+%N6V@ho|8dqQ$s1IrZN=P;$1pUTJ`xc@5Tm zjVuq3<+^aEr45H??oc~2PPi{`Q%_A!p2(mJ{NVJ9%N=9+Vu7XWSOu-91{>a5cfL5F z>sb)8^93uXxT5%_r&MI~o|aLrK4)NHz{AbmJz4PQKT3>qT0ucsszs`CO?ttWznk=1 zg%({Omn%yuDrUWt6$uGneRlr*=2(Yw-|<68TSF?s{jXP5ecjODzWIz-A^1s7&Us4Rr?d?h z52r={rJ=ey!ML$On^0@$ICMK=y;f)-kM}g%)xp6b27+#<{b9pN8&@?TfVaD|JtM5y z>g~M1z`@Imi1sO3Em&8a6cic}F%b64Q3PpKn`iG2*lOM%c_A`w;U`*aRjwLrcmddH zAU|6s?wx+F2(*U^Zrx&C-l(egPHj$p2?Q9kzwO+SjPot3JhyWxjh}(;HtE;@7ps_p ze2BW8dg@`|Nj*|Ow(RIR<#KjV%QDFQ=19PO5ve-Fyt-@t{rtO<-AjstA05oq`D)?3 zN)?rigju)KOG`@w2FJ(8v%|Po2U0IwIT0WKLN`&ZR`(AWTWtIxD1qe8-d5FmEnin! zWN|19U9>UXA$`@=)n(_jKuhR-^k~46a@-)jvu0bhF(+2YmG@sS^je9W?kK@O)+5R z1-;knsci1m@k6E0=Hm3VV{o_DFMbd*aT=?^$t!I(Bo(+)ZF>2;heqcC_lc&AvfT@m zbyHe47xMD*QZr|Z%(qtM6&AMI=6G5S?349$KFR*#LB_}5&jZYvX4Ip%yStkNg0DuJ znwl(T6~BDyV;31c&=;!~F$(?mi~6tBwU?>{CJz}8ib}e3 zI%W5BKH8L8sq@@ldp_rWnzOFJV=yMXzvNu+Ke>lHn{Dm&=T2PutNpfK>odEQ@h#7K zu5TQSJJ>%QztK?WZ4rB9$a>$y^tpw_w!6p4e)BmuRb0=~iAP$Sdq!@MZ9a}pgbyFF zK4kA}7v2A5*5y#Ib8`#BGfeS;7g<)DbDYX_KXgDV3h;A-HY<0;+7*HSAL%tZ_X$oL ZH~6#^Zmu56#{L~}zT5y#+1{h+zXIgsf`0%2 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-mdpi/map_bicycle_location_lost.png b/OsmAnd/res/drawable-mdpi/map_bicycle_location_lost.png new file mode 100644 index 0000000000000000000000000000000000000000..6cc51190e79e507b9ada9ad9ceae6362fc05cafe GIT binary patch literal 2682 zcmbVOdpJ~iA3x((&yLomDYs&bEu>>+Ff(Reqcj(}jF=Sbmbn}=E^}#Sm_Zw9Hkz$a z5~WBIu|=g4t#*q>EX!NemQbNK>7|J3d3w(jyYC>uy>J?H!`=ll77Ki}JV&fef4 z-z8sJe+2-*62FafHaz2W_hKXX8KyUv4Nq1IMz~_LBu=5^$RNOnFX2LHKM_X&u^|pW zb$dJH1pxZ0_|R}gI4h9ClZae7IvH1$ND89?z-ygK%HbtK3N#lI#EYqz*G(-LbUdGm z2_vv@EGZ2V#&1lML7UTpLV0P4JTf1%&KvEeqQDA7kb;9&iIT)}ii(Q)td|0>b;no? z`m=~4k&5|3Dx4LJrb%QFn&3(Vd3bkEG>PnrCy+heJl3M!aCjmXN5y1p zEO%JYK!@Z!S-eycFA<}48aZ4^vVw|%nSOCWBxSMwR4kUy2MP`uR>hHG@vb%amlufdDI4PVYx`dZ3g2W0x zIu!%IaplMJDLj%V5hCD7AUTf51wC*?GRX13K_J*mjx;6yZ&ZkCn9X$Sx?D)OWIgsOfY|Mp=(i7%@3`iqIPiOsh*-fg(M)z~L0KQCLI zMR;5mVEp}tkI18@5y!Z_rkZEYWgZFETw4dDZT^v=3FfTv&2;dzi+5Fc!1a6S&HUv4 zfqSp!Sfj{NoBf052E7eZhK9y>2)arJi`~actOz?>O0RdbIv&4Sjxe1c(yGd^Un+Wp z1=bE4Egi+;=UEA}wE>qH&oEOt^-3bcZ+YON9t6u5C2%XQef8>(>FjlezVcjg5}qF3lZz_6&FI*ETkrjr%E3JiUd%U^v#F>+n(Q1C&D8mF|v?j$=~c z?Y6dXrSjd&oU$;~QqRSgbGBXacCt$m9} zviIz{|MYflW9#8HSVU`yt)Lz8(Z7a z!rTJ~9*=PIe6tGteK+*crQ3@V95Rj(*6F1B!rVDU~BJg+p-tKD1s zo!On6W2Ngdx~f_N?5`TtMg|Ap=5QuB@C1;N2Ae%Cnb%akd*{EhNYyX9nCL^ zzH#xw1%9>q2|_RT=bU5b7W2!f^SQ`P=gbE8t7fRXOfb=`+cOG;JYueOP zN!4_4_;DCkZ-I^RGB8o$eSi8eyX1k83m!TObhfv*6BXKnAJ_XY$tGa2xsfMOmY(v_ z&hM;a=rQ^+KF_fysOdA_svAF$i#{;T4mu;s-efj(Cg_zp#CFmJB9W;7=kLuu>x2p* zQa$yC9zb`=D!g^Sd}vty3_#11lc%Rsjs+I`->hZ>Mi+v;C{8ANwBdT*ZPllqQ@+>V zj-7TwHe>AP7HR+avR`gi@OTU3QFH22uN^@{K^rdTB%H61Z2$pp&9L^sKJHsrKznW@ zTL@Q6vm!GPoQz^FY6RpXz=0KH%*YSb`o?A+0Etm*rf^y@b(Z}#V71&&<3GCT$dMz7 zGx;^Gr2k}E=zMW^aM-S>4WG=Y3 zzh8iu&l29T&N#o^>c{CteW4c%aGT59Pno_y^dKoH{ry{K8#}vmi_@|i?`BWcoi;m+$x1=Y zDGiqiO|;5So8Q+N#&rH1r8T{ihP|c~{`ZW%S_A<|#xjyVbWF~1}V?*T2)1CSbnO4D^5I9H{1t;?r5Wp141Q41l;YUM(5MPv% z&;hvufSyVm90G^__sGv!EEUPpSe6O7#yGrp5_D5yrzE?W$rR1|$&7N2?_9QYAy>hWTWdfvmM+A_o0Q z1&(vWe0D0tF96MwDIl~nfr=NB9qDKqNFY0dbc)jkG=)T_5=kJD?1U$g86=QFBBQ@N z7=%qBiedz^y}ocEJ2y-W49girVsdgaA=!~2Q$!QVAP5pk6e5L!M>O!t6e-MC;iXF3 zc?)bvDO8B%uvjKVYc28xvP9SogLwM+3KF@W-yeph$}fRJLPk{apiR{0d$S>hI0+JYDP$7#r${rzf8vEBB&5=)6bKK2 zB0kD zQly6zNVAMuPmchAVJVl*3|2jS75eDwW8P-Rn}%PXiPNvh@=$#6?EHCwzV54?(y+;ri?}`WBRMwJev?J+-b`Or ztDdkGRg@*jUPRFwK}}^{$a>6E8w`tQp ziAa>O&7De3D$HS8SqA#&$Kw{>9foCNQi+5dSn{I3pY(n34^>rFUz=4&skivTUEk^S zvU{5sy?8p&)YPS>xYwMO%Yfg1_6ciT~ z@$I5ljy=D=-;tr0H&J^{;81Q%<@_@8bE2VOTUeO;x8ueIa_ffi0N}F)*+#V|*d|Cc852@U{E-eNUDB0D9uZ&BEFXk3=^DE&K~~NqL!H-C?Gn)|l*H z174Y_uCAVYJD7=ExC3Kjz_u0=^-Yi4Cfl?h@-;nsnCS@3d9 z>kFQ!DL3=nQ{J{W_=v%_B`G>1ZMmx(jD2O5nAq6ZOIHW=N9{y8KVPsZSQe`@7PQDa zNn~~+S;sSplfTg=WxT%tMLFN9TyEK~+gYGThllbG5r1NtW8wj;@7+%f1>Rdv6%<>kowbch4(I-Ub(h1ZW{!67$KU;*Cd&9{|s+CkJ~pk-!y`u%8s zfBz_rM%#U2yi64tc}aJpweY>6)tJCvz6!%}40~x>bvnv{{}cP5x6RwNbq|i+>FK$K z#bTe}>?4_Wr|awM-Cm%KBYe?MMtQ#V;WeQ*z;Eh*lNt>V1jZR@{?U#pXldy)TE1<^ z%@;NLnSJ;6Te%6+)6-|eJ;?wIp;{4c#8t>IGp|~loGq_^UwJ|A{!6#*u{-*{Z`*Rp!C=?()2nyeQoXb#-#m+l)}s9<(Qg1JJyz>!xvsctzhDc z$XK40lC+Y7UP$3iZm+V*FFC_Ml&!vS_wi#_Int?ylplyRTH*4QE0w$h*75c{U(^QE zRe1(QdAZJq_WtVgx|M$ZG~4=#CZ#JPG<3?jA#=gX6&cs$gm<`s0RKzlaDnFUbJOpr zf;sPQzYpn}?&t4DNC(bqG_%1%;q$HQY}`%WRi)`?t-+&hQ5PRc%(^_VIj4f^_pJo4a9t>y8-$wb>VGD@?8O^x?<>q`A?BPilZ{>8+LM_! z#g6I8&M|rdE;A^lCmf};KXJdv;pX}#2H`YV!fV1CH&n-S=}8xqX0_o{UF;iPYH@G- z74=)j$Wl+&b1tmb+OAk2Pw!5)PsK7jBQ?Ig<@hzzMV@axoVEa;$ISVU2IjzNzh=&2 SA~`|(SIFh~vuid+ru_$4!fD(9 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-mdpi/map_car_location_lost.png b/OsmAnd/res/drawable-mdpi/map_car_location_lost.png new file mode 100644 index 0000000000000000000000000000000000000000..683b71d211a792f02351102e44691b06d7730b95 GIT binary patch literal 2287 zcmbVOYg7~079OA!E(LjoV4*+=q6WzO9f*nvFCjn!@`f5R6Nr!uCW9niKonZ#0)mRV zlxN`zim1ziRYWRyD@CE=6RMTRRiJ{fK&%BS=$)u|?+;gh+&OFJoU_mV_TFcId#^S5 zp}~G;CUzzO0GI{%3&rS6(Y?l>qTfjUg+1u>IpPzAguyZ-L!yEJZxBv|Z~+QQ5+sHs zpmy7J$O`}rH1hB$BuW&-lfnv;M5ja2DAG_g0C=s}q)DVH5Q0mDlH^K0e!BGv9w!I+ z_(-ORB1#iL$#VZ4DkyA6aJY0wij)iD*RR8QX?Ums1%ya&8bzv7&C~GlZ|(BXwN6aN zXpNt@BJTf^WBZHJdC&8*DGL_5ak|{JYjYdQ@h-$48k!XlY zwac;vA*7b7GCOVbsQ5(yCU z@#qN&l!H7eo5O;b6gH77lO_@w6c(2#VNf6gWl5Ipd<;(&GPwe-fX!lf z`%BT>*HDT~dbK}3iP zN{9@Zj7H?rsfoly2_%uq=rkI{V&mWA!T&ddWHczUu3Y}7e3nIMP3o2(ngQK>XeUUC z_K*r~7GwZB0|16*0YdL^&BMv)fWTBg%$ZYs?)g8|m6jcPPwoyTZ+GKBHu}+dIiJ~* ze>h~Xy)Z-a{cnfq+4mAe%7ZFzo@p%lr`n`74PUmq>Z*OH~#fwAf-`;&bu6Q-L z%KXxB+Oxqkyx%hGZ*tQcVrCaIClyM|Ng^x(mWMO5;(+&oRfbXv{(f&S$Y8)iyZ6y! zZEfDs8WA?vv1ZSV_k;O)P4~#i$R1BmPlL$F$o1N`!Q8Skd$w^_X6?`q?JEmyfa4|U zpIL4IgM;@$+qRwi*Qjb~EbJEwR!y<>+Ng&kMAv!7?Tu}_a%Je@y?YD`8=IFHCx;bA zF78dIPZPIiXWuLjUgMNXJGwHuV*gbSclQDa1ZSrE`}+$70zp-Cb92w%`ezNFZ7kNy zv2|&=`ijY9W?5QVhWs%%_h50+D>gnJ;#KUs&0gnMxhA&YQT~3pz2Gsb`t6cVyCJU)KOHLL&Z*|Sag`T4&VR)>{ZbBvoGK8%S74F!Do zbUMAa3+JMrmk4y!-R|n>=*T$L(C}yV;+;EI_V)Hqu#pXyO)=_Jmc4=b48F1|cP@)+ zIbq`O>gtMZ9e5p&AjtTQ8zvVn-%d7N{qt)Ve?oP1e7u7@i6kpMnSG|Qu`wngVO`5o z^nlGRGjsC`8?^IY3q<-#)8dE(mZ>JkR@3?8kCz3sO80@P-TD@`wn?kqcX4B*qJ~L; zNejjzb8KvE-t&6$E|2qi!oq#~`VO{^;5J{)+WlPXNQV}>M<{)<$!4pct}up3<$z(dGNHnqT*}J#W};@ z$HxiN2OGcW3b)RwJj_|)P-+yTR}yIM9C&thj{lA86Ddn$OWxv3-x3UmYp339B=t03 zG&KmB!5;7Q*&?xZ1I#xc*;y@Rl`#!UN=n*=8~KE{1Gy>;NH@T}}2+f(;%9EmfFJg_jF zll$rC|6H^L8(Q@5C>DEXHu&ydaBYys_;`DJyLnq%8#zD^mdgpXO&)Xq z-l8AtXx^P`q}jDbBlt!s>xkpCG%tOHZCW z`Dm8U=MN|piXmLCl|whs%()j>(<557305l4Je`=>vA?{$eD2nH6V`@F=hyviMn*jE>qwc^t;HB{+3Ivnc*;c4P$HsaC(RE&Ewkzqu(4cru*5 zI&REsCfL9G@6J0dPOPlm24XQTEAYO0x8A61O)d$)X~AEz`28PGU&crKr2soyWf+o$ zYh`CncWl+#n{hS5i`bCftnt|)eT$2D-t$6JU?!$yPK50@ZGY49^_xT!17mc|!@qu| aZwhqZI6_EFw!-RuK>~b&g=aQy+5I1M0E+(r literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-mdpi/map_car_location_lost_night.png b/OsmAnd/res/drawable-mdpi/map_car_location_lost_night.png new file mode 100644 index 0000000000000000000000000000000000000000..4bcae2b8369e076edd750bdabd79b24d4039a426 GIT binary patch literal 2299 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 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-mdpi/map_pedestrian_location_lost.png b/OsmAnd/res/drawable-mdpi/map_pedestrian_location_lost.png new file mode 100644 index 0000000000000000000000000000000000000000..508891f25a3cc059133c2e5c1cd5396ea7cf8fd9 GIT binary patch literal 1699 zcmbVNdrT8|950W7LnQ>=BIxj_C^~KLTG}gjJOujy)OJ|0c3}$F>#wwy_UiSZ1v{CD z!M7-p%}tEVxJ`UjbRueaM$w6&GJ}s9rv^8sfRo`QV%QbIxy1O#F1h>u9^cRR`}w|d z8&XwC;{!qiI2_LSlw_Hjm5ApZ?yy~)U3-pUE;Ovd znB%ywNNJU+kd&eUB<7<$QVd*-P>e^25WvGk7$y-%k$M42jM{k{UMNnKqlpqZDoRuc1ab+BlgK3!G+LpE zR!F0zqu3Oyogu6w81-#peUD&e@5JI#8W0Rcr%_b)Xcwd!DTcBeDH|k}da5pgW-1BN zWc3`*@)YV-+%iC$a)Dk!Qx<4A)41s^ETRC3N>Cx-0ZdQuL}i)b+Gq5L?Mct_^)RrT*W(1N>5?K6oAo{$%T01A+eSg3pNeI|| zQU7!ncrYn4ga4)YO4VSNxus(5;p;2H?adox_d|38VJCx6b_u2kDaWWw{^g^ zy23Ge#XkRXqR$z7%T@E)>dx+;HQu2|tkvn~Bc=o%@6Z1nq!$IAG>R$@$CRszHkDJh=xzt&Zt$<2*taf2-0~7LKm9noPvhJcvFB1}YnOP}N2inO%Pt$*?p-2- zW`EO|xq}ms8jgi0rn@F>I=3h7;B`lP*NFv3x6a>Npqf$IwsU?bFZ;>8+Q?W<)eC-v z9jZ?5DcO7Z)Sv0Vc+A;RP_j9>cDpNbSLvZeTmv#w!-NOwThIJd=yUe+(E!}*M%L~N zYJck4JWx?|eQn=8kyr*!{q epjFMVmmjD87CE~cp8mk|+eneCWJl&@7XAY$4ud`b literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-mdpi/map_pedestrian_location_lost_night.png b/OsmAnd/res/drawable-mdpi/map_pedestrian_location_lost_night.png new file mode 100644 index 0000000000000000000000000000000000000000..d49881be8ae6c07fa75314180c4d9984a2f24a36 GIT binary patch literal 1699 zcmbVNdrT8|950W7LnQ>=BIxj_C_25~U1_gec?h;tP}^a}+Jz}xufNh-+N;-t7VKmq z2H&DYHa9Uc<2Lby=tR`;jG_}kWd}>PNMF2j1Tu+<~dNvi6AyX%Pye}tb=3#FJ4dU0F-1QGk_Y9 z`kYmlKs1l%!Bl%g#H(yb$KT5KGe$BUlpw2_nzZEXh@+P`PG`(DUcULeWksXTSnj5^`EHt#+w1hCggq%B|hU2p<|& zVa+l8SERJcWJpFc01^vun8G3=AqgSC#6+Y}GzSu*7>=L>f{9=hlcIza#h{Ug&v|3? z2B})E81cpJV)#auwMh}g;cy5X5dxaYKrn(J5LAc=g)pZ9+jFce>4dHJX`>e8z)mqH z8*8GiklP}uqqEo;KF9P`2o{@C`P#76K9VRdWr&lsA(#L~EEacM!`gOM4gRI^R&9Gq zjtwAcV5hSfimQiV+9;UI-MbyR6*)H2PZ$$d6f#pzQ&|>ZWs~GFeC|e|H|eF6BoYT= zR00zQN(YNjoPbFY3SdG+5E5|&rN?k`)Xv-RLh(FItiUl`6tBRr1POf6Nm9>JpT#7bohAX%D8q3O)gE=V@gENwT^Hb^FOS6u?lRFag* z>OP$1F4U{I<$y6|1HFQwEzoeLrKY#AhyWBW!G!<@gr0;&27?eLA}}4SBLPVnB7{PK zOZX#r{r}A%!jVGU?ea$Zj2>}4>0Z7b25$3uoPd>^A%+{4j$Lu_j`iVQKb+#x}WSpRb=ZaBLtxxbDY_3d!;Oy!1*<30`o)dm{Y!xmUr}Cuqr2 z?S!!*`9)(q8yow!I__5p*0+QeD|?hGrZ?x8ftuA1r}RMG*-_c0h0R9?0=&IF;^P9| z6m=n0W{sk+nE z^W>`r-x>{B)a+6Rt6H!1{@v<|y=VU6PB(t2{ZS@5$#@|Ss^jk%GuCHa@QUkmpS^fV z8*8q;fAdo>rY!k%Z+~u@hwH>G{Q>pHt%_+6S*bY4zwm2+{CQoKc1~=?{Q-j{&Tr2p z{nJ_C!KCms!I$Ezm4g}P=CXB1ZmbNoH*J*P57G^UoC-YM#Z;@czZQIuP+f^~x7UnD z^ClwU@LlhKJo)#N8@_FS)LlB5)}n8Fl&?z;m~X(eJJwDf`YTRVFoYl;~9L^T9tYsY>NMh{@l+&YJvYLqp18yRHLq8deXsxdW>@S`pm{L;fO^)$ z?6X13r}9b`-)m

V0b__N`A7H@_szPd^Ur(>S+>?Y-RD(k0&g(V6*mC07is9ha$q z+21sz@8tOisb#mdcZ4370sb&>{#^ofynu7$PzTW#4zk82dhBH+I=6l!S;%M3%}@w#JsNlu*dN zFJ-u8OWtumchCF&@x1RJ@A-VrIoEZa-@aU*?{!j)473^Ox#HuGaBhoAAb@z09?5m>W@NuVQ?U4jGKqAs^E_|?Sdc=7ga$^1$|k4e@%?Lhfa7P z#x&f(3?1%;hPwz}RRdiKRVE4W!QfD!P#GvY%gBU;gh+?TN&5x5$w1(6xQr}R1_}j}D8Se-UmPkF?28rp zBLRWIq60nraUOoYpfiamXTKnvsvybIf4Sh}udn}a!M@mk0!0d$Oeo4<1|lshlYM=CgsCb=npd~cK^4cGeVLz%7%d+q@Z{^<4~>Hdco@_+Iw zYX)LaIKMzMKR@q3Rbb@qhx5a_`}u=3HP5oH2ol#vp*?)h7A4LS^)J5>m_UzUj0-Z* z&j<8(q?JAXgB5ZZG)xf&#egwz7Zh0D)fEbc%R!vM&L|8D?J5U_Vql7b|M0u~eeM-{8=K^K$O;E4=K1}$#Nhu6hiCF*<516nsT(rCpw6(CJ>=E z`L@0__akbabZ;=mBi5wkF)q3Y`(VE%4UsfmayEbskjn?|0r&bSJ19H!L;+F26-p*cCYwVSLl={;2Sl++yp*^@s)_p% zkpjxaCqXvlS4KZ*80tgTlDNG!o>H!SC8%wXy`{_g+NU=DN*L6R1g^1{+T!ZX$uyV% zgI_j>W-lJbxCaA~J|CEwm|n;d*dA(HH`I&C4CI&!L@`8|EO!`L^Pug$>b_chB}?BH z=%;V&gUre49ZvSB&r0cvOC=>cfaUPdO@2SWvsWZv_}ZeWm_dPguG57v?*nb*#MaN` z#_8~9<4pkzCd#LQmjme zE@Y%_ha?KCsY))rNF|%|27|8M|6~c8%$czKl5zdOU)O)|wyv)3&#J1bxz3vmH?T@P zLM4@Dw>N7jKM^-KH{-duxWsDg-&oK)=G~CJeDUIFfBqcxLjkO}e3q}b@2tQLgm#>^ zMrPs^Ss-*V>Q>UD$B*@!{O1TNuU@_C4$?6ABHECFcXF)%-~zvC1%D#DROk`K-2ear zn?~Jt_$c6ffvk&aw@i=!TH76bd?OD=eksgoe30(Aqpj9((>7B;H&X(c33(|1l25!j zG!%D@9k{iG=ugkdIQ+Hyq4=Iszl{@24@uUve2Unbcy&q{7i=ua zcQwkcP&ueyRX~`Bl@E(%jf=^T=^`?6K@sT}A=hd)M=c%kL2IvrHl#a>_qlEeO7yMi zN5BMuaLM+eQmwRbH&@r^Gz8IYdMYZa`PGkQE6cpMyyd8x?h$D=nB{A$;$4^DpJFT?^oM4x>hEElW#izm~Q=kf$6%% zFl`MDrMTC3Ug8w?L&|h(#JEbK+lL3Op~pYBnzvU}=?I!nBtN6IkQ5#LkBZ!dqgLJ* zvCYX2nT4tC9Qm~!_O!11z--gpi$_OCzkl2QYsB!)d+I&Cn9hhkk`;b8nEUVH%r5Bx zam}AUkMc{C)fQg~3v4q^&Z0Xm#ZvXgpy%j%Q_($j1Mq|axOJ6h+%*LO>B2G+6yv1l_Y&_S0z}3F6DZ)!?%KXv4>YBoKUDdl*y54?% zZm+@_E8FNdRnY+4IWc#*ycR zA1b9qo=i1keb?wUwqISkm57Qabrwen*KS>I2A7=c@@*mQ9V0`RHzoIl1%-GB0)u1m zqDxOhX7KxA29clr+fRQVJ4y>&)5NnDC$n&INqia^>HboOrVv%@JG7$NKx%0hIgeX={1u_nNFOV8t~+Js+c?Z_l082zr^n889(L|j*+2COU^QUIWt%Y zAHfWGcoSZe+Q9!+_vDyJ!spk-5cA7%N2UP=INh#gFIr&Tqpf6%@g`k&KqvP^@UQA9 z7Zt=Ww_^O*&_X`D8J0NTt!dlfZA~#dNcKRLPcEwG$F`zW=Z4dzFC4Kk_=8C*B?}%o z3NgkNVQX(I&7skuFluI^kj_G4p_Q50%gbtNQ9O4B-oNJ%Gbr2+1AWp+rlhED<|FRz z>}1wBw1%TCEXFWP)HiAe_-v6#WY)N2^hs7S-e5i(W`1#fa#eoM{`BdSd{?gu zyV9Uy(2r?6ocXk{uw^_QQ?ltr3ag1qsAY^#&h7V{lJn>%30OiiT{SkQTU;s`pgnU~ zChDLR%&&!DrQ2ieKfFhM{vs&+uhoZ#TibJ;*6K||CX_8QL*0)Z0_pB_DubF`hz+$q zoALV<)(vBx_zWeZDUpLa`wy^JIl@(jv z$oh{ts7--4N)ncBWq~3fHQydsXu;*#X%z{PiMgatt~12yg2DKd+`IQcOH z<-wM|S>X*aQPJ1z0zdJ4J4*xOkkT9ty**b@aq;y-+h(Z^ate#B_FAwf=dpTX=Khxc z+eI3PC|t3?y{j9KB`bN&XoE(h-w?_7zkl29J58aTq69I06Dp3}>ATR-FUeKs)#5__ zIC~xc^Q+ro?YYdIh6))!VA#rIGk0;SO3L>B^-iZPpm9 zv_|Ydz&vZU`5f}VM70>sJO!@voN2>z52YUMh|+x|Y4vt{2@wQ%D0y7cJ<&wBE#btJ za@B~R?DW++)ej27T9>VY$4}Ou)%aHSTZ54DL7TFT?m=zHuVfm$xps-a?FR6%B^6?m zo=teI+fzWT=bQ@ip?QdU(c&}AFB(S+!?th6noAz@T`5~Qbq+G}k_tH#ApzkKbF|aT zFmXFdlb-h?su&AZfrnFGvnj7U-n~9 zm+6Oj`*H92H8+9%lFOGb(;qM~CUuGd!aMfuQTDrdPtSGtxvS!xlZ8!k{;MS#@jct* zp&kn#jko=e(xJ}rMJp3x5_S0Ha@ zw&bNCK%vmr&bFjI`K(@qS9-c|T zVkP9rjz`oFD?=g{t4Te`)zJNw$=>>ClC1J-Md77(reJOiP18a>Bd;U;jj5JHjyiq@$A-}n)g>j zB7%c|Ua189jOnO!RO1O8GV$Q3Y|i!R);Er$#TJWi z<7pHGC4RYbsYM<*(w{r0NPdGmdFAyjhq0Z$t17kUbHB-ww(;>=X-?HTADffkdP4H9 z*OkNy3oF635Wb!L`nk6;PM5*j;)U-dKPTEkhqVCT$-9Q(7fraUWE}SSKrOJ-d`{5OD z@%pYBZ~br7>A+%a`F%v_NPw!y>6Q1*JIfqGG4At8{88IsyiXna7Z^C!STgii;WRCi z7dB%Tw3hlO*ULBF_3}mN0kwtTZ&XHdB>WaX&o=#ODsS0Wo&%mSd-qytz9bJjwN3c) zV7`3|aI`nu)!g33SAqZue`)ZUTrZ+y(6!>6q)j+jBxJ7L)_xfvB%Ak5No~JY>pV)a($W&b*5dSln_nn41%*e*(a`2C7a7=3xnuc80ietmcz9n5u zTh{TuOa>kAi%@T__oz8S;&I{%G?~U*-kRmyU9VED&^XApIwCI@!Aud&G-=I7F~&ZQ z5I#S#L;McJOAc42NOGp6$3{NYru{ed@deV^W*dj2DeufB*gB8YFncLC>JLdws zDM76!CMMZ2KTa>v&cbfmw}zW7J9Qn2Bv<~rcokp2?`3@c_#?EE1@JpnW8(P zR%697PbaQsrm*pkkh0OlvI1JyHlWs`p zjiF&-VG-(_q1x9~yHgj-$U4MXpuQ2e>?D+|@@n3b@ZSuL8s6bfs{i~;R($jM26-Z? ziqn6Pun_;35lZE~Q-;VF7O0)XGhybP-QBb&`UO9;`uqC}F4JBV*9P6P#9>8tvPI|7 zGs;9%qf=FMFGOzMl3s?0LON@F-!*jCG~4RRd}3HUy%Eo(W<}AWY)}V7W62w4dW=W?THijfvlbD9G z`}Go-Wo;yt=YkgNs1~{8_9`N@ z{?H7X6L0t;-k5BdB39a<6oZuAB%R{|93zR{yA>4`IWZ;1LlSYNK4M~GZY#MGroj|X zy9o;u4x%qSe-OQPAyD8ltuSw*9LRYU?mk?C_`8j1+K^g8ba`zsR`M2I3VC(NHlkiX+zELQyP2L_%3b$*=Ihht&Rz$akKcKB> zLVuZpW&f||_HWwkn**1ul`M5CjnU^1Dr*EhXf(6#A3w%}PsR{;M2L-|$a=l#ByAEj zl5%Ki+BhIC9CyS{fMKu(Q!_KOxFJ_8@Fq3kr&rAIQWIfdVBm+w>)UyGdF|1szjyQV z^DSppY`!jS_SsK|6~;!4Hh#8cvpo-3Xye_)XINfJ9$-{33b29sZjjD0^Ztd3ZAyQ$ z`qB56Et4BI3{A(Q6tfF{d7ZHz>ye+MKZcaaZ}mJG3lCG= zuNE#gK4Wx8OC z(a#w#^ypunyT)xjGc3{dD{r~FVDPlmh1`kUN%VjDi*c~^==7W{z+^6^Qkwf$`PrXM NT`dE|^J`9V{{?HLvJLyqP{)xlD8`{5aovjbTHm7SdcLu<%YG!qA)joJFw~iKt;mY*c0u| z%@AmByd3H`jT{N@Lq-FDx)#X?h4#P_K`vM~oRs&3*K+?l_|$ zKkTI-3mbHh2O5q6YiWYiNeD6nJeG(8k?@{g1O!O~{5M|&x&6Bv0tWp}LiEr8|4S)* zb1RUZw;vXyET#!l$SXh;6lBR1vV@ynL=;KZiy-=k z0}@L>`{8_uIBze|Z;mJzZ-1f&n5^l)Ou+k?oBx}!7vUdAkzEEMp?n}vIe7>k|J$y= zsR=}D?Ek9qU#ST;H+`@WYb?Rr-w#cWhpXrxFxhwix1isIWNi?ZemHVaP@YI{v_Br} zMKnfgfXQFvFgOeX4O3OYD$B!U;jU;GStWTDxGYLZ9xDr1g2Q3Tif9Z}1@(u|f5StS zlvVU}byZZ9bPS+SeHa-B(}%%SR1FMN4fIs?{$P#02tFNEBIt(OfjzZ(Ses@a!4%ENwMq>SN0a%QIpEn-# zx2F-f|DuH=7OetPQNYS#;TV*xlB=tNEL;)lBI|;}qR_623JO>i82BGN=Kt$K2w5q} z@8R+v!{<*Ic})Ip{(CZzU;aIvuwLXjZoP7bJCjJ%8s z=29B%a|$|92h%H8^SIrmzB(;uEo*FMpYGi@ofv7%J(yltx*fV%zTB`sN$AyBt|)A5 zbj*+h#x7x9N}{ zJxp7Hg<_f-r3cQJ{A6S|UzKy)`Y0<2NtaBZwp^ehe_Y%>}7j@jFfUB7_ zSGa+Pi^$ISJjp>qL9A)g+v&5e(BQQQAA} zW0#t4oWW1j49gOJ9_^M{Y91~eA08eC&h%M-ViThuK1=P5h~%KyLWW%1tx6U*Up?Ax z7pb_LdK`1L>giMD$)?+Dl043}-~#0-r;E$dmy zqy0_D-2A*CGjG7)X^~}aqs#H$1`TJ_@%qC(hKK=RX3(No_e7@krD|A0tw?xiLMZDPjGRphIc=%ZW!Q_A^i3izg zfff<1N~Vj4pVr?0+;bQyVPj#z^K85-D*9M0m~(T9e|an~hrx#gX$;sHmu1j}Cnu~@ zGH8R+GwY99&jWj05*FQxjN4F@6R~`T&qqdm*50>UH2@y%1DAMAXZqqCz<#e~agsuE zxs^5JBh%0CT@blBQRvBe%_{amiVM=x+5B4bfm!bks3>>i(9O{8DD=lFQvl3E)8kVE zy0tZ!Kf#N9-}}rW`v|ag2o?{F>(e~$-b{Tkuh-&NHJBTPpT9Y0dSzkVy)#9Ma)%_^*3%hQRxbXZ{c0I?X7;@3}{!4HdGjLCjlRD@tN;THL6 zEZGZo(hA;tVOp=t{&s^FgBqQlX^y0E{}>{(NQUM39&F8q3~`Og6`za!L?2ywXDq1y z>Dk?>;LUeUu@3~kv1y%bt(`|2#n{bpLBXP;`UVDf`4nB_r`sgpB5TfHi;E@Q97c;^ zx&s+uSVVg#?-ix)^LqD&IM!VxL3F-(Kqd4Nfx41Wtum*hWGIq)tH_ySdpmaTF~6d# zDjsfbZXbBG^H*;TX`(*r;Z@kLaua>4+l;-jaM5nj8f$vhj{4YlAoS}lmL%j!H34R?WOHf&+V7!V zXWHho#Nt@ymsXukb&x0YgQRm3JZH{Sm>C)InJ)VI`L%7&x4#pPA+m#;wLQGFPsjyb zYFjq`FgrWcxUQLV{iTGGqT;J|LGQQQ?I|fK5~NTiQ~?l1SEDsgI@xajP>E`-H4eG$ z;xacqGcQ|ouAsShAWN@FAn!WTktttDEg(MO!GjSqO$el~x<{i*I4NN8^JnF@b~SF* zZdkzPR470D>5Htl?eW;W^)-9CHET7JT^K$&u~$%f4qX&QXsKf;BZLi0%ESQl4)sJF zvPh1(;x+23==ieOWK$N%q@Bvj&e4Lm6g>@>cMNU@uW>aZ(z~^ zra+=~lq$g2IzPm4(L^U?G77(?@|?~4p3wc&j~2LvPl=&-CiFk@(z8?6QF$iO;9g`C zGj1j|8-KAhG4Z>gyMCOB?Mf@dA|)a-R(rHHwJv{u!+7Nj1MQ3P+bD-2xxH{kq0Ncp zhz>RvGe56<-8B&JkWgMd>-gNUm>;O5kB=V>hcBsGZbYisVUqrb2zV_V=sHIIZ}XdQLjYI zg7?p+?bKe zvLSF&j`OO7g9hveZBNyD$?@)p)3jBp;_Z0%)lrn!z-q|-msFGp$vVc+y0l;_olBNA z!=&ST;5rIt<(A-hU8_LtcMGM9Cv@JnmW^L8>Mi10q8K)a+Pt?Y^PVf-Iyn$?3_JS% zfp@s7byB!ellc{uQV1XS*`AI&jvl|Z9IU@cVlkMVGb~gJtAZVz*=}4wUL9*;W61R{ z#Y>F+LY@A-B6{ndIDB`YgS(|hWzSBp^bY~P*Q zRX+B#M~}vMCT=hTO11)O=ix9pT3GNI>U%T;;dT!8_N3HPBh5#R0ZnBNZn*-6i&DJq-Wyu;iByDx}9l(ONZ9WDPPVXvBF1UFo*+ zYBQ@nMjSDN5uf!Qaf?`j`t?6OQgmx8G!-~$D|nz;e{irpPxw%wiMZGjs%(^~to}6i z)|=&ph3*gaZ)H6Nk7q)Iz?upC?Y-wg84kjiwpQa`Q(YUE@Z9zros%HtfBV{SZ1WSR zFRbdLEt=Hg{bjZ_`n0gP*qy5KX*j8z=`XBo?g>FAE&SzLG^@}N;>+R_i5m0L>2zGw zM>B@yD8lD~&b3GuZ4Iitt0lh#CYX+#!0&ehI3mCzX*#<31?8E}`UzL+{1)Xv-;Sf% zL~^P_4!;kPb5qpC0t0{2a(3Wglus<)(kbU5cTq-5sz^%6Ry&pTV|E+#V+frHm23b+T<(F%rI7s6OSKC_FF}l|yK1 z$Zi%^b+jp0FS}Kr5VBs?P7QR84GICuKgjRhrs#G$}Y14 zrG%nG>-3r?+Bx3DLbT$c3N+l{WjD)_@UzqyDl8W3GE#n>ax_jlpeZ*BTgCe2Ll?=9 z`bW{>U`9VQu03t`EU%1xrDZK7lGJ4Iil<7uPW<4%PiIcbybt}X`vJWp~|&7cri?Hq|q z>gem6W~py#uwIqAC?>)J7{osG9gAErX>LY@`sa|dC|j6i?xjL-mTDQ&TQ0K9JcMuU z=Gj+1#~=->(F9Q|Gy^e;*{-vMJ}M$2Vvf9G{#8&?vU-=1lD3nBeu3w!b?n=xu?M4X zEJ8-j`PQa=yW#Bl_A;)(!5Xfbu!buC$n+4}HT!+#cZ~7~9XPUUub{F#>AJ+>MJG~}5WPiCY_qH`> zHoc`v?gdxBts4RI7l0s8{|DpO-Sl@g$R|O+$jiQvbF#8{FuPL8d3~$b8w*QI-!jy1 zewPEPk+s(+y0Eqz8VS+6p*lgJheYn)u$cViJe|lSXT$hAZnQ=wRpDal^<7yA|JC=E zbNj77(ynbRu6MjE_keGQ_6)B8KI|l=^Bc55v0RHrGb2@{b``=~qR^|qsN3E=gG-HiTaHjg*jAV;g*<}o-}_9Z zE#FcCSzB^s){%I75$LCiu(!$X4>DYXuY6ArEZtCj%RYH>O5qsB?rEqRwG6OZo;K-_ zKsD!13H~wiUe*k5IG0d8iMT^ZPvqn7(9KvKwF}k V%w(Q0)$fx{V|@!`xvq1>{{Vju(pmrj literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xhdpi/map_car_location_lost.png b/OsmAnd/res/drawable-xhdpi/map_car_location_lost.png new file mode 100644 index 0000000000000000000000000000000000000000..3d8b63d14858274cf9f887ea951846b617ac0d54 GIT binary patch literal 4324 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 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xxhdpi/map_bicycle_location_lost.png b/OsmAnd/res/drawable-xxhdpi/map_bicycle_location_lost.png new file mode 100644 index 0000000000000000000000000000000000000000..35f3ecb1a46f0de2c21aff02739e8d3827f45d84 GIT binary patch literal 8276 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 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xxhdpi/map_bicycle_location_lost_night.png b/OsmAnd/res/drawable-xxhdpi/map_bicycle_location_lost_night.png new file mode 100644 index 0000000000000000000000000000000000000000..79b685dcc76e51d92d04c9fb9829fa83ff087e26 GIT binary patch literal 8201 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 G_WuE58`v-a literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xxhdpi/map_car_location_lost.png b/OsmAnd/res/drawable-xxhdpi/map_car_location_lost.png new file mode 100644 index 0000000000000000000000000000000000000000..bfd71b27a2f882861dad4485d85d908894d26461 GIT binary patch literal 6286 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 SyY>4Y0zEBbROMxt=zjq(c@YEv literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xxhdpi/map_car_location_lost_night.png b/OsmAnd/res/drawable-xxhdpi/map_car_location_lost_night.png new file mode 100644 index 0000000000000000000000000000000000000000..46a316ec887c3d44cc59b9048478e62f9a21572c GIT binary patch literal 6258 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 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xxhdpi/map_default_location_lost_night.png b/OsmAnd/res/drawable-xxhdpi/map_default_location_lost_night.png new file mode 100644 index 0000000000000000000000000000000000000000..e396e0e66c86cd4df344961d58d9bfe748fdfcd9 GIT binary patch literal 3987 zcmbVPcT`i`(mxaxK|n#IC>Vo^lu%Phq=f_oA#@Z4xi=&S2#^FqA^|T&?5KcrMd1oa z??^RN3sNjdQL2In%B3S0DbW{H?)%oaeD9BU);eYO{{3cV@0r<|T(Pk_A}TB=3;=+r zxf$M$_l{n_g*Nk^dRvTfSw`Smq_vknGiS7gF@4X&OE4xLMUW?=y3!=li-U3 zJt<~E4A4Hv%7GN*O+u5Qh6WHlHioBw3NnchHr0pbk74UWzw5>DzSoB}ppfqnrnf%y zhf_`j8wifh03irwJ@4!jHVXk=LO|i zW02i3c6igDws?|0)RW2d#b{^*1O%uD=%~{f9vWI`G+IMbTSHqL#zVmT18Gbm8%Fb2 z+|Ymr{YeapFOx#2LDn@A-RLZ)K9uL_k0nrj350(X)BJyK6mQEk*hF6qEp<%|Ds_Eb z-_ia|JMiCb{1WZ&5aH}=^{adCJKgjC%M7knn*N^2-gH*XgC^;LgYAGBn&NbE8(edmKa)r!fg83dJlj9Hxc|z<;20p0NoP3F z={_4-VB<+=()~T@z7QO4J?bdPAp(&^p{)-puLtVKy73@`avCI?GU!yu_npR2e&K}< zNJ65J+8_)>lZi06ySp|Ft)t}zb0dO8lDm$!Hi$$)fAY!y>kex0oYGiNm;aMK8$-OD zT>t#17w^BB&Smhd;AfxL9*A`2UpMd`!6J}eYqIAN2>VCCQB8wt%HWpXyL8U=7jnKBC+)FBPV0R_^oXe zUZfh+%fZ|_|k~3eBw0~ zFI+3Xf|Oi6a4#v#E=7fX>zO^m8sYIGg$vmu7TUN#sG2E!^z!9P={Thiu+}74tC|!` zNM$hn{V=JwSA7#;bC8`a0&SZYO{wdB^QJ1lsA%T3UVZlA<%oGsC=Rqak=B0H_L3h? zFl=5tTFkoIv!PlKrpFjHv)?bVoRv(nm37z^uiRR=lQkDE1Q7NakxnRhHONi>yNS?0c$zF!%gD&L?lYYf($c49`4BG!`6=+lAd#D+CBfkxst}My_U^+q^Q<2IQT3m zD99-^)bM=>VP0P%s?~`?QBFp9@5;-`AucX1wk$oFC2rPm<$UR=p!R=lw7!%h^tdt7 zTOgWZRgRdlg8<9-52@lm%?>|Ygu!5;qdR&gE#D2)u&&NU->wbeV)AO*leEswMW+_H z)?yUR^z6=b3=Mrv=dLaVEOcHr^NLFVjO+!XX~Am|i~HCSyXE9m=mS-Avh;USu7N|G zz}UgM;N&^qKa5!;!-me~UQ*6w?u3JFr|DCD<^3}Q)e8}+bvw2{j>DRzOYs{m^F7UC zoifp8hW=AZpjyZF<>mt;+eJ2(+? zsllrm^OJk0+tzY99FFqtHry^HnQd0tRvn&j%8d+mWebuv;K@Pm5es0vr6jst$S@?| zH!e0>E;BYjtc>)G_wPx$?rIPvEPf*HN)s+^#!kU54uu{)xZ|Y*>M?)LT~2&YvwIkm zO%|s0mVys*v<~$_FP$jY^LlUX5Vz&S0TZBQ_P3&97g0w~yzO)NV|=-DSO7UX8B^%I)4=?@{yRD|eN?Wh;nBd@{_CsJ1=f zkZGP4$tS9Csd3A#n3^n0iT9@-X?I>=o-tkwW*k7!%Pk9bJ3p~gy1(p0+miaYN2y@9 zs=B(X&kFxwza7lvd5Gl!9>y^((sfX}rZ{KvN!4CA&NxC(&qvO>^@Ee+(VMr5;16tS zH2V2oVdv*ItD#Q)iMhYb|5P!~BQ4UPzp-QoLNCQ%=I7B~FvopVDGtVmJaB320OK0@soEWwJ6;!2!O$vu`uS zDF^Sm@iC5}*B$3MH7ye=0<=o%DYsq!jl=Gsu0RR6c)OVt>xwQ;x3=RIOi+PTnOK_f z$0l+_0E-n&sqy^u>Rx_+{v;I@E24@IY*oM3nx;*t3E{2~+*2g4tE;`RLm|wp#Hmy& zHv&cOdo(sO;#T3=kybelkMbzJH)amn-rW4O>5`cIinPTkdksmTwXEA*ASWx!BfGNl zwJyS!yRz7VZhs|AIEar+yl>#JIUbZK>i;b#QsJEw<+@LW(F9Fa>&A%3^V`btteTqtyUp!!Ac$IaU^<7InVDwGRWrbJk>Q7+dp>Gk#BJVEfo z5@Ff0JFe$=kt_H55%<+E787m{)mSIJE&X#(SyG+_!!u`ID}F0GVs%^BFJ{-}TXmMA zoIjT5cUtVcf`9VCsk8jEyp%#~r-(vsTM4Pz0L;nL8u7VSPAoQxrJt42X%}!yx48A8 zbZq`eltQqJv-2v6SJW=mF)oC=i8ro-`cZogzdnpPU}3N$!NbNW71hpp`ZCvi5h;*i zoh^O^55#wOcRS7(PIU4jxx|@oZ*FQD9v)uhc=s>z&aLD8DOhC9QADN_RGOC&kX~-k zvN3$7%I8Ije!0B7yi&De&U|a)^etY-zL5By+iZT@+zRR=1<0kwCeR&5Or6~P+S*#;+q&S?Sz6A1`>&&&dhA&UI(C+K zm^^tVm7ALzqu35NGZWd?JR5s4NwlLMIUt!bG`^jC?NUE?xo_wKFLQEyY%gJKv(Rag2hyH1f}Q#XAd}*8d&9bd z&l)$)x0BuMl~X2^Ycekm)Sg-T+gEpuRXBWC`)}T{g=^@9Oh8b{x0EMj+(?s>=ecJY zuP@xJ(GHH?M2R;ZslT(9CNacyV4glbJ=)PL9vJe~ykgW(fy$+HW)kY(555cgSUPl> zg#T3WnIM%vG<45KVJTxMKJh))w!`xwRCNC0)Obhl6@e{cYqwX?ua)wATd&S%aB{Xi z9@nC(#eY)QGfi9YJZmXdUN>-pm5=jbt|pS7hR(igthsYIAf$@-lXg%c=h+_XVD@>$ z?B`FN&pWfMzuhY@Upy;ut8K~|8u4(?i=Cy(zZ>sN*c(=Q;m}jl%32ZSqF4$qefQC@ z3G_F`ckkBJ1eu$dn21Jk#%7-uIN%*{deAclnwl>=`}}wn) z^?C#xgrYFMH<#>LNk|*%jPlP?v4zn+w-H9=(LA=7git243gS-^coMBQgVUhA%;J5>i!KxrS_lSte0mc zjefSO|Dgl@Wvd$YPpb-q|FXsXcQ4FqaV5J$H^~4__u+8P1+g9Lf0NBktnh`#zlZ+| De%0Q- literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xxhdpi/map_pedestrian_location_lost.png b/OsmAnd/res/drawable-xxhdpi/map_pedestrian_location_lost.png new file mode 100644 index 0000000000000000000000000000000000000000..5724c476a94abf206893020612923ac838420bf5 GIT binary patch literal 3916 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 literal 0 HcmV?d00001 From 539ed6bf72e5249a4b2a99b6c6e4e5485d48da30 Mon Sep 17 00:00:00 2001 From: Alexey Kulish Date: Wed, 19 Jul 2017 17:29:23 +0300 Subject: [PATCH 134/140] Fix #3916 --- .../osmand/plus/download/DownloadActivityType.java | 5 +++++ .../osmand/plus/download/DownloadResourceGroup.java | 9 ++++++--- .../net/osmand/plus/download/DownloadResources.java | 11 +++++++++-- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/download/DownloadActivityType.java b/OsmAnd/src/net/osmand/plus/download/DownloadActivityType.java index 57262294ee..d23510ced0 100644 --- a/OsmAnd/src/net/osmand/plus/download/DownloadActivityType.java +++ b/OsmAnd/src/net/osmand/plus/download/DownloadActivityType.java @@ -309,6 +309,11 @@ public class DownloadActivityType { String downloadName = basename.substring(0, ind - 1) + basename.substring(ind + "addresses-nationwide".length()); return osmandRegions.getLocaleName(downloadName, includingParent) + " "+ ctx.getString(R.string.index_item_nation_addresses); + } else if (basename.startsWith("Depth_")) { + final int extInd = basename.indexOf("osmand_ext"); + String downloadName = extInd == -1 ? basename.substring(6, basename.length()).replace('_', ' ') + : basename.substring(6, extInd).replace('_', ' '); + return ctx.getString(R.string.download_depth_countours) + " " + downloadName; } return osmandRegions.getLocaleName(basename, includingParent); diff --git a/OsmAnd/src/net/osmand/plus/download/DownloadResourceGroup.java b/OsmAnd/src/net/osmand/plus/download/DownloadResourceGroup.java index f47a829397..e1ea3a0c60 100644 --- a/OsmAnd/src/net/osmand/plus/download/DownloadResourceGroup.java +++ b/OsmAnd/src/net/osmand/plus/download/DownloadResourceGroup.java @@ -41,10 +41,12 @@ public class DownloadResourceGroup { // headers with font items FONTS_HEADER(R.string.fonts_header), // headers with resources + NAUTICAL_MAPS_GROUP(R.string.nautical_maps), OTHER_MAPS_GROUP(R.string.download_select_map_types), OTHER_GROUP(R.string.other_menu_group), SUBREGIONS(R.string.regions), // screen items + NAUTICAL_MAPS(R.string.nautical_maps), VOICE_TTS(R.string.index_name_tts_voice), FONTS(R.string.fonts_header), VOICE_REC(R.string.index_name_voice), @@ -60,7 +62,7 @@ public class DownloadResourceGroup { public boolean isScreen() { return this == WORLD || this == REGION || this == VOICE_TTS - || this == VOICE_REC || this == OTHER_MAPS || this == FONTS; + || this == VOICE_REC || this == OTHER_MAPS || this == FONTS || this == NAUTICAL_MAPS; } public String getDefaultId() { @@ -72,7 +74,8 @@ public class DownloadResourceGroup { } public boolean containsIndexItem() { - return isHeader() && this != SUBREGIONS && this != OTHER_GROUP && this != OTHER_MAPS_GROUP; + return isHeader() && this != SUBREGIONS && this != OTHER_GROUP && this != OTHER_MAPS_GROUP + && this != NAUTICAL_MAPS_GROUP; } public boolean isHeader() { @@ -80,7 +83,7 @@ public class DownloadResourceGroup { || this == WORLD_MAPS || this == REGION_MAPS || this == OTHER_GROUP || this == HILLSHADE_HEADER || this == SRTM_HEADER || this == OTHER_MAPS_HEADER || this == OTHER_MAPS_GROUP - || this == FONTS_HEADER || this == NAUTICAL_MAPS_HEADER; + || this == FONTS_HEADER || this == NAUTICAL_MAPS_HEADER || this == NAUTICAL_MAPS_GROUP; } public static String getVoiceTTSId() { diff --git a/OsmAnd/src/net/osmand/plus/download/DownloadResources.java b/OsmAnd/src/net/osmand/plus/download/DownloadResources.java index d3861e244a..5cfbd18cf0 100644 --- a/OsmAnd/src/net/osmand/plus/download/DownloadResources.java +++ b/OsmAnd/src/net/osmand/plus/download/DownloadResources.java @@ -264,7 +264,10 @@ public class DownloadResources extends DownloadResourceGroup { DownloadResourceGroup fonts = new DownloadResourceGroup(otherGroup, DownloadResourceGroupType.FONTS_HEADER); DownloadResourceGroup worldMaps = new DownloadResourceGroup(this, DownloadResourceGroupType.WORLD_MAPS); - DownloadResourceGroup nauticalMaps = new DownloadResourceGroup(this, DownloadResourceGroupType.NAUTICAL_MAPS_HEADER); + + DownloadResourceGroup nauticalMapsGroup = new DownloadResourceGroup(this, DownloadResourceGroupType.NAUTICAL_MAPS_GROUP); + DownloadResourceGroup nauticalMapsScreen = new DownloadResourceGroup(nauticalMapsGroup, DownloadResourceGroupType.NAUTICAL_MAPS); + DownloadResourceGroup nauticalMaps = new DownloadResourceGroup(nauticalMapsGroup, DownloadResourceGroupType.NAUTICAL_MAPS_HEADER); Map > groupByRegion = new LinkedHashMap>(); OsmandRegions regs = app.getRegions(); @@ -346,7 +349,11 @@ public class DownloadResources extends DownloadResourceGroup { // 2. if there is no subregions and there only 1 index item it could be merged to the level up - objection there is no such maps // 3. if hillshade/srtm is disabled, all maps from inner level could be combined into 1 addGroup(worldMaps); - addGroup(nauticalMaps); + + nauticalMapsScreen.addGroup(nauticalMaps); + nauticalMapsGroup.addGroup(nauticalMapsScreen); + addGroup(nauticalMapsGroup); + if (otherMaps.size() > 0) { addGroup(otherMapsGroup); } From 34d8d77764b0063246b3c92915e55022ade75f3e Mon Sep 17 00:00:00 2001 From: Alexander Sytnyk Date: Wed, 19 Jul 2017 18:22:12 +0300 Subject: [PATCH 135/140] Change logic --- OsmAnd/res/values/sizes.xml | 30 +++++---- .../osmand/plus/views/RulerControlLayer.java | 65 ++++++++++++++----- .../mapwidgets/MapInfoWidgetsFactory.java | 4 +- 3 files changed, 65 insertions(+), 34 deletions(-) diff --git a/OsmAnd/res/values/sizes.xml b/OsmAnd/res/values/sizes.xml index 0a922ea0a4..eee5a0487a 100644 --- a/OsmAnd/res/values/sizes.xml +++ b/OsmAnd/res/values/sizes.xml @@ -1,5 +1,7 @@ + 48dp + 36dp 15dp 32dp @@ -10,7 +12,7 @@ 360dp 56dp 78dp - + 2dp 15dp 14dp @@ -30,15 +32,15 @@ 4dp 4dp 0dp - + 16dp 8dp - + 16dp 10dp 12dp 8dp - + 24dp 10dp 13dp @@ -50,8 +52,8 @@ 3dp 14dp 6dp - - + + 16dp 48dp @@ -69,8 +71,8 @@ 120dp 9dp 78dp - - + + 87dp 57dp 85dp @@ -83,8 +85,8 @@ 6dp 6dp 100dp - - + + 2dp 2dp 3dp @@ -94,9 +96,9 @@ 306dp 330dp 100dp - - - + + + 23sp 15sp 18sp @@ -104,7 +106,7 @@ 1sp 3sp 2dp - + 2dp 6dp diff --git a/OsmAnd/src/net/osmand/plus/views/RulerControlLayer.java b/OsmAnd/src/net/osmand/plus/views/RulerControlLayer.java index f9726c3ae1..aa8946d10d 100644 --- a/OsmAnd/src/net/osmand/plus/views/RulerControlLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/RulerControlLayer.java @@ -6,6 +6,7 @@ import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Paint.Style; import android.graphics.Path; +import android.graphics.PointF; import android.graphics.Rect; import android.os.Handler; import android.os.Message; @@ -28,7 +29,8 @@ import gnu.trove.list.array.TIntArrayList; public class RulerControlLayer extends OsmandMapLayer { - public static final long DELAY = 2000; + private static final long DRAW_TIME = 2000; + private static final long DELAY_BEFORE_DRAW = 500; private static final int TEXT_SIZE = 14; private final MapActivity mapActivity; @@ -43,6 +45,8 @@ public class RulerControlLayer extends OsmandMapLayer { private double roundedDist; private boolean showTwoFingersDistance; private boolean showDistBetweenFingerAndLocation; + private boolean touchOutside; + private int acceptableTouchRadius; private QuadPoint cacheCenter; private int cacheIntZoom; @@ -53,7 +57,10 @@ public class RulerControlLayer extends OsmandMapLayer { private Path distancePath; private TIntArrayList tx; private TIntArrayList ty; - private LatLon singleTouchPointLatLon; + private LatLon touchPointLatLon; + private PointF touchPoint; + private PointF firstTouchPoint; + private long touchTime; private Bitmap centerIconDay; private Bitmap centerIconNight; @@ -76,8 +83,8 @@ public class RulerControlLayer extends OsmandMapLayer { return showDistBetweenFingerAndLocation; } - public LatLon getSingleTouchPointLatLon() { - return singleTouchPointLatLon; + public LatLon getTouchPointLatLon() { + return touchPointLatLon; } @Override @@ -91,6 +98,9 @@ public class RulerControlLayer extends OsmandMapLayer { distancePath = new Path(); tx = new TIntArrayList(); ty = new TIntArrayList(); + firstTouchPoint = new PointF(); + touchPoint = new PointF(); + acceptableTouchRadius = mapActivity.getResources().getDimensionPixelSize(R.dimen.acceptable_touch_radius); centerIconDay = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_ruler_center_day); centerIconNight = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_ruler_center_night); @@ -131,15 +141,32 @@ public class RulerControlLayer extends OsmandMapLayer { @Override public boolean onTouchEvent(MotionEvent event, RotatedTileBox tileBox) { - if (event.getAction() == MotionEvent.ACTION_DOWN) { - showDistBetweenFingerAndLocation = true; - singleTouchPointLatLon = tileBox.getLatLonFromPixel(event.getX(), event.getY()); - } else if (event.getAction() == MotionEvent.ACTION_UP) { - showDistBetweenFingerAndLocation = false; + if (rulerModeOn()) { + if (event.getAction() == MotionEvent.ACTION_DOWN) { + touchOutside = false; + firstTouchPoint.set(event.getX(), event.getY()); + setSingleTouch(event.getX(), event.getY(), tileBox); + } else if (event.getAction() == MotionEvent.ACTION_MOVE) { + double d = Math.sqrt(Math.pow(event.getX() - firstTouchPoint.x, 2) + Math.pow(event.getY() - firstTouchPoint.y, 2)); + if (d < acceptableTouchRadius) { + setSingleTouch(event.getX(), event.getY(), tileBox); + touchOutside = false; + } else { + touchOutside = true; + } + } else if (event.getAction() == MotionEvent.ACTION_UP) { + refreshMapDelayed(); + } } return false; } + private void setSingleTouch(float x, float y, RotatedTileBox tb) { + touchTime = System.currentTimeMillis(); + touchPoint.set(x, y); + touchPointLatLon = tb.getLatLonFromPixel(x, y); + } + @Override public void onDraw(Canvas canvas, RotatedTileBox tb, DrawSettings settings) { if (rulerModeOn()) { @@ -151,20 +178,22 @@ public class RulerControlLayer extends OsmandMapLayer { final QuadPoint center = tb.getCenterPixelPoint(); final RulerMode mode = app.getSettings().RULER_MODE.get(); - if (view.isMultiTouch()) { - showDistBetweenFingerAndLocation = false; - } else if (cacheMultiTouchEndTime != view.getMultiTouchEndTime()) { + if (cacheMultiTouchEndTime != view.getMultiTouchEndTime()) { cacheMultiTouchEndTime = view.getMultiTouchEndTime(); refreshMapDelayed(); } - showTwoFingersDistance = !view.isWasZoomInMultiTouch() && !tb.isZoomAnimated() && - (view.isMultiTouch() || System.currentTimeMillis() - cacheMultiTouchEndTime < DELAY); + boolean wasNotZoom = !view.isWasZoomInMultiTouch() && !tb.isZoomAnimated(); + showTwoFingersDistance = wasNotZoom && + (view.isMultiTouch() || System.currentTimeMillis() - cacheMultiTouchEndTime < DRAW_TIME); + showDistBetweenFingerAndLocation = !showTwoFingersDistance && wasNotZoom && !view.isMultiTouch() && + !touchOutside && System.currentTimeMillis() - touchTime > DELAY_BEFORE_DRAW && + System.currentTimeMillis() - touchTime < DRAW_TIME; drawCenterIcon(canvas, tb, center, settings.isNightMode(), mode); Location currentLoc = app.getLocationProvider().getLastKnownLocation(); if (showDistBetweenFingerAndLocation && currentLoc != null) { - float x = tb.getPixXFromLonNoRot(singleTouchPointLatLon.getLongitude()); - float y = tb.getPixYFromLatNoRot(singleTouchPointLatLon.getLatitude()); + float x = tb.getPixXFromLonNoRot(touchPointLatLon.getLongitude()); + float y = tb.getPixYFromLatNoRot(touchPointLatLon.getLatitude()); drawDistBetweenFingerAndLocation(canvas, tb, x, y, currentLoc, settings.isNightMode()); } else if (showTwoFingersDistance) { LatLon firstTouchPoint = view.getFirstTouchPointLatLon(); @@ -195,8 +224,8 @@ public class RulerControlLayer extends OsmandMapLayer { rightWidgetsPanel.getVisibility() == View.VISIBLE; } - public void refreshMapDelayed() { - handler.sendEmptyMessageDelayed(0, DELAY + 50); + private void refreshMapDelayed() { + handler.sendEmptyMessageDelayed(0, DRAW_TIME + 50); } private void drawFingerDistance(Canvas canvas, float x1, float y1, float x2, float y2, boolean nightMode) { diff --git a/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java b/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java index ce6bfd1a21..7304f7f524 100644 --- a/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java +++ b/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java @@ -127,8 +127,8 @@ public class MapInfoWidgetsFactory { Location currentLoc = map.getMyApplication().getLocationProvider().getLastKnownLocation(); if (rulerLayer.isShowDistBetweenFingerAndLocation() && currentLoc != null) { - if (!cacheSingleTouchPoint.equals(rulerLayer.getSingleTouchPointLatLon())) { - cacheSingleTouchPoint = rulerLayer.getSingleTouchPointLatLon(); + if (!cacheSingleTouchPoint.equals(rulerLayer.getTouchPointLatLon())) { + cacheSingleTouchPoint = rulerLayer.getTouchPointLatLon(); setDistanceText(cacheSingleTouchPoint.getLatitude(), cacheSingleTouchPoint.getLongitude(), currentLoc.getLatitude(), currentLoc.getLongitude()); fingerAndLocDistWasShown = true; From a6470c5f47bd38f88c7bfd74aa4e22cd1a22062a Mon Sep 17 00:00:00 2001 From: Alexey Kulish Date: Wed, 19 Jul 2017 19:10:45 +0300 Subject: [PATCH 136/140] Fix #3679 --- OsmAnd/src/net/osmand/plus/OsmandSettings.java | 4 +++- .../net/osmand/plus/activities/SettingsGeneralActivity.java | 2 ++ .../osmand/plus/development/SettingsDevelopmentActivity.java | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/OsmAnd/src/net/osmand/plus/OsmandSettings.java b/OsmAnd/src/net/osmand/plus/OsmandSettings.java index 239d39b89d..8573d937cb 100644 --- a/OsmAnd/src/net/osmand/plus/OsmandSettings.java +++ b/OsmAnd/src/net/osmand/plus/OsmandSettings.java @@ -752,7 +752,7 @@ public class OsmandSettings { public final OsmandPreference DRIVING_REGION = new EnumIntPreference( "default_driving_region", DrivingRegion.EUROPE_ASIA, DrivingRegion.values()) { protected boolean setValue(Object prefs, DrivingRegion val) { - if (val != null) { + if (val != null && !METRIC_SYSTEM_CHANGED_MANUALLY.get()) { METRIC_SYSTEM.set(val.defMetrics); } return super.setValue(prefs, val); @@ -783,6 +783,8 @@ public class OsmandSettings { ; }.makeGlobal().cache(); + public final CommonPreference METRIC_SYSTEM_CHANGED_MANUALLY = new BooleanPreference("metric_system_changed_manually", false).makeGlobal(); + // this value string is synchronized with settings_pref.xml preference name // cache of metrics constants as they are used very often public final OsmandPreference METRIC_SYSTEM = new EnumIntPreference( diff --git a/OsmAnd/src/net/osmand/plus/activities/SettingsGeneralActivity.java b/OsmAnd/src/net/osmand/plus/activities/SettingsGeneralActivity.java index 688354f63e..b07ab4427d 100644 --- a/OsmAnd/src/net/osmand/plus/activities/SettingsGeneralActivity.java +++ b/OsmAnd/src/net/osmand/plus/activities/SettingsGeneralActivity.java @@ -516,6 +516,8 @@ public class SettingsGeneralActivity extends SettingsBaseActivity implements OnR restartApp(); } else if (id.equals(settings.OSMAND_THEME.getId())) { restartApp(); + } else if (id.equals(settings.METRIC_SYSTEM.getId())) { + settings.METRIC_SYSTEM_CHANGED_MANUALLY.set(true); } else { updateAllSettings(); } diff --git a/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java b/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java index 124b19839b..200dc58369 100644 --- a/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java +++ b/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java @@ -78,6 +78,7 @@ public class SettingsDevelopmentActivity extends SettingsBaseActivity { getMyApplication().getSettings().FIRST_MAP_IS_DOWNLOADED.set(false); getMyApplication().getSettings().MAPILLARY_FIRST_DIALOG_SHOWN.set(false); getMyApplication().getSettings().WEBGL_SUPPORTED.set(true); + getMyApplication().getSettings().METRIC_SYSTEM_CHANGED_MANUALLY.set(false); getMyApplication().showToastMessage(R.string.shared_string_ok); return true; } From 18eb8c2acdcb83d73604331ba6064bab4d2d96aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D1=96=D0=B9=20=D0=94=D1=83=D0=B1?= =?UTF-8?q?=D0=B8=D0=BA?= Date: Wed, 19 Jul 2017 16:40:39 +0000 Subject: [PATCH 137/140] Translated using Weblate (Ukrainian) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-uk/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-uk/strings.xml b/OsmAnd/res/values-uk/strings.xml index d9efb55627..ce163f8bc7 100644 --- a/OsmAnd/res/values-uk/strings.xml +++ b/OsmAnd/res/values-uk/strings.xml @@ -2667,8 +2667,8 @@ Шрифти для мапи Правосторонній рух Збалансований - Безпечний - Швидкісний + Надавати перевагу путівцям + Надавати перевагу основним дорогам Анімувати моє місце розташування Задіяти анімацію мого місця розташування під час навігації Не показувати повідомлення при запуску From 54598495213a40dad796702b950de89e20afbb51 Mon Sep 17 00:00:00 2001 From: sonora Date: Thu, 20 Jul 2017 07:47:45 +0200 Subject: [PATCH 138/140] Bicycle navigation wording --- OsmAnd/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index ece08960ca..9c74569091 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -119,7 +119,7 @@ Hilly Less hilly Flat - Prefer major roads + Accept major roads Balanced Prefer byways Preferred terrain: flat or hilly From 23d54bb802964143e3dfd7a01725ee0b5ee43c71 Mon Sep 17 00:00:00 2001 From: jan madsen Date: Wed, 19 Jul 2017 16:14:46 +0000 Subject: [PATCH 139/140] Translated using Weblate (Danish) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-da/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index 38a06dda80..81d77afac3 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -2808,6 +2808,6 @@ Tidligere destination bliver sidste mellemliggende punkt. Genoptag/pause navigation Tryk på knappen pause navigation eller genoptag, hvis den allerede var sat på pause. Vis Afslut navigation dialog - Start/slut Navigation - Tryk på knappen for at starte navigationen eller stoppe den, hvis den allerede var begyndt. + Start/slut navigation + Tryk på knappen for at starte navigation eller stoppe, hvis den allerede var begyndt. From 013370e0f7a41a8434758bb116b9108bd5e8329e Mon Sep 17 00:00:00 2001 From: jan madsen Date: Wed, 19 Jul 2017 16:14:46 +0000 Subject: [PATCH 140/140] Translated using Weblate (Danish) Currently translated at 100.0% (2363 of 2363 strings) --- OsmAnd/res/values-da/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index 81d77afac3..76084ad41c 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -2651,7 +2651,7 @@ Repræsenterer område: %1$s x %2$s Kuperet Mindre kuperet Fladt - Foretræk større veje + Accepter større veje Balanceret Foretrækk sideveje Foretruknet terræn: fladt eller kuperet