From 32305a78f69ce32beacbdc4b2002684e3abb21af Mon Sep 17 00:00:00 2001 From: TacoTheDank Date: Sun, 2 Aug 2020 21:14:15 -0400 Subject: [PATCH 01/30] Add gradle wrapper validation action --- .github/workflows/gradle-wrapper-validation.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .github/workflows/gradle-wrapper-validation.yml diff --git a/.github/workflows/gradle-wrapper-validation.yml b/.github/workflows/gradle-wrapper-validation.yml new file mode 100644 index 0000000000..405a2b3065 --- /dev/null +++ b/.github/workflows/gradle-wrapper-validation.yml @@ -0,0 +1,10 @@ +name: "Validate Gradle Wrapper" +on: [push, pull_request] + +jobs: + validation: + name: "Validation" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: gradle/wrapper-validation-action@v1 From 20294343b9a395a14474decc781a35573d3f4a25 Mon Sep 17 00:00:00 2001 From: TacoTheDank Date: Sun, 2 Aug 2020 22:45:50 -0400 Subject: [PATCH 02/30] Update gradle wrapper --- gradle/wrapper/gradle-wrapper.jar | Bin 49896 -> 54329 bytes gradle/wrapper/gradle-wrapper.properties | 3 +- gradlew | 110 ++++++++++++----------- gradlew.bat | 14 +-- 4 files changed, 64 insertions(+), 63 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 8c0fb64a8698b08ecc4158d828ca593c4928e9dd..f6b961fd5a86aa5fbfe90f707c3138408be7c718 100644 GIT binary patch delta 48231 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
|3MmUXB|zRz@Nl7rfDZD?70dSCHj}XAz4O^ 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 A$^ZZW delta 43923 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 xtZMlk{><(ETi|EG`qhAf8X&o6&- +cd "`dirname \"$PRG\"`/" >/dev/null APP_HOME="`pwd -P`" -cd "$SAVED" >&- +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar @@ -90,7 +89,7 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then MAX_FD_LIMIT=`ulimit -H -n` if [ $? -eq 0 ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then @@ -114,6 +113,7 @@ fi if $cygwin ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` @@ -154,11 +154,19 @@ if $cygwin ; then esac fi -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " } -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" +APP_ARGS=$(save "$@") -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index 8a0b282aa6..f9553162f1 100755 --- a/gradlew.bat +++ b/gradlew.bat @@ -8,14 +8,14 @@ @rem Set local scope for the variables with windows NT shell if "%OS%"=="Windows_NT" setlocal -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - set DIRNAME=%~dp0 if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome @@ -46,10 +46,9 @@ echo location of your Java installation. goto fail :init -@rem Get command-line arguments, handling Windowz variants +@rem Get command-line arguments, handling Windows variants if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_args :win9xME_args @rem Slurp the command line arguments. @@ -60,11 +59,6 @@ set _SKIP=2 if "x%~1" == "x" goto execute set CMD_LINE_ARGS=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ :execute @rem Setup the command line From ff557dbc7f69a6a9cb08351b22a7436131e06186 Mon Sep 17 00:00:00 2001 From: Nazar-Kutz Date: Mon, 3 Aug 2020 11:45:07 +0300 Subject: [PATCH 03/30] Fix "Blue arrow shows up below POI name" --- .../osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java b/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java index 816798ad80..f23dd569a5 100644 --- a/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java +++ b/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java @@ -977,6 +977,9 @@ public class MapInfoWidgetsFactory { updateVisibility(true); AndroidUiHelper.updateVisibility(addressText, false); AndroidUiHelper.updateVisibility(addressTextShadow, false); + AndroidUiHelper.updateVisibility(turnIcon, false); + AndroidUiHelper.updateVisibility(shieldIcon, false); + AndroidUiHelper.updateVisibility(exitRefText, false); } else if (streetName == null) { updateVisibility(false); } else { From 03ed195fcb333499820583ad9873a8228ee4949a Mon Sep 17 00:00:00 2001 From: MadWasp79 Date: Mon, 3 Aug 2020 12:21:23 +0300 Subject: [PATCH 04/30] sequence parsing finishing --- .../osmand/render/RenderingRulesStorage.java | 28 +++++++++++++++---- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/OsmAnd-java/src/main/java/net/osmand/render/RenderingRulesStorage.java b/OsmAnd-java/src/main/java/net/osmand/render/RenderingRulesStorage.java index 1c9214f660..d4d97d547c 100644 --- a/OsmAnd-java/src/main/java/net/osmand/render/RenderingRulesStorage.java +++ b/OsmAnd-java/src/main/java/net/osmand/render/RenderingRulesStorage.java @@ -40,6 +40,10 @@ public class RenderingRulesStorage { private final static int SHIFT_TAG_VAL = 16; + + private final static String SEQ_ATTR_KEY = "seq"; + private final static String SEQ_PLACEHOLDER = "#SEQ"; + // C++ List dictionary = new ArrayList(); Map dictionaryMap = new LinkedHashMap(); @@ -191,8 +195,19 @@ public class RenderingRulesStorage { List children = new ArrayList(); private void process(RenderingRulesHandler handler, int el) throws XmlPullParserException, IOException { - // TODO create new attrsMap and replace #SEQ -> el - handler.startElement(attrsMap, name); + Map seqAttrsMap = new HashMap(attrsMap); + if (attrsMap.containsKey(SEQ_ATTR_KEY)) { + attrsMap.remove(SEQ_ATTR_KEY); + } + + for (Entry attr: attrsMap.entrySet()) { + if (attr.getValue().contains(SEQ_PLACEHOLDER)) { + seqAttrsMap.put(attr.getKey(), attr.getValue().replace(SEQ_PLACEHOLDER, el+"")); + } else { + seqAttrsMap.put(attr.getKey(), attr.getValue()); + } + } + handler.startElement(seqAttrsMap, name); for(XmlTreeSequence s : children) { s.process(handler, el); } @@ -223,13 +238,13 @@ public class RenderingRulesStorage { attrsMap.clear(); parseAttributes(parser, attrsMap); String name = parser.getName(); - if (!Algorithms.isEmpty(parser.getAttributeValue("", "seq")) || currentSeqElement != null) { + if (!Algorithms.isEmpty(parser.getAttributeValue("", SEQ_ATTR_KEY)) || currentSeqElement != null) { XmlTreeSequence seq = new XmlTreeSequence(); seq.name = name; - seq.attrsMap = attrsMap; + seq.attrsMap = new HashMap(attrsMap); seq.parent = currentSeqElement; if (currentSeqElement == null) { - seq.seqOrder = parser.getAttributeValue("", "seq"); + seq.seqOrder = parser.getAttributeValue("", SEQ_ATTR_KEY); } else { currentSeqElement.children.add(seq); seq.seqOrder = currentSeqElement.seqOrder; @@ -246,7 +261,8 @@ public class RenderingRulesStorage { currentSeqElement = currentSeqElement.parent; if (currentSeqElement == null) { // Here we process sequence element - for(int i = 1; i < 5; i++) { + int seqEnd = Integer.parseInt(process.seqOrder.substring(process.seqOrder.indexOf(':') + 1, process.seqOrder.length())); + for(int i = 1; i < seqEnd; i++) { process.process(this, i); } } From 4ef9e036a1fe486e695f3296c0b9972501c28633 Mon Sep 17 00:00:00 2001 From: Vitaliy Date: Mon, 3 Aug 2020 12:57:17 +0300 Subject: [PATCH 05/30] Save Custom colors to tracks --- .../osmand/plus/track/TrackColoringCard.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/OsmAnd/src/net/osmand/plus/track/TrackColoringCard.java b/OsmAnd/src/net/osmand/plus/track/TrackColoringCard.java index 7d102c44fa..2dbbeb3a59 100644 --- a/OsmAnd/src/net/osmand/plus/track/TrackColoringCard.java +++ b/OsmAnd/src/net/osmand/plus/track/TrackColoringCard.java @@ -23,6 +23,9 @@ import com.google.android.material.internal.FlowLayout; import net.osmand.AndroidUtils; import net.osmand.PlatformUtil; +import net.osmand.plus.GPXDatabase; +import net.osmand.plus.GPXDatabase.GpxDataItem; +import net.osmand.plus.GpxSelectionHelper.SelectedGpxFile; import net.osmand.plus.R; import net.osmand.plus.UiUtilities; import net.osmand.plus.activities.MapActivity; @@ -282,9 +285,25 @@ public class TrackColoringCard extends BaseCard implements ColorPickerListener { } } saveCustomColors(); + saveCustomColorsToTracks(prevColor, newColor); updateContent(); } + private void saveCustomColorsToTracks(int prevColor, int newColor) { + List gpxDataItems = app.getGpxDbHelper().getItems(); + for (GPXDatabase.GpxDataItem dataItem : gpxDataItems) { + if (prevColor == dataItem.getColor()) { + app.getGpxDbHelper().updateColor(dataItem, newColor); + } + } + List files = app.getSelectedGpxHelper().getSelectedGPXFiles(); + for (SelectedGpxFile selectedGpxFile : files) { + if (prevColor == selectedGpxFile.getGpxFile().getColor(0)) { + selectedGpxFile.getGpxFile().setColor(newColor); + } + } + } + private void saveCustomColors() { List colorNames = new ArrayList<>(); for (Integer color : customColors) { From cb7f60be620acf020b727b1fd7dfc10062d7fce4 Mon Sep 17 00:00:00 2001 From: Vitaliy Date: Mon, 3 Aug 2020 13:35:03 +0300 Subject: [PATCH 06/30] Open track appearance screen to header after click on map --- .../src/net/osmand/plus/track/TrackAppearanceFragment.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/OsmAnd/src/net/osmand/plus/track/TrackAppearanceFragment.java b/OsmAnd/src/net/osmand/plus/track/TrackAppearanceFragment.java index 4834a43b0e..4f7c1b0150 100644 --- a/OsmAnd/src/net/osmand/plus/track/TrackAppearanceFragment.java +++ b/OsmAnd/src/net/osmand/plus/track/TrackAppearanceFragment.java @@ -174,6 +174,13 @@ public class TrackAppearanceFragment extends ContextMenuScrollFragment implement if (view != null) { trackIcon = view.findViewById(R.id.track_icon); + view.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + openMenuHeaderOnly(); + } + }); + if (isPortrait()) { updateCardsLayout(); } From c6bddc22d1ff230b80239fccbef57892d797a6c0 Mon Sep 17 00:00:00 2001 From: Nazar-Kutz Date: Mon, 3 Aug 2020 14:20:20 +0300 Subject: [PATCH 07/30] Fix #9325 --- .../plus/views/MapQuickActionLayer.java | 44 +++++++++++++------ 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/views/MapQuickActionLayer.java b/OsmAnd/src/net/osmand/plus/views/MapQuickActionLayer.java index 97e9f64f2d..67fad90019 100644 --- a/OsmAnd/src/net/osmand/plus/views/MapQuickActionLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/MapQuickActionLayer.java @@ -172,25 +172,43 @@ public class MapQuickActionLayer extends OsmandMapLayer implements QuickActionRe } private void setQuickActionButtonMargin() { + int defRightMargin = calculateTotalSizePx(R.dimen.map_button_size, R.dimen.map_button_spacing_land) * 2; + int defBottomMargin = calculateTotalSizePx(R.dimen.map_button_size, R.dimen.map_button_spacing) * 2; FrameLayout.LayoutParams param = (FrameLayout.LayoutParams) quickActionButton.getLayoutParams(); if (AndroidUiHelper.isOrientationPortrait(mapActivity)) { Pair fabMargin = settings.getPortraitFabMargin(); - if (fabMargin != null) { - param.rightMargin = fabMargin.first; - param.bottomMargin = fabMargin.second; - } else { - param.bottomMargin = calculateTotalSizePx(R.dimen.map_button_size, R.dimen.map_button_spacing) * 2; - } + setQuickActionButtonMargin(param, fabMargin, 0, defBottomMargin); } else { Pair fabMargin = settings.getLandscapeFabMargin(); - if (fabMargin != null) { - param.rightMargin = fabMargin.first; - param.bottomMargin = fabMargin.second; - } else { - param.rightMargin = calculateTotalSizePx(R.dimen.map_button_size, R.dimen.map_button_spacing_land) * 2; - } + setQuickActionButtonMargin(param, fabMargin, defRightMargin, 0); } - quickActionButton.setLayoutParams(param); + } + + private void setQuickActionButtonMargin(FrameLayout.LayoutParams params, + Pair fabMargin, + int defRightMargin, int defBottomMargin) { + int screenHeight = AndroidUtils.getScreenHeight(mapActivity); + int screenWidth = AndroidUtils.getScreenWidth(mapActivity); + int btnHeight = quickActionButton.getHeight(); + int btnWidth = quickActionButton.getWidth(); + int rightMargin; + int bottomMargin; + if (fabMargin != null) { + rightMargin = fabMargin.first; + bottomMargin = fabMargin.second; + if (rightMargin < 0 || rightMargin > screenWidth - btnWidth) { + rightMargin = defRightMargin; + } + if (bottomMargin < 0 || bottomMargin > screenHeight - btnHeight) { + bottomMargin = defBottomMargin; + } + } else { + rightMargin = defRightMargin; + bottomMargin = defBottomMargin; + } + params.rightMargin = rightMargin; + params.bottomMargin = bottomMargin; + quickActionButton.setLayoutParams(params); } private int calculateTotalSizePx(@DimenRes int... dimensId) { From d7aabd206cc441382933513670d85ef4513546ce Mon Sep 17 00:00:00 2001 From: Dima-1 Date: Mon, 3 Aug 2020 16:02:13 +0300 Subject: [PATCH 08/30] Fix plan a route open track --- .../MeasurementToolFragment.java | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementToolFragment.java b/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementToolFragment.java index ffd26ec83d..bc28b3995e 100644 --- a/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementToolFragment.java +++ b/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementToolFragment.java @@ -236,14 +236,6 @@ public class MeasurementToolFragment extends BaseOsmAndFragment { mainIcon = (ImageView) mainView.findViewById(R.id.main_icon); final NewGpxData newGpxData = editingCtx.getNewGpxData(); if (newGpxData != null) { - List points = newGpxData.getGpxFile().getRoutePoints(); - if (!points.isEmpty()) { - ApplicationMode snapToRoadAppMode = ApplicationMode - .valueOfStringKey(points.get(points.size() - 1).getProfileType(), null); - if (snapToRoadAppMode != null) { - enableSnapToRoadMode(snapToRoadAppMode); - } - } ActionType actionType = newGpxData.getActionType(); if (actionType == ActionType.ADD_SEGMENT || actionType == ActionType.EDIT_SEGMENT) { mainIcon.setImageDrawable(getActiveIcon(R.drawable.ic_action_polygom_dark)); @@ -502,6 +494,14 @@ public class MeasurementToolFragment extends BaseOsmAndFragment { showSnapToRoadControls(); if (newGpxData != null && !gpxPointsAdded) { + List points = newGpxData.getGpxFile().getRoutePoints(); + if (!points.isEmpty()) { + ApplicationMode snapToRoadAppMode = ApplicationMode + .valueOfStringKey(points.get(points.size() - 1).getProfileType(), null); + if (snapToRoadAppMode != null) { + enableSnapToRoadMode(snapToRoadAppMode); + } + } ActionType actionType = newGpxData.getActionType(); if (actionType == ActionType.ADD_ROUTE_POINTS) { displayRoutePoints(); @@ -820,7 +820,10 @@ public class MeasurementToolFragment extends BaseOsmAndFragment { public void addNewGpxData(GPXFile gpxFile) { QuadRect rect = gpxFile.getRect(); TrkSegment segment = getTrkSegment(gpxFile); - NewGpxData newGpxData = new NewGpxData(gpxFile, rect, ActionType.EDIT_SEGMENT, segment); + NewGpxData newGpxData = new NewGpxData(gpxFile, rect, segment == null + ? ActionType.ADD_ROUTE_POINTS + : ActionType.EDIT_SEGMENT, + segment); editingCtx.setNewGpxData(newGpxData); initMeasurementMode(newGpxData); QuadRect qr = newGpxData.getRect(); From a8baa203589620015d56c8fc7bb7ed09d7b8bd7a Mon Sep 17 00:00:00 2001 From: ssantos Date: Sun, 2 Aug 2020 13:30:59 +0000 Subject: [PATCH 09/30] Translated using Weblate (Portuguese) Currently translated at 100.0% (3439 of 3439 strings) --- OsmAnd/res/values-pt/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-pt/strings.xml b/OsmAnd/res/values-pt/strings.xml index e3a77032a9..7c205e7474 100644 --- a/OsmAnd/res/values-pt/strings.xml +++ b/OsmAnd/res/values-pt/strings.xml @@ -3394,7 +3394,7 @@ Mostrar/ocultar sombras de relevo Não é possível iniciar o mecanismo de conversão de texto em fala. Simule a sua posição usando um caminho GPX gravado. - Perfil de exportação + Exportar o perfil Perfil OsmAnd: %1$s O perfil \'%1$s\' já existe. Sobregravar\? Não podia exportar o perfil. @@ -3845,4 +3845,5 @@ Selecione um ficheiro de trilho para abrir. Criar rota Pronto + Sobrescrever trilho \ No newline at end of file From b52b2edb847c2affe24580a6fb40300508e8edf8 Mon Sep 17 00:00:00 2001 From: Ldm Public Date: Sat, 1 Aug 2020 04:59:47 +0000 Subject: [PATCH 10/30] Translated using Weblate (French) Currently translated at 100.0% (3439 of 3439 strings) --- OsmAnd/res/values-fr/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml index e11944f900..155df8a09f 100644 --- a/OsmAnd/res/values-fr/strings.xml +++ b/OsmAnd/res/values-fr/strings.xml @@ -3820,4 +3820,5 @@ Créer un nouvel itinéraire Sélectionnez un fichier de trace à ouvrir. Terminé + Remplacer la trace \ No newline at end of file From 065afd0998d02dcabc662c41621d25ed981e1ebd Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 3 Aug 2020 06:43:29 +0000 Subject: [PATCH 11/30] Translated using Weblate (German) Currently translated at 100.0% (3439 of 3439 strings) --- OsmAnd/res/values-de/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index c6aa61825e..34f318e314 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -23,7 +23,7 @@ Grenzkontrolle Mautstelle Stoppzeichen - Verkehrsberuhigung + Bodenschwelle Blitzer Verkehrswarnung Favoriten in der Nähe @@ -3845,4 +3845,5 @@ Neue Route erstellen Wählen Sie eine Trackdatei zum Öffnen aus. Fertig + Track überschreiben \ No newline at end of file From b071dd27d31c562c5b0d75d861dd4319891099fe Mon Sep 17 00:00:00 2001 From: solokot Date: Sat, 1 Aug 2020 03:01:10 +0000 Subject: [PATCH 12/30] Translated using Weblate (Russian) Currently translated at 100.0% (3439 of 3439 strings) --- OsmAnd/res/values-ru/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-ru/strings.xml b/OsmAnd/res/values-ru/strings.xml index 644216cf35..8201f7bef8 100644 --- a/OsmAnd/res/values-ru/strings.xml +++ b/OsmAnd/res/values-ru/strings.xml @@ -3837,4 +3837,5 @@ Создать новый маршрут Выберите файл трека для открытия. Готово + Перезаписать трек \ No newline at end of file From b978b56f79f0311a1f5d8935b2dca46f429365af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?O=C4=9Fuz=20Ersen?= Date: Sat, 1 Aug 2020 07:54:29 +0000 Subject: [PATCH 13/30] Translated using Weblate (Turkish) Currently translated at 100.0% (3439 of 3439 strings) --- OsmAnd/res/values-tr/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-tr/strings.xml b/OsmAnd/res/values-tr/strings.xml index 460f321ae1..cadcbcd231 100644 --- a/OsmAnd/res/values-tr/strings.xml +++ b/OsmAnd/res/values-tr/strings.xml @@ -3796,4 +3796,5 @@ Yeni güzergah oluştur Açmak için bir yol dosyası seçin. Bitti + Yolun üzerine yaz \ No newline at end of file From babbcffbbc924132957c887bf0ba931d4a70b9db Mon Sep 17 00:00:00 2001 From: ace shadow Date: Sun, 2 Aug 2020 09:46:31 +0000 Subject: [PATCH 14/30] Translated using Weblate (Slovak) Currently translated at 100.0% (3439 of 3439 strings) --- OsmAnd/res/values-sk/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-sk/strings.xml b/OsmAnd/res/values-sk/strings.xml index be5ff4790f..5796f74b23 100644 --- a/OsmAnd/res/values-sk/strings.xml +++ b/OsmAnd/res/values-sk/strings.xml @@ -3838,4 +3838,5 @@ Vytvoriť novú trasu Zvoľte súbor so stopou na otvorenie. Hotovo + Prepísať stopu \ No newline at end of file From 178c9eb566c10c5195c286f75f61776d76020af4 Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Sun, 2 Aug 2020 05:42:07 +0000 Subject: [PATCH 15/30] Translated using Weblate (Hebrew) Currently translated at 100.0% (3439 of 3439 strings) --- OsmAnd/res/values-iw/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-iw/strings.xml b/OsmAnd/res/values-iw/strings.xml index 2daaed73c7..383bdd4ee3 100644 --- a/OsmAnd/res/values-iw/strings.xml +++ b/OsmAnd/res/values-iw/strings.xml @@ -3846,4 +3846,5 @@ יצירת מסלול חדש נא לבחור קובץ מסלול לפתיחה. בוצע + שכתוב מסלול \ No newline at end of file From 07a7c846f0d3b44c0d9e5946d5f814b7ce4ff3a5 Mon Sep 17 00:00:00 2001 From: Ahmad Alfrhood Date: Mon, 3 Aug 2020 09:54:48 +0000 Subject: [PATCH 16/30] Translated using Weblate (Arabic) Currently translated at 100.0% (3439 of 3439 strings) --- OsmAnd/res/values-ar/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-ar/strings.xml b/OsmAnd/res/values-ar/strings.xml index 881455e2d9..98efacffc6 100644 --- a/OsmAnd/res/values-ar/strings.xml +++ b/OsmAnd/res/values-ar/strings.xml @@ -3095,7 +3095,7 @@ إخفاء التضاريس إظهار/إخفاء التضاريس لا يمكن بدء تشغيل أداة تحويل النص إلى كلام. - تصدير الوضع + تصدير الملف الشخصي وضع أوسماند: %1$s الوضع \'%1$s\' موجود بالفعل، هل تريد استبداله؟ لا يمكن تصدير الوضع. @@ -3828,4 +3828,5 @@ إنشاء مسار جديد حدد ملف المسار للفتح. تم + الكتابة فوق المسار \ No newline at end of file From 4c1147bcd83b0e2f99c4c1e7d55297070c7d549a Mon Sep 17 00:00:00 2001 From: iman Date: Sat, 1 Aug 2020 09:30:25 +0000 Subject: [PATCH 17/30] Translated using Weblate (Persian) Currently translated at 99.5% (3424 of 3439 strings) --- OsmAnd/res/values-fa/strings.xml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-fa/strings.xml b/OsmAnd/res/values-fa/strings.xml index 824a98370c..94b2dbfd24 100644 --- a/OsmAnd/res/values-fa/strings.xml +++ b/OsmAnd/res/values-fa/strings.xml @@ -2345,7 +2345,7 @@ بعد از ۶ دقیقه وقفه، بخش جدید شروع می‌شود. بعد از ۲ ساعت وقفه، رد جدید شروع می‌شود. بعد از وقفهٔ طولانی‌تر در صورتی که تاریخ تغییر کند فایل جدید ایجاد می‌شود. یادداشت‌های OSM خود را به‌صورت ناشناس یا با نام کاربری‌تان در سایت OpenStreetMap.org، آپلود کنید. خروجی %1$d را بگیرید و بروید - در نوار اعلان دستگاه یک اعلان برای ضبط سفر نشان می‌دهد. + در نوار اعلان دستگاه یک اعلان برای شروع ضبط سفر نشان می‌دهد. پالایه: هیچ نقطه‌ای ثبت نمی‌شود مگر به این سرعت برسد. پالایه: کمترین مسافتی که یک نقطه باید از موقعیت قبلی داشته باشد تا ثبت شود. پالایه: ضبط انجام نمی‌شود مگر با رسیدن به این میزان صحت. @@ -3846,4 +3846,21 @@ از ویکی‌پدیا دربارهٔ نقاط توجه اطلاعات کسب کنید. یک راهنمای آفلاین جیبی. کافی است افزونهٔ ویکی‌پدیا را فعال کنید و از مقاله‌ها دربارهٔ چیزهای دوروبرتان لذت ببرید. صندلی چرخ‌دار یادداشت اُاِس‌اِمی بسته + نقطهٔ اضافه‌شده روی نقشه دیده نمی‌شود، زیرا گروه انتخاب‌شده پنهان است. آن را در «%s» پیدا می‌کنید. + برای ادامه روزهای کاری را تنظیم کنید + مسیر بین نقطه‌ها + طرح‌ریزی مسیر + نمایش آیکون‌های شروع و پایان + انتخاب عرض + انتخاب کنید نشانه‌های روی رد بر اساس زمان یا مسافت با چه تناوبی نمایش یابند. + گزینهٔ تقسیم‌بندی دلخواه را انتخاب کنید: بر اساس زمان یا مسافت. + سفارشی + فلش‌های جهت‌نما + آخرین ویرایش + درون‌برد رد + بازکردن رد موجود + ساخت مسیر جدید + یک فایل رد انتخاب کنید تا باز شود. + تمام + بَرنویسی رد \ No newline at end of file From c488b7cbadd034f58af15cdc53beca437bac9b7b Mon Sep 17 00:00:00 2001 From: Ajeje Brazorf Date: Sat, 1 Aug 2020 13:23:51 +0000 Subject: [PATCH 18/30] Translated using Weblate (Sardinian) Currently translated at 99.6% (3428 of 3439 strings) --- OsmAnd/res/values-sc/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-sc/strings.xml b/OsmAnd/res/values-sc/strings.xml index c758a23f9c..02b5c80a9e 100644 --- a/OsmAnd/res/values-sc/strings.xml +++ b/OsmAnd/res/values-sc/strings.xml @@ -3840,4 +3840,5 @@ Crea un\'àndala noa Ischerta unu documentu de rasta de abèrrere. Fatu + Subraiscrie sa rasta \ No newline at end of file From 8d82b289215ff32317baa3a253df6a1f1bb60f8c Mon Sep 17 00:00:00 2001 From: ace shadow Date: Sun, 2 Aug 2020 18:23:49 +0000 Subject: [PATCH 19/30] Translated using Weblate (Slovak) Currently translated at 92.6% (3533 of 3812 strings) --- OsmAnd/res/values-sk/phrases.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-sk/phrases.xml b/OsmAnd/res/values-sk/phrases.xml index 96de9b566f..afd4d1dc3a 100644 --- a/OsmAnd/res/values-sk/phrases.xml +++ b/OsmAnd/res/values-sk/phrases.xml @@ -1123,7 +1123,7 @@ Poháňaná Žiadna pumpa Minerálna - Vlastnosti vody: blato + Blato Sírnatá Vodný bod Kuchyňa @@ -2110,7 +2110,7 @@ SIM karty Pobočka Modrá plaketa - V tvare kríža + Tvar kríža Vozidlo Značka na chodníku Obelisk @@ -2210,7 +2210,7 @@ Palivo 91UL Palivo 100LL Letecké palivo A-1 - Palivo AdBlue + Naftová výfuková tekutina (AdBlue) Palivo: drevo Palivo: drevné uhlie Palivo: uhlie @@ -2521,7 +2521,7 @@ Historické obdobie: nové kráľovstvo (1550 – 1069 p. n. l.) Historické obdobie: stredné kráľovstvo (2055 – 1650 p. n. l.) Historické obdobie: preddynastický Egypt - Historické obdobie: obdobie rannej dynastie (3100 – 2686 p. n. l.) + Historické obdobie: ranná dynastia (3100 – 2686 p. n. l.) Historické obdobie: staré kráľovstvo (2686 – 2181 p. n. l.) Historické obdobie: prvé prechodné obdobie (2181 – 2055 p. n. l.) Historické obdobie: druhé prechodné obdobie (1650 – 1550 p. n. l.) From d61ff861b461a81b7bab5818e17551a9ff34482b Mon Sep 17 00:00:00 2001 From: Franco Date: Sat, 1 Aug 2020 15:45:08 +0000 Subject: [PATCH 20/30] Translated using Weblate (Spanish (Argentina)) Currently translated at 100.0% (3439 of 3439 strings) --- OsmAnd/res/values-es-rAR/strings.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml index 6a4d446d06..74efab4700 100644 --- a/OsmAnd/res/values-es-rAR/strings.xml +++ b/OsmAnd/res/values-es-rAR/strings.xml @@ -3837,4 +3837,11 @@ Personalizado Flechas de dirección Sólido + Última edición + Importar traza + Abrir traza existente + Crear nueva ruta + Marca un archivo de traza para abrir. + Hecho + Sobrescribir traza \ No newline at end of file From 056594bee9068f1bef25acdeba3e0d54caf7240b Mon Sep 17 00:00:00 2001 From: Eduardo Addad de Oliveira Date: Sun, 2 Aug 2020 20:43:39 +0000 Subject: [PATCH 21/30] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (3439 of 3439 strings) --- OsmAnd/res/values-pt-rBR/strings.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-pt-rBR/strings.xml b/OsmAnd/res/values-pt-rBR/strings.xml index 27021aa6e9..88b1a157b5 100644 --- a/OsmAnd/res/values-pt-rBR/strings.xml +++ b/OsmAnd/res/values-pt-rBR/strings.xml @@ -3369,7 +3369,7 @@ Branco Trocar %1$s e %2$s Ponto de partida - Estima a hora de chegada de tipos de estradas desconhecidos e limita a velocidade de todas as estradas (pode afetar o roteamento) + Estima a hora de chegada de tipos de estradas desconhecidas e limita a velocidade de todas as estradas (pode afetar o roteamento) Trilha salva O nome do arquivo está vazio Reverter @@ -3767,7 +3767,7 @@ A aplicação dessas alterações limpará os dados em cache dessa origem de bloco Definir altura da embarcação Você pode definir a altura da embarcação para evitar pontes baixas. Lembre-se, se a ponte for móvel, usaremos sua altura no estado aberto. - Defina a altura do vaso para evitar pontes baixas. Lembre-se, se a ponte for móvel, usaremos sua altura no estado aberto. + Defina a altura da embarcação para evitar pontes baixas. Lembre-se, se a ponte for móvel, usaremos sua altura no estado aberto. Defina a largura da embarcação para evitar pontes estreitas Mostrar/ocultar Mapillary Ocultar Mapillary @@ -3826,4 +3826,5 @@ Criar nova rota Selecione um arquivo de faixa para abrir. Concluído + Substituir trilha \ No newline at end of file From ad893442403553a6f52d888a4c77d14cad0e301e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Priit=20J=C3=B5er=C3=BC=C3=BCt?= Date: Sun, 2 Aug 2020 10:30:40 +0000 Subject: [PATCH 22/30] Translated using Weblate (Estonian) Currently translated at 97.4% (3350 of 3439 strings) --- OsmAnd/res/values-et/strings.xml | 117 +++++++++++++++++++++---------- 1 file changed, 79 insertions(+), 38 deletions(-) diff --git a/OsmAnd/res/values-et/strings.xml b/OsmAnd/res/values-et/strings.xml index c20de763d4..ee3fb35fb8 100644 --- a/OsmAnd/res/values-et/strings.xml +++ b/OsmAnd/res/values-et/strings.xml @@ -7,7 +7,7 @@ Jäta vahele lisa Sõnum - A-GPS andmed alla laetud: %1$s + A-GPS andmed on allalaetud: %1$s Kaartide allalaadimine Tere tulemast Märgi kustutamiseks @@ -160,11 +160,11 @@ Kuupäev Sisesta kasutajatunnus Kasutajatunnus - Paigalda Mapillary rakendus sellesse asukohta kaardil ühe või enama pildi lisamiseks. + Paigalda Mapillary piltide lisamiseks sellesse asukohta kaardil. Siin puuduvad fotod. Taaskäivita otsing Lülita OSM märkmed sisse või välja - Näita OSM Notes + Näita OSM märkmed Peida OSM Notes Täname sind tagasiside eest Punkti või teed ei leitud. @@ -292,8 +292,8 @@ Asenda sihtkoht Lisa esimene vahepealne Automaatne kaardi suurendamine sisse/välja - Luba kaardi automaatne suurendamine - Keela kaardi automaatne suurendamine + Lülita kaardi automaatne suumimine sisse + Lülita kaardi automaatne suumimine välja Kirjuta linn/maakond Kirjuta postiindeks Lähimad linnad @@ -327,7 +327,7 @@ Raadiuse joonlaud Peata/jätka navigeerimist Käivita/lõpeta navigeerimine - Vajuta seda nuppu navigeerimise alustamiseks või lõpetamiseks. + Navigeerimise alustamise või lõpetamise nupp. Mõõda vahemaa Sirvi kaarti ja lisa punkte Palun lisa vähemalt üks punkt. @@ -350,7 +350,7 @@ Jätka kaardil kuvamist Välju ilma salvestamata\? Animatsioonideta - Keelab animatsioonid rakenduses. + Lülitab kaardianimatsioonid välja. Teisalda kõik ajalukku Sorteerimisalus Kaardi orientatsiooni lävi @@ -462,7 +462,7 @@ Avaneb homme kell Kuva suletud teated Kuva/peida OSM teated kaardil. - OSC - sobib andmete laadimiseks OpenStreetMap\'i andmebaasi + OSC - sobib andmete laadimiseks OpenStreetMap\'i andmebaasi. OSC fail Vali faililiik Kõik andmed @@ -750,7 +750,7 @@ Auto, veoauto, mootorratas Maastikuratas, mopeed, hobune Kõndimine, matkamine, jooksmine - Kõik ühistranspordi liigid + Ühistranspordi liigid Laev, sõudmine, purjetamine Lennuk, purilend Geokoodeerimine @@ -772,7 +772,7 @@ Vaikimisi kiirus Muuda vaikimisi kiiruse seadeid Määra vähim/suurim kiirus - Hindab saamumisaega tundmatute teede korral ja kiirusepiiranguid kõikidel teedel (võib muuta teekonda) + Hindab saabumisaega tundmatute teede korral ja kiirusepiiranguid kõikidel teedel (võib muuta teekonda) Uus profiil Kokkujooksmine OsmAnd jooksis viimati kasutades kokku. Palun aita meil veateadet jagades OsmAnd rakendust parandada. @@ -810,7 +810,7 @@ Vali profiili ekraaniseadistused Vali profiili navigeerimisseadistused Määra muudatuste ülemine piir - Muudatuste arv + Ümberistumiste arv Ärka pöördel Reguleeri kui kaua ekraan peaks olema sisse lülitatud. Kasuta lähedusandurit @@ -880,7 +880,7 @@ Rakenda kõikidele profiilidele Käivitamise sõnum Analüütika - Kuva kaart lukustuskuval navigeerimise ajal. + Kuva navigeerimise ajal lukustuskuval kaarti. Marsruutimise seaded valitud profiilis \"%1$s\". Ärkamisaeg Ühikud ja formaadid @@ -927,7 +927,7 @@ Muuta OsmAnd andmekausta\? Liiguta uude asukohta Sisemine salvestusruum, kasutaja ja teiste rakenduste eest peidetud, juurdepääsetav ainult OsmAnd\'ile. - Muuda andmete salvestamise kausta + Muuda salvestamise kausta Maastikupark Saan Kelk @@ -992,13 +992,13 @@ Võid rakendada seda muudatust kõikidele või ainult valitud profiilile. Jagatud Eelista katteta teid - Eelista katteta teid. + Teekonna koostamisel eelista katteta teid pinnatud teedele. OSM muudatused - Lüliti kaardil kõrgusjoonte kuvamiseks või peitmiseks. + Nupp kõrgusjoonte kuvamiseks või peitmiseks kaardil. Kuva kõrgusjooned Peida kõrgusjooned Kuva/peida kõrgusjooned - Lüliti künkavarjutuste kaardil kuvamiseks või peitmiseks. + Nupp künkavarjutuste kuvamiseks või peitmiseks kaardil. Kuva künkavarjutus Peida künkavarjutus Kuva/peida künkavarjutus @@ -1021,7 +1021,7 @@ Tühjenda %1$s\? Kaardi allalaadimise dialoog Dialoogid ja teated - Halda OsmAnd kasutamise ajal kuvatavaid hüpikaknaid, dialooge ja teateid. + Halda hüpikaknaid, dialooge ja teateid. Sõlmede võrgud Soovitatud kaardid Need kaardid on laienduse kasutamisel nõutud. @@ -1030,7 +1030,7 @@ Lülita välja Uus laiendus lisatud Liida lõigud - Lisada uus profiil \'%1$s\'\? + Kas lisame uue profiii „%1$s“\? Kaasa pealkiri Salvestamise ajal salvesta kurss igasse teekonnapunkti. %1$s • %2$s @@ -1038,7 +1038,7 @@ Isiklik Allalaadimine %s Jäme - Kõrbete ja muude hõredalt asustatud piirkondade jaoks. Kuvab üksikasjad vaateskaalal. + Kõrbete ja muude hõredalt asustatud piirkondade jaoks. Üksikasjalikum. Liikumisel kuvatav asukohaikoon Peatumisel kuvatav asukohaikoon Rakenda-nupu vajutamisel on eemaldatakse kustutatud profiilid jäädavalt. @@ -1046,10 +1046,10 @@ Vali värv OsmAnd vaikimisi profiile ei saa kustutada, aga saate need eelmisel ekraanil keelata või lõppu nihutada. Muuda profiile - Navigeerimise liik mõjutab teekonna arvutamise reegleid. + Navigeerimise liik mõjutab teekonna arvutamise loogikat. Profiili välimus - Vali ikoon, värv ja nimi - Muuda profiilide loetelu + Ikoon, värv ja nimi + Muuda profiililoendit Valitud profiil Parempoolne liiklus Automaatne @@ -2177,7 +2177,7 @@ Veebiotsing: majanumber, tänav, linn Veebiotsing Suurim veebipõhine suurendustase - Ära sirvi veebikaartide paane suuremate suurendustasemete korral. + Ära sirvi veebikaartide paane sellest suuremate suumitasemete korral. Veebipõhine või võrguühenduseta navigeerimisteenus. Asenda Tänavate/hoonete laadimine… @@ -2394,7 +2394,7 @@ Teisalda ↑ Teisalda Kogu ettekanne - OpenStreetMap kasutajanimi ja salasõna + OSM\'i kasutajanimi ja salasõna Vajalik opestreetmap.org kaastööde jaoks. Rakendusel on nüüd lubatud kirjutada välisele andmekandjale, aga vajab selleks taaskäivitamist. Kanna ette @@ -2440,9 +2440,9 @@ Hangi piiramatu kaartide alla laadimine, lisades uuendused iga nädal, päev või isegi tund. Piiramatud kaartide allalaadimised, uuendused ja Vikipeedia laiendus. Hangi see - Tellimustasu võetakse igakuiselt. Saad sellest Google Play kaudu igal ajal loobuda. - Annetus OpenStreetMap kogukonnale - Osa Sinu annetusest saadetakse OSM kasutajatele, kes teevad OpenStreetMap kaastööd. Tellimuse hind jääb samaks. + Tellimustasu võetakse valitud ajavahemiku kohaselt. Saad sellest Google Play kaudu igal ajal loobuda. + Annetus OSM kogukonnale + Osa Sinu annetusest saadetakse OSM\'i kaastöötajatele. Tellimuse hind jääb samaks. Tellimus võimaldab uuendused igas tunnis, päevas või nädalas ja piiramatu kogu maailma kaartide alla laadimise. Miilid/jalad Austraalia @@ -2583,10 +2583,10 @@ \n Analüüsi kaardil Liitu meie meililistiga rakenduse allahindluste kohta teabe saamiseks ja saate veel 3 kaardi allalaadimist! - Nupp ekraani keskkoha teekonna sihtkohaks muutmiseks; igast varem valitud sihtkohast saab viimane vahesihtkoht. + Nupp ekraani keskkoha teekonna sihtkohaks muutmiseks; ühest varem valitud sihtkohast saab viimane vahesihtkoht. Selle nupu vajutamine muudab ekraani keskkoha uueks teekonna sihtkohaks, asendades eelnevalt valitud sihtkoha (kui olemas). Nupp ekraani keskkoha esimeseks vahesihtkohaks muutmiseks. - Lülita automaatne kiirusetundlik kaardi suurendamine sisse või välja. + Nupp, mis lülitab automaatse kiirusetundliku suumimise sisse või välja. Peatatud Lülita sisse animeeritud oma asukohas kaardi panoraamimine navigeerimise ajal. Lae alla \'Kõrgusjoonte\' kaart selles piirkonnas kasutamiseks. @@ -2615,8 +2615,8 @@ Määra võrguühenduse puudumisel säilitatavate asukohtade ajaline puhver Mapillary fotod on saadaval ainult internetiühenduse olemasolul. Vahemaa näit - Vali allpool \'liikumise suunalt\' \'kompassi suunale\' vastavalt orientatsiooni ümber lülitamise kiirus. - Valige, kuidas näidata kaardiekraanil kaugust ja kaardimarkerite suunda: + Vali allpool „liikumise suunalt“ „kompassi suunale“ vastavalt orientatsiooni ümberlülitamise kiirus. + Valige, kuidas esitame kaardil kaugust ja kaardimarkerite suunda: Ekspordi oma markerid järgmisesse GPX faili: Järgmisel rakenduse käivitamisel on grupp kadunud. Lisa lähtepunkti koopia sihtpunktiks. @@ -2677,7 +2677,7 @@ Kelk Kelgutamisnõlvad. Hooldamata nõlv - Vabasõidu ja hooldamata nõlvad on mitteametlikud rajad ja läbipääsud. Tavaliselt ametlikult hooldamata ja õhtuti kontrollimata. Sisene omal vastutusel. + Vabasõidu ja hooldamata nõlvad on mitteametlikud rajad ja läbipääsud. Tavaliselt hooldamata ja õhtuti kontrollimata. Sisene omal vastutusel. Välised sisendseadmed Vali väline juhtseade nagu klaviatuur või WunderLINQ. Mitte ühtegi @@ -2933,7 +2933,7 @@ OsmAnd jooksis viimasel kasutamisel kokku. Logifail asub {0}. Palun teata probleemist ja edasta logifail. GPX faili salvestamine… Valmis - Määra OSM ettekanneteks vajalikud OpenStreetMap.org (OSM) sätted. + Määra OSM kaastööks vajalikud OpenStreetMap.org (OSM) sätted. Määra keel, lae alla või lae andmed uuesti. Andmed Lisaseadistused @@ -3185,8 +3185,8 @@ Nupp huvipunkti lisamiseks ekraani keskele. Nupp navigeerimise ajal hääljuhiste keelamiseks või lubamiseks. Nupp parkimiskoha lisamiseks ekraani keskele. - Lüliti, et kuvada või peita kaardil olevad Lemmikpunktid. - Lüliti, et kuvada või peita huvipunktid kaardil. + Nupp, et kuvada või peita kaardil olevad Lemmikpunktid. + Nupp, et kuvada või peita huvipunktid kaardil. See teade kaasatakse kommentaari väljale. Salvestada lemmik kategoorias: Vali valikuline kategooria. @@ -3332,7 +3332,7 @@ Puuduta nuppu ja kuula sellele vastavat häält, et kuulda, kas see puudub või on vigane Kasutad {0} kaarti, mida pakub OsmAnd. Kas soovid käivitada OsmAnd täisversiooni\? Käivitada OsmAnd\? - Nupp OsmAnd päeva- ja öörežiimi vahetamiseks. + Nupp OsmAnd\'i päeva- ja öörežiimi vahetamiseks. Päevarežiim Öörežiim Päeva- ja öörežiimi vahetamine @@ -3383,7 +3383,7 @@ Kõiki üleslaadimata muudatusi või OSM vigu saad vaadata menüüs %1$s. Üleslaaditud punkte OsmAnd ei kuva. OSM Ikooni kuvatakse vaid navigeerimise või liikumise ajal. - Kaardiikoon kuvatakse ainult kaardil ja muutub navigeerimise ajal navigeerimise ikooniks. + Peatumisel näidatav ikoon. Kontrolli ja jaga rakenduse detailseid logisid Geokavatsuse väärtusest \'%s\' ei saanud aru. Selle valiku kasutamine vajab luba. @@ -3391,7 +3391,7 @@ Kõrvaltoime: teie rajal puuduvad kõik lõigud, kus minimaalse kiiruse kriteerium ei olnud täidetud (nt kus lükkate oma ratta järsust mäest üles). Samuti puudub teave puhkeperioodide, näiteks puhkepauside kohta. See mõjutab iga analüüsi või järeltöötlust, näiteks kui proovite määrata reisi kogupikkust, liikumisaega või keskmist kiirust. Soovitus: proovige kõigepealt kasutada liikumisandurit minimaalse nihkefiltri (B) kaudu, kuna see võib anda paremaid tulemusi ja te kaotate vähem andmeid. Kui teie rajad jäävad madalatel kiirustel lärmakaks, proovige siin nullist erinevat väärtust. Pange tähele, et mõned mõõtmised ei pruugi kiiruse väärtust üldse anda (mõned võrgupõhised meetodid), sellisel juhul ei salvestaks te midagi. Märkus: kiirus > 0 kontroll: enamik GPS-kiibikomplekte teatab kiiruse väärtuse ainult siis, kui algoritm määrab teie liikumise, ja mitte ükski, kui te pole. Seega kasutab filtri sätte > 0 kasutamine teatud mõttes GPS-kiibistiku liikumistuvastust. Kuid isegi kui seda siin salvestuse ajal ei filtreerita, kasutame seda funktsiooni oma GPX analüüsis korrigeeritud vahemaa määramiseks, st sellel väljal kuvatav väärtus on liikumisel salvestatud vahemaa. - See registreerib ainult minimaalse täpsusnäiduga mõõdetud punktid (meetrites / jalgades, nagu Androidi teatas teie kiibistiku kohta). Täpsus tähendab korduvate mõõtmiste hajumist ega ole otseselt seotud täpsusega, mis määratleb, kui lähedal on teie mõõtmised teie tegelikule asukohale. + See registreerib ainult minimaalse täpsusnäiduga mõõdetud punktid (meetrites / jalgades, nagu Androidi teatas teie kiibistiku kohta). Täpsus on mõõtmiste lähedus tegelikule asukohale ega ole otseselt seotud täpsusega, mis on korduvate mõõtmiste hajumine. Kõrvaltoime: täpsusega filtreerimise tulemusel võivad punktid olla näiteks sildade all, puude all, kõrgete hoonete vahel või teatud ilmastikutingimuste korral. Soovitus: raske on ennustada, mida salvestatakse ja mida mitte, võib-olla oleks parem see filter välja lülitada. Märkus: kui GPS oleks välja lülitatud vahetult enne salvestust, võib esimese mõõdetud punkti täpsus olla vähenenud, nii et meie koodis võiksime enne punkti salvestamist oodata umbes sekund (või salvestada 3 järjestikuse punkti parimad andmed jne.), kuid seda pole veel rakendatud. @@ -3614,4 +3614,45 @@ Kuna mõnedel marsruutidel võidakse kohaldada piiranguid pikkade sõidukite suhtes, siis palun märkige oma sõiduki pikkus. Kuna mõnedel marsruutidel võidakse kohaldada sõidukite kaalupiiranguid, siis palun märkige oma sõiduki kaal. OsmAnd GPX faili vorming pole korrektne. Täpsemaks uurimiseks palun suhtle meie tugimeeskonnaga. + Sorteeri kategooria järgi + Jätka + Imporditavas profiilis leidub täiendavaid andmeid. Vajutades „Impordi“ imporditakse vaid profiili andmed, täiendavate andmete jaoks pead märkima vastava valiku. + Kaasa täiendavad andmed + Päikesetõus kell %1$s + Päikeseloojang kell %1$s + %1$s/%2$s + Näita vaid öösel + Lisa oma kategooria + Saadaval + Kopeeri koordinaadid + Kustuta salvestatud andmed + Otse sihtpunkti + Kasutajaliidese kohendamine + Kontekstimenüü toimingud + Siit järgnevate elementide ees on eraldaja. + Eraldaja + Peidetud + Seadistuste peitmine taastab nende algsed väärtused. + On ainult neli nuppu. + Vali rajafail + OsmAnd jälgija + Mõõda vahemaad + Reisimine (Wikivoyage ja Wikipedia) + Kaardimarkerid + Lemmikud + OsmAnd Live tellimus + Ostud OsmAnd rakenduses + Kaardisümboleid kirjeldav juhend. + Tagasi muutmise juurde + Alati + Kas kustutame kõik\? + Eemalda kiiruskaamerate andmed + Kiiruskaamerad + Hoia kasutuses + Kiiruskaamerate hoiatused on mõnedes riikides seadusega keelatud. + Kui %1$s on sisse lülitatud, siis aktiivseks loetav aeg sõltub sellest. + Ekraani väljalülitamise vaikimisi aeg + toonid + meetrit + Näita või peida täiendavaid andmeid kaardil \ No newline at end of file From ff77f9fbfdf03856d0c0af8bd72f623412a9a077 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?O=C4=9Fuz=20Ersen?= Date: Sun, 2 Aug 2020 08:25:58 +0000 Subject: [PATCH 23/30] Translated using Weblate (Turkish) Currently translated at 62.6% (2387 of 3812 strings) --- OsmAnd/res/values-tr/phrases.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-tr/phrases.xml b/OsmAnd/res/values-tr/phrases.xml index 565792c7dc..b4f98a709f 100644 --- a/OsmAnd/res/values-tr/phrases.xml +++ b/OsmAnd/res/values-tr/phrases.xml @@ -2397,4 +2397,5 @@ Mobilet: hayır Mobilet: evet Mobilet + Şehir \ No newline at end of file From 61d7a65c1256586be2ac3a66eaacf6ba6a00c9b5 Mon Sep 17 00:00:00 2001 From: Verdulo Date: Sun, 2 Aug 2020 16:03:31 +0000 Subject: [PATCH 24/30] Translated using Weblate (Esperanto) Currently translated at 100.0% (3439 of 3439 strings) --- OsmAnd/res/values-eo/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml index abc772d98d..16630a2ad2 100644 --- a/OsmAnd/res/values-eo/strings.xml +++ b/OsmAnd/res/values-eo/strings.xml @@ -580,7 +580,7 @@ Landlima kontrolado Vojpagejo Stop\' signo - Trafik-trankviligejo + Trafik-trankviligilo Rapid-kontrolilo Trafika averto Proksimaj interesejoj @@ -3838,4 +3838,5 @@ Krei novan kurson Elekti dosieron de spuro por malfermi. Farita + Superskribi kurson \ No newline at end of file From 0c177f973cbf627f58d0cf629b457d44f38b56b0 Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Sun, 2 Aug 2020 02:56:23 +0000 Subject: [PATCH 25/30] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (3439 of 3439 strings) --- OsmAnd/res/values-zh-rTW/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index c261ef837c..a9dead5425 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -3835,4 +3835,5 @@ 建立新路線 選取要開啟的軌跡檔。 完成 + 覆寫軌跡 \ No newline at end of file From de449d1760cdafc37a1d5dd2eaccd2c8c3dcc513 Mon Sep 17 00:00:00 2001 From: keithconger Date: Mon, 3 Aug 2020 13:35:47 -0600 Subject: [PATCH 26/30] Fix external device keypresses --- .../src/net/osmand/plus/activities/MapActivityKeyListener.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivityKeyListener.java b/OsmAnd/src/net/osmand/plus/activities/MapActivityKeyListener.java index 66bfc93a7b..46ce19e3c2 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivityKeyListener.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivityKeyListener.java @@ -13,6 +13,7 @@ import net.osmand.plus.helpers.ScrollHelper; import net.osmand.plus.settings.backend.OsmandSettings; import net.osmand.plus.views.OsmandMapTileView; +import static net.osmand.plus.settings.backend.OsmandSettings.NO_EXTERNAL_DEVICE; import static net.osmand.plus.settings.backend.OsmandSettings.GENERIC_EXTERNAL_DEVICE; import static net.osmand.plus.settings.backend.OsmandSettings.PARROT_EXTERNAL_DEVICE; import static net.osmand.plus.settings.backend.OsmandSettings.WUNDERLINQ_EXTERNAL_DEVICE; @@ -60,6 +61,8 @@ public class MapActivityKeyListener implements KeyEvent.Callback { mapActivity.changeZoom(1); return true; } + } else if (settings.EXTERNAL_INPUT_DEVICE.get() != NO_EXTERNAL_DEVICE) { + return true; } else if (mapScrollHelper.isScrollingDirectionKeyCode(keyCode)) { return mapScrollHelper.onKeyDown(keyCode, event); } From 0011085fb547756cef153edfbaa54e8a86d7b7d2 Mon Sep 17 00:00:00 2001 From: Vitaliy Date: Tue, 4 Aug 2020 00:27:38 +0300 Subject: [PATCH 27/30] Remove unnecessary selectable background --- OsmAnd/src/net/osmand/plus/track/TrackColoringCard.java | 3 +++ OsmAnd/src/net/osmand/plus/track/TrackWidthCard.java | 3 +++ 2 files changed, 6 insertions(+) diff --git a/OsmAnd/src/net/osmand/plus/track/TrackColoringCard.java b/OsmAnd/src/net/osmand/plus/track/TrackColoringCard.java index 2dbbeb3a59..ff21fa3f18 100644 --- a/OsmAnd/src/net/osmand/plus/track/TrackColoringCard.java +++ b/OsmAnd/src/net/osmand/plus/track/TrackColoringCard.java @@ -250,6 +250,9 @@ public class TrackColoringCard extends BaseCard implements ColorPickerListener { private void updateHeader() { AndroidUiHelper.updateVisibility(view.findViewById(R.id.icon), false); + View headerView = view.findViewById(R.id.header_view); + headerView.setBackgroundDrawable(null); + TextView titleView = view.findViewById(R.id.title); titleView.setText(R.string.select_color); diff --git a/OsmAnd/src/net/osmand/plus/track/TrackWidthCard.java b/OsmAnd/src/net/osmand/plus/track/TrackWidthCard.java index 7dc668e3d6..81208971bb 100644 --- a/OsmAnd/src/net/osmand/plus/track/TrackWidthCard.java +++ b/OsmAnd/src/net/osmand/plus/track/TrackWidthCard.java @@ -99,6 +99,9 @@ public class TrackWidthCard extends BaseCard { private void updateHeader() { AndroidUiHelper.updateVisibility(view.findViewById(R.id.icon), false); + View headerView = view.findViewById(R.id.header_view); + headerView.setBackgroundDrawable(null); + TextView titleView = view.findViewById(R.id.title); titleView.setText(R.string.select_track_width); From 2da15322a8af1fb43eebb01827cd78e8c2007a11 Mon Sep 17 00:00:00 2001 From: josep constanti Date: Mon, 3 Aug 2020 19:26:47 +0000 Subject: [PATCH 28/30] Translated using Weblate (Catalan) Currently translated at 94.9% (3267 of 3439 strings) --- OsmAnd/res/values-ca/strings.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/OsmAnd/res/values-ca/strings.xml b/OsmAnd/res/values-ca/strings.xml index 27ec7ebddc..26d50d85c0 100644 --- a/OsmAnd/res/values-ca/strings.xml +++ b/OsmAnd/res/values-ca/strings.xml @@ -3711,4 +3711,14 @@ Abasta l\'àrea: %1$s x %2$s La propera fita de la ruta s\'esborrarà. Si es tractés de la Destinació final, la navegació s\'aturaria. Baixa mapes de la Viquipèdia Obteniu informació de punts d\'interès des la Viquipèdia. Serà la vostra guia de butxaca en desconnexió - només cal que activeu el connector Viquipèdia i fruireu dels articles que tracten de les coses que us rodegen. + Seleccioneu el criteri limitant desitjat: temps o distància. + Fletxes de direcció + Sòlid + Darrera modificació + Importa una traça + Obre una traça existent + Crea una ruta nova + Seleccioneu un fitxer de traça per obrir-lo. + Fet + Substitueix la traça \ No newline at end of file From bd88c087a06fbf2013a1f7ab5644c760965f7906 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 4 Aug 2020 10:59:30 +0300 Subject: [PATCH 29/30] Added icon for Plan Route save dialog --- OsmAnd/res/drawable/ic_action_add_to_track.xml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 OsmAnd/res/drawable/ic_action_add_to_track.xml diff --git a/OsmAnd/res/drawable/ic_action_add_to_track.xml b/OsmAnd/res/drawable/ic_action_add_to_track.xml new file mode 100644 index 0000000000..559e348f60 --- /dev/null +++ b/OsmAnd/res/drawable/ic_action_add_to_track.xml @@ -0,0 +1,16 @@ + + + + From ed3db0643abdd863a891d5846509b7cd59253ffe Mon Sep 17 00:00:00 2001 From: Nazar-Kutz Date: Tue, 4 Aug 2020 12:07:26 +0300 Subject: [PATCH 30/30] Fix #5708 --- .../download/ui/DownloadGroupViewHolder.java | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/OsmAnd/src/net/osmand/plus/download/ui/DownloadGroupViewHolder.java b/OsmAnd/src/net/osmand/plus/download/ui/DownloadGroupViewHolder.java index 0e59743148..a56d7c2677 100644 --- a/OsmAnd/src/net/osmand/plus/download/ui/DownloadGroupViewHolder.java +++ b/OsmAnd/src/net/osmand/plus/download/ui/DownloadGroupViewHolder.java @@ -52,7 +52,10 @@ public class DownloadGroupViewHolder { } } if (isParentWorld(group) || isParentWorld(group.getParentGroup())) { - iconStart = cache.getThemedIcon(R.drawable.ic_world_globe_dark); + iconStart = getIconForDownloadedItems(group, R.drawable.ic_world_globe_dark); + if (iconStart == null) { + iconStart = cache.getThemedIcon(R.drawable.ic_world_globe_dark); + } } else { iconStart = getIconForDownloadedItems(group, R.drawable.ic_map); if (iconStart == null) { @@ -81,6 +84,28 @@ public class DownloadGroupViewHolder { return ctx.getMyApplication().getUIUtilities().getIcon(iconId, color); } } + return getIconForOutdatedItems(group, iconId); + } + + private Drawable getIconForOutdatedItems(DownloadResourceGroup group, @DrawableRes int iconId) { + if (group.getIndividualResources() != null) { + for (IndexItem ii : group.getIndividualResources()) { + if (ii.getType() == DownloadActivityType.NORMAL_FILE + || ii.getType() == DownloadActivityType.ROADS_FILE) { + if (ii.isOutdated()) { + return ctx.getMyApplication().getUIUtilities().getIcon(iconId, R.color.color_distance); + } + } + } + } + if (group.getGroups() != null) { + for (DownloadResourceGroup g : group.getGroups()) { + Drawable d = getIconForOutdatedItems(g, iconId); + if (d != null) { + return d; + } + } + } return null; }