Compare commits

..

40 Commits

Author SHA1 Message Date
Andrei Shkrob
ea99e26404 [android] Fix collor selector issue
Signed-off-by: Andrei Shkrob <github@shkrob.dev>
2025-08-11 14:41:23 +07:00
Andrei Shkrob
f1f5ccd778 [android] Load predefined colors from core
Signed-off-by: Andrei Shkrob <github@shkrob.dev>
2025-08-11 14:41:23 +07:00
Codeberg Translate
45e15e2edb [strings] Update from Codeberg Translate
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: ERYpTION <eryption@noreply.codeberg.org>
Co-authored-by: Mannivu <mannivu@noreply.codeberg.org>
Co-authored-by: patepelo <patepelo@noreply.codeberg.org>
Co-authored-by: sziatomi <sziatomi@noreply.codeberg.org>
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Apple AppStore description
Translation: CoMaps/Countries and regions names
Translation: CoMaps/F-Droid app description
Translation: CoMaps/Google Play and Huawei AppGallery descriptions
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS Plurals
Translation: CoMaps/iOS UI Strings
2025-08-10 15:11:32 +00:00
Harry Bond
1e358375c6 [desktop] change id to app.comaps.comaps
apparently app.comaps.qt is no good either. this one is confirmed fine

Signed-off-by: Harry Bond <me@hbond.xyz>
2025-08-10 14:40:15 +01:00
Konstantin Pastbin
c3d0689d8a [generator] Fix default NODE_STORAGE setting to 'map'
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-08-10 15:41:21 +07:00
Harry Bond
607191503c [desktop] Change ID from .desktop to .qt
required to publish on Flathub, and .desktop is a file extension anyway so it's a bad idea
also some improvements to metadata structure, and add branding colours
and fix the welcome message in qt

Signed-off-by: Harry Bond <me@hbond.xyz>
2025-08-10 10:06:24 +02:00
Konstantin Pastbin
7ec05f16e5 [search] Fix predefined Parking category for DE
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-08-10 09:57:57 +02:00
Jean-Baptiste
b41bad5ea4 [android] Migrate last themes to Material Components
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-08-10 06:55:03 +02:00
Jean-Baptiste
1e22b678e2 [android] Update background color of stop icons
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-08-09 20:05:51 +02:00
x7z4w
f88b0afa58 [docs] Update docs
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-08-09 13:51:09 +02:00
Codeberg Translate
d7ece38279 [strings] Update from Codeberg Translate
Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: Alexey Ladygin <nitrodox@noreply.codeberg.org>
Co-authored-by: Antmajgra <antmajgra@noreply.codeberg.org>
Co-authored-by: B o d o <timtrek@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: ERYpTION <eryption@noreply.codeberg.org>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Frz <frz@noreply.codeberg.org>
Co-authored-by: Fs00 <fs00@noreply.codeberg.org>
Co-authored-by: Lenny Angst <lenny@familie-angst.ch>
Co-authored-by: N4ta <codeberg@n4ta.anonaddy.me>
Co-authored-by: Outbreak2096 <outbreak2096@noreply.codeberg.org>
Co-authored-by: Prefill add-on <noreply-addon-prefill@weblate.org>
Co-authored-by: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
Co-authored-by: Weblate <noreply-mt-weblate@weblate.org>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: Zalexanninev15 <zalexanninev15@noreply.codeberg.org>
Co-authored-by: ZeljkoBG <zeljkobg@noreply.codeberg.org>
Co-authored-by: athulvis <athulvis@noreply.codeberg.org>
Co-authored-by: jimkats <jimkats@noreply.codeberg.org>
Co-authored-by: lazlo <lazlo@noreply.codeberg.org>
Co-authored-by: ldmpub <ldmpub@noreply.codeberg.org>
Co-authored-by: maklein <maklein@noreply.codeberg.org>
Co-authored-by: matheusgomesms <matheusgomesms@noreply.codeberg.org>
Co-authored-by: metehan <metehan@noreply.codeberg.org>
Co-authored-by: patepelo <patepelo@noreply.codeberg.org>
Co-authored-by: paulb <paulb@noreply.codeberg.org>
Co-authored-by: rimas <rimas@noreply.codeberg.org>
Co-authored-by: x7z4w <x7z4w@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Apple AppStore description
Translation: CoMaps/Countries and regions names
Translation: CoMaps/F-Droid app description
Translation: CoMaps/Google Play and Huawei AppGallery descriptions
Translation: CoMaps/Voice announcements for navigation (TTS)
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS Plist
Translation: CoMaps/iOS Plurals
Translation: CoMaps/iOS UI Strings
2025-08-09 09:38:04 +00:00
Yannik Bloscheck
722fc5e333 [ios] Added paning of the map and search keyboard shortcut for Macs
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-08-09 11:37:55 +02:00
Jean-Baptiste
f05a9c9eb4 [android] Migrate routing screens to Material
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-08-09 09:16:53 +02:00
Andrei Shkrob
07c26a5ab8 [data] move case folding data into test folder
Signed-off-by: Andrei Shkrob <github@shkrob.dev>
2025-08-08 20:49:43 +07:00
Andrei Shkrob
8f5c8a5bd7 [data] Refactor resources folder
Signed-off-by: Andrei Shkrob <github@shkrob.dev>
2025-08-08 20:47:41 +07:00
Eivind Samseth
04246a55f2 [generator] Add check_date and variants
Includes survey:date and check_date:opening_hours
Only apply to amenity and shop types for now

[generator] Add check_date to further types

[generator] Improve date validation

Check if it can be parsed to a proper date

Signed-off-by: Eivind Samseth <eisa01@gmail.com>
2025-08-08 15:11:24 +02:00
Harry Bond
b096199695 [qt] prep metainfo for Flathub release
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-08-07 23:15:45 +01:00
Konstantin Pastbin
5de22c6de8 [generator] Improve logging, add comments
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-08-07 13:56:48 +02:00
Konstantin Pastbin
d7f73f4b9b [generator] Fix Features stage crash on an empty relation
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-08-07 13:56:48 +02:00
Codeberg Translate
d5ce81b20b [strings] Update from Codeberg Translate
Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: Alexey Ladygin <nitrodox@noreply.codeberg.org>
Co-authored-by: Antmajgra <antmajgra@noreply.codeberg.org>
Co-authored-by: B o d o <timtrek@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: ERYpTION <eryption@noreply.codeberg.org>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Frz <frz@noreply.codeberg.org>
Co-authored-by: Fs00 <fs00@noreply.codeberg.org>
Co-authored-by: Lenny Angst <lenny@familie-angst.ch>
Co-authored-by: N4ta <codeberg@n4ta.anonaddy.me>
Co-authored-by: Outbreak2096 <outbreak2096@noreply.codeberg.org>
Co-authored-by: Prefill add-on <noreply-addon-prefill@weblate.org>
Co-authored-by: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
Co-authored-by: Weblate <noreply-mt-weblate@weblate.org>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: ZeljkoBG <zeljkobg@noreply.codeberg.org>
Co-authored-by: athulvis <athulvis@noreply.codeberg.org>
Co-authored-by: lazlo <lazlo@noreply.codeberg.org>
Co-authored-by: ldmpub <ldmpub@noreply.codeberg.org>
Co-authored-by: maklein <maklein@noreply.codeberg.org>
Co-authored-by: matheusgomesms <matheusgomesms@noreply.codeberg.org>
Co-authored-by: metehan <metehan@noreply.codeberg.org>
Co-authored-by: patepelo <patepelo@noreply.codeberg.org>
Co-authored-by: paulb <paulb@noreply.codeberg.org>
Co-authored-by: rimas <rimas@noreply.codeberg.org>
Co-authored-by: x7z4w <x7z4w@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Apple AppStore description
Translation: CoMaps/Countries and regions names
Translation: CoMaps/F-Droid app description
Translation: CoMaps/Google Play and Huawei AppGallery descriptions
Translation: CoMaps/Voice announcements for navigation (TTS)
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS Plist
Translation: CoMaps/iOS Plurals
Translation: CoMaps/iOS UI Strings
2025-08-07 13:55:42 +02:00
Viktor Govako
905a823490 [desktop] Removed redundant NightMode setting.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-08-07 13:39:05 +02:00
hemanggs
b195059fb6 [drape] Fixes add business button crosshair placement
-Point crosshair to optionalPosition instead of a random point in BoundArea

Signed-off-by: hemanggs <hemangmanhas@gmail.com>
2025-08-07 13:39:05 +02:00
Kiryl Kaveryn
460a7fa480 [map] Fix zoom on selected/saved track
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-08-07 13:39:05 +02:00
Andrei Shkrob
e65ab6e458 Update gitignore
Signed-off-by: Andrei Shkrob <github@shkrob.dev>
2025-08-07 13:39:05 +02:00
Viktor Govako
effc8ba5d1 [routing] Relaxed roundabout skip turns check (driveway, parking_aisle).
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-08-07 13:39:05 +02:00
Viktor Govako
014b54b1f7 [routing][tests] Updated Turn integration tests.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-08-07 13:39:05 +02:00
Harry Bond
a25ae124d7 [docs] Fix horrendously bloated SVG
it even phones home to Penpot and Google Fonts...

Signed-off-by: Harry Bond <me@hbond.xyz>
2025-08-07 10:53:39 +01:00
David Martinez
372a7a90c5 [styles] Switch food_court to fork and knife icon
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2025-08-07 11:27:30 +02:00
Yannik Bloscheck
9bd6e2cdf2 [styles] Slightly adjusted parking icon color to be more different from new water color
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-08-06 16:09:45 +02:00
Yannik Bloscheck
c2cc61e4d9 [android] Adjusted water and parking search category icon
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-08-06 16:09:45 +02:00
Yannik Bloscheck
e3fa656f4f [ios] Adjusted water and parking search category icon
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-08-06 16:09:44 +02:00
Yannik Bloscheck
d7216b7ccc [styles] Keep water labels and icons readable with improved water visibility
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-08-06 16:09:44 +02:00
Yannik Bloscheck
aaa61f7f75 [styles] Made water more visible
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-08-06 16:09:44 +02:00
Yannik Bloscheck
ccfd2107f3 [styles] Improved general and pedestrian area visibility
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-08-06 16:06:13 +02:00
x7z4w
45ec96dd3c [build] Generate drules at build
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-08-06 10:40:29 +02:00
x7z4w
dd7739a8b2 [search] Add more synonyms
Co-Authored-By: Matheus Gomes <matheusgomesms@noreply.codeberg.org>
Co-Authored-By: Omar Hassan <omarhassan@noreply.codeberg.org>
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-08-05 21:07:35 +02:00
x7z4w
ae0ef4d3f8 [ios] Run configure.sh for clean builds
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-08-05 10:16:31 +00:00
Jean-Baptiste
68d1ead44c [doc] Improve doc and updates codeberg teams
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-08-04 19:10:52 +02:00
x7z4w
09de87fd29 [ci] Use container with Android SDK
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-08-03 17:44:59 +02:00
Yannik Bloscheck
1a241121c4 [ios] Fix configure.sh at build for Xcode
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-08-03 13:14:58 +02:00
432 changed files with 5778 additions and 856332 deletions

View File

@@ -32,13 +32,12 @@ on:
- track_generator/**
- xcode/**
env:
JAVA_HOME: /usr/lib/jvm/temurin-17-jdk-amd64 # Java 17 is required for Android Gradle 8 plugin
jobs:
android-google-beta:
name: Android Google Beta
runs-on: ubuntu-latest
container:
image: runmymind/docker-android-sdk:latest
environment: beta
steps:
- name: Install build tools and dependencies

View File

@@ -11,7 +11,7 @@ on:
jobs:
android-check-metadata:
name: Check app metadata
runs-on: ubuntu-latest
runs-on: codeberg-tiny
steps:
- name: Checkout
uses: actions/checkout@v4

View File

@@ -34,13 +34,12 @@ on:
- track_generator/**
- xcode/**
env:
JAVA_HOME: /usr/lib/jvm/temurin-17-jdk-amd64 # Java 17 is required for Android Gradle 8 plugin
jobs:
lint:
name: Android Lint
runs-on: ubuntu-latest
runs-on: codeberg-tiny
container:
image: runmymind/docker-android-sdk:latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
@@ -59,6 +58,8 @@ jobs:
android-check:
name: Build Android Debug
runs-on: ubuntu-latest
container:
image: runmymind/docker-android-sdk:latest
strategy:
fail-fast: false
matrix:

View File

@@ -4,12 +4,9 @@ on:
schedule:
- cron: '0 5 * * 0' # Once per week at 05:00 UTC
env:
JAVA_HOME: /usr/lib/jvm/temurin-17-jdk-amd64 # Java 17 is required for Android Gradle 8 plugin
jobs:
precondition:
runs-on: ubuntu-latest
runs-on: codeberg-tiny
name: Check preconditions
steps:
- name: Checkout sources
@@ -34,6 +31,8 @@ jobs:
android-google-beta:
name: Android Google Beta
runs-on: ubuntu-latest
container:
image: runmymind/docker-android-sdk:latest
needs: precondition
if: ${{ needs.precondition.outputs.updated != '' }}
environment: beta

View File

@@ -2,13 +2,12 @@ name: Android Release Metadata
on:
workflow_dispatch: # Manual trigger
env:
JAVA_HOME: /usr/lib/jvm/temurin-17-jdk-amd64 # Java 17 is required for Android Gradle 8 plugin
jobs:
android-release-metadata:
name: Upload Google Play metadata
runs-on: ubuntu-latest
runs-on: codeberg-tiny
container:
image: runmymind/docker-android-sdk:latest
environment: production
steps:
- name: Checkout sources

View File

@@ -5,12 +5,13 @@ on:
env:
RELEASE_NOTES: android/app/src/google/play/release-notes/en-US/default.txt
FDROID_VERSION: android/app/src/fdroid/play/version.yaml
JAVA_HOME: /usr/lib/jvm/temurin-17-jdk-amd64 # Java 17 is required for Android Gradle 8 plugin
jobs:
tag:
name: Tag
runs-on: ubuntu-latest
container:
image: runmymind/docker-android-sdk:latest
environment: production
steps:
- name: Checkout sources

View File

@@ -3,20 +3,20 @@ on:
workflow_dispatch: # Manual trigger
pull_request:
paths:
- packaging/app.organicmaps.desktop.metainfo.xml
- .forgejo/workflows/appstream-check.yaml # Run check on self change
- packaging/app.comaps.comaps.metainfo.xml
- .forgejo/workflows/appstream-check.yaml # Run check on self change
jobs:
validate-appstream:
name: Validate appstream metadata xml
runs-on: ubuntu-24.04
runs-on: codeberg-tiny
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
fetch-depth: 1
sparse-checkout: |
packaging/app.organicmaps.desktop.metainfo.xml
packaging/app.comaps.comaps.metainfo.xml
- name: Install appstream validator and flatpak Builder
shell: bash
@@ -29,8 +29,8 @@ jobs:
- name: Lint appstream data with flatpak Builder
shell: bash
run: flatpak run --command=flatpak-builder-lint org.flatpak.Builder appstream packaging/app.organicmaps.desktop.metainfo.xml
run: flatpak run --command=flatpak-builder-lint org.flatpak.Builder appstream packaging/app.comaps.comaps.metainfo.xml
- name: Run appstreamcli in pedantic mode
shell: bash
run: flatpak run --command=appstreamcli org.flatpak.Builder validate --pedantic packaging/app.organicmaps.desktop.metainfo.xml
run: flatpak run --command=appstreamcli org.flatpak.Builder validate --pedantic packaging/app.comaps.comaps.metainfo.xml

View File

@@ -33,7 +33,7 @@ concurrency:
jobs:
should-run-check:
name: Should run coverage
runs-on: ubuntu-24.04
runs-on: codeberg-tiny
outputs:
run-from-pr: ${{ steps.run-from-pr.outputs.run-from-pr }}
manually-triggered: ${{ steps.manually-triggered.outputs.manually-triggered }}
@@ -59,14 +59,9 @@ jobs:
coverage:
needs: should-run-check
name: Generate coverage report
runs-on: ubuntu-24.04
runs-on: ubuntu-latest
if: ${{ needs.should-run-check.outputs.run-from-pr == 'true' || needs.should-run-check.outputs.manually-triggered == 'true'}}
steps:
- name: Free disk space by removing .NET, Android and Haskell
shell: bash
run: |
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc
- name: Checkout sources
uses: actions/checkout@v4
with:

View File

@@ -3,20 +3,20 @@ on:
workflow_dispatch: # Manual trigger
pull_request:
paths:
- qt/res/app.organicmaps.desktop.desktop
- .forgejo/workflows/desktop-file-check.yaml # Run check on self change
- qt/res/app.comaps.comaps.desktop
- .forgejo/workflows/desktop-file-check.yaml # Run check on self change
jobs:
validate-desktop-file:
name: Validate .desktop file
runs-on: ubuntu-24.04
runs-on: codeberg-tiny
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
fetch-depth: 1
sparse-checkout: |
qt/res/app.organicmaps.desktop.desktop
qt/res/app.comaps.comaps.desktop
- name: Install desktop-file-validate tool
shell: bash
@@ -27,4 +27,4 @@ jobs:
- name: Validate desktop file
shell: bash
run: desktop-file-validate qt/res/app.organicmaps.desktop.desktop && echo "Successfully validated .desktop file"
run: desktop-file-validate qt/res/app.comaps.comaps.desktop && echo "Successfully validated .desktop file"

View File

@@ -66,6 +66,10 @@ jobs:
CERTIFICATES_DEV_P12: ${{ secrets.CERTIFICATES_DEV_P12 }}
CERTIFICATES_DISTR_P12: ${{ secrets.CERTIFICATES_DISTR_P12 }}
- name: Configure repository
shell: bash
run: ./configure.sh
- name: Compile and upload to TestFlight
run: |
echo "IOS_VERSION=$(../tools/unix/version.sh ios_version)-$(../tools/unix/version.sh ios_build)" >> "$GITHUB_ENV"

View File

@@ -10,7 +10,7 @@ on:
jobs:
ios-check-metadata:
name: Check app metadata
runs-on: ubuntu-latest
runs-on: codeberg-tiny
steps:
- name: Checkout
uses: actions/checkout@v4

View File

@@ -59,6 +59,10 @@ jobs:
shell: bash
run: git submodule update --depth 1 --init --recursive --jobs=$(($(sysctl -n hw.logicalcpu) * 20))
- name: Configure repository
shell: bash
run: ./configure.sh
- name: Configure XCode cache
uses: irgaly/xcode-cache@v1
with:

View File

@@ -31,18 +31,13 @@ on:
jobs:
linux-no-unity:
name: Linux no unity build
runs-on: ubuntu-24.04
runs-on: ubuntu-latest
# Cancels previous jobs if the same branch or PR was updated again.
concurrency:
group: ${{ github.workflow }}-no-unity-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
steps:
- name: Free disk space by removing .NET, Android and Haskell
shell: bash
run: |
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc
- name: Checkout sources
uses: actions/checkout@v4
with:
@@ -95,7 +90,7 @@ jobs:
linux-matrix:
name: Linux builds and tests
runs-on: ubuntu-24.04
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
@@ -107,11 +102,6 @@ jobs:
cancel-in-progress: true
steps:
- name: Free disk space by removing .NET, Android and Haskell
shell: bash
run: |
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc
- name: Checkout sources
uses: actions/checkout@v4

View File

@@ -37,6 +37,10 @@ jobs:
shell: bash
run: git submodule update --depth 1 --init --recursive --jobs=$(($(sysctl -n hw.logicalcpu) * 20))
- name: Configure repository
shell: bash
run: ./configure.sh
- name: Configure XCode cache
uses: irgaly/xcode-cache@v1
with:

17
.gitignore vendored
View File

@@ -14,12 +14,10 @@ stxxl.errlog
stxxl.log
screenlog.0
data/styles/*/*/out/*
data/resources-*_design/*
data/symbols/*/design/
# symbols png/sdf are now generated at build
data/resources-*_*/symbols.png
data/resources-*_*/symbols.sdf
data/drules_proto_default_design.bin
data/symbols/**/symbols.png
data/symbols/**/symbols.sdf
data/colors_design.txt
data/patterns_design.txt
data/bookmarks
@@ -28,6 +26,12 @@ data/World.mwm
data/WorldCoasts.mwm
data/world_mwm/*
data/*_hash
data/drules_proto*
data/classificator.txt
data/types.txt
data/visibility.txt
data/colors.txt
data/patterns.txt
# Compiled Python
*.pyc
@@ -48,8 +52,7 @@ omim.sdf
*.rc
!qt/res/windows.rc
*.pdb
out/*
qt/mapswithme.log
out/
# XCode
xcode/keys/*

View File

@@ -1 +1 @@
See [docs/INSTALL.md](docs/INSTALL.md)
See [docs/INSTALL.md](docs/INSTALL.md)

View File

@@ -125,10 +125,8 @@ You can help by donating, contributing code, translating, or by telling others a
- Build instructions: [docs/INSTALL.md](docs/INSTALL.md)
- Contribution guide: [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md)
> [!NOTE]
> Some docs might be outdated, contain broken links or old references to Organic Maps, etc. Its a work in progress and help is much appreciated!
There is a dedicated Zulip chat for active contributors: [Zulip](https://comaps.zulipchat.com)
There is a dedicated [Zulip](https://codeberg.org/comaps/Governance/src/branch/main/contribute.md#3-team-messaging) chat for active contributors.
---

View File

@@ -1 +1 @@
Navigation cartographique facile - Découvrez davantage de votre voyage - Propulsé par la communauté
Navigation cartographique facile - Vivez de grands voyages - Propulsé par la communauté

View File

@@ -0,0 +1 @@
Könnyű térképes navigáció - Fedezz fel többet az útjaidról - A közösség erejével

View File

@@ -0,0 +1 @@
Navegação fácil nos mapas - Descubra mais sobre o seu percurso - Feito por todos

View File

@@ -0,0 +1 @@
CoMaps - Mapas e Navegação - Offline e Privada

View File

@@ -1 +1 @@
Navigation cartographique facile - Découvrez davantage de votre voyage - Propulsé par la communauté
Navigation cartographique facile - Vivez de grands voyages - Propulsé par la communauté

View File

@@ -0,0 +1 @@
Könnyű térképes navigáció - Fedezz fel többet az útjaidról - A közösség erejével

View File

@@ -0,0 +1 @@
CoMaps - Az adatvédő navigáció

View File

@@ -0,0 +1 @@
കോമാപ്പ്സ് - സ്വകാര്യതയോടെ സഞ്ചരിക്കൂ

View File

@@ -0,0 +1 @@
CoMaps - Nawigacja szanująca prywatność

View File

@@ -7,12 +7,12 @@ Topluluğa katılın ve en iyi harita uygulamasını oluşturmamıza yardım edi
<i>Geri bildirimleriniz ve 5 yıldızlı yorumlarınız bizim için en iyi destektir!</i>
‣ <b>Basit ve Temiz</b>: Sadece temel, kullanımı basit, işe yarayan özellikler.
‣ <b>Çevrimdışı Odaklı</b>: Mobil veriye ihtiyaç duymadan yurt dışı seyahatinizi planlayın ve gezin, uzun bir yürüyüş sırasında rotanızdaki noktaları bulun ve daha fazlası . Tüm özellikler çevrimdışı çalışmak üzere tasarlanmıştır.
‣ <b>Basit ve Temiz</b>: Sadece temel, kullanımı basit ve işe yarayan özellikler.
‣ <b>Çevrimdışı Odaklı</b>: Mobil veriye ihtiyaç duymadan yurt dışı seyahatinizi planlayın ve gezin, uzun bir yürüyüş sırasında rotanızdaki noktaları bulun ve daha fazlası. Tüm özellikler çevrimdışı çalışmak üzere tasarlanmıştır.
‣ <b>Gizliliğe Saygılı</b>: Uygulama gizliliğe saygılı olarak tasarlanmıştır. Kullanıcı profilinizi çıkarmaz, sizi takip etmez ve kişisel bilgi toplamaz. Üstelik tamamen reklamsızdır.
‣ <b>Pil ve Depolamanızdan Tasarruf Eder</b>: Diğer navigasyon uygulamaları gibi pilinizi sömürmez. Compact maps değerli depolama alanınızdan tasarruf eder.
‣ <b>Ücretsizdir ve Gücünü Topluluktan Alır</b>: Sizin gibi insanlar OpenStreetMap'e yer ekleyerek, yeni özellikleri test ederek, geri bildirimde bulunarak, program geliştirme becerileri ve bağışlarla katkıda bulunarak uygulamanın oluşturulmasına yardımcı oldu.
‣ <b>Açık ve Şeffaf Şekilde Yürütülen Karar Alma ve Fonlama Süreçleri, Kâr Amacı Gütmez ve Tamamen Açık Kaynaklı.</b>
‣ <b>Pil ve Depolamanızdan Tasarruf Eder</b>: Diğer navigasyon uygulamaları gibi pilinizi sömürmez. Kompakt harita dosyaları, değerli depolama alanınızdan tasarruf eder.
‣ <b>Ücretsizdir ve Gücünü Topluluktan Alır</b>: Sizin gibi insanlar OpenStreetMap'e yer ekleyerek, yeni özellikleri test ederek, geri bildirimde bulunarak, program geliştirme becerileri ve bağışlarla katkıda bulunarak bu uygulamanın oluşturulmasına yardımcı oldular.
‣ <b>Açık ve Şeffaf Bir Şekilde Yürütülen Karar Alma ve Fonlama Süreçlerine Sahip, Kâr Amacı Gütmeyen ve Tamamen Açık Kaynaklı Bir Uygulama.</b>
<b>Ana Özellikler</b>:
• Google Haritalar'da bulunmayan yerleri içeren, çevrimdışı detaylı haritalar

View File

@@ -35,6 +35,7 @@ import app.organicmaps.sdk.bookmarks.data.BookmarkSharingResult;
import app.organicmaps.sdk.bookmarks.data.CategoryDataSource;
import app.organicmaps.sdk.bookmarks.data.Icon;
import app.organicmaps.sdk.bookmarks.data.KmlFileType;
import app.organicmaps.sdk.bookmarks.data.PredefinedColors;
import app.organicmaps.sdk.bookmarks.data.SortedBlock;
import app.organicmaps.sdk.bookmarks.data.Track;
import app.organicmaps.sdk.search.BookmarkSearchListener;
@@ -592,7 +593,7 @@ public class BookmarksListFragment extends BaseMwmRecyclerFragment<ConcatAdapter
if (mTrack == null)
return;
final Bundle args = new Bundle();
args.putInt(BookmarkColorDialogFragment.ICON_TYPE, Icon.getColorPosition(mTrack.getColor()));
args.putInt(BookmarkColorDialogFragment.ICON_TYPE, PredefinedColors.getPredefinedColorIndex(mTrack.getColor()));
final FragmentManager manager = getChildFragmentManager();
String className = BookmarkColorDialogFragment.class.getName();
final FragmentFactory factory = manager.getFragmentFactory();
@@ -601,7 +602,7 @@ public class BookmarksListFragment extends BaseMwmRecyclerFragment<ConcatAdapter
dialogFragment.setArguments(args);
dialogFragment.setOnColorSetListener((colorPos) -> {
int from = mTrack.getColor();
int to = BookmarkManager.ICONS.get(colorPos).argb();
int to = PredefinedColors.getColor(colorPos);
if (from == to)
return;
BookmarkManager.INSTANCE.changeTrackColor(mTrack.getTrackId(), to);

View File

@@ -7,16 +7,18 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import app.organicmaps.R;
import app.organicmaps.sdk.bookmarks.data.Icon;
import app.organicmaps.sdk.bookmarks.data.PredefinedColors;
import app.organicmaps.util.Graphics;
import com.google.android.material.imageview.ShapeableImageView;
import java.util.List;
import java.util.Objects;
public class IconsAdapter extends ArrayAdapter<Icon>
public class ColorsAdapter extends ArrayAdapter<Integer>
{
@PredefinedColors.Color
private int mCheckedIconColor;
public IconsAdapter(Context context, List<Icon> list)
public ColorsAdapter(Context context, List<Integer> list)
{
super(context, 0, 0, list);
}
@@ -35,19 +37,20 @@ public class IconsAdapter extends ArrayAdapter<Icon>
else
holder = (SpinnerViewHolder) convertView.getTag();
final Icon icon = getItem(position);
@PredefinedColors.Color
final int color = Objects.requireNonNull(getItem(position));
Drawable circle;
if (icon.getColor() == mCheckedIconColor)
if (color == mCheckedIconColor)
{
circle = Graphics.drawCircleAndImage(getItem(position).argb(), R.dimen.track_circle_size,
circle = Graphics.drawCircleAndImage(PredefinedColors.getColor(mCheckedIconColor), R.dimen.track_circle_size,
app.organicmaps.sdk.R.drawable.ic_bookmark_none, R.dimen.bookmark_icon_size,
getContext());
}
else
{
circle =
Graphics.drawCircle(getItem(position).argb(), R.dimen.select_color_circle_size, getContext().getResources());
circle = Graphics.drawCircle(PredefinedColors.getColor(color), R.dimen.select_color_circle_size,
getContext().getResources());
}
holder.icon.setImageDrawable(circle);
return convertView;

View File

@@ -9,7 +9,6 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import app.organicmaps.R;
@@ -19,6 +18,7 @@ import app.organicmaps.sdk.downloader.CountryItem;
import app.organicmaps.sdk.util.StringUtils;
import app.organicmaps.sdk.util.UiUtils;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.textview.MaterialTextView;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -93,9 +93,9 @@ abstract class BaseRoutingErrorDialogFragment extends BaseMwmDialogFragment
{
@SuppressLint("InflateParams")
final View countryView = View.inflate(requireActivity(), R.layout.dialog_missed_map, null);
((TextView) countryView.findViewById(R.id.tv__title)).setText(map.name);
((MaterialTextView) countryView.findViewById(R.id.tv__title)).setText(map.name);
final TextView szView = countryView.findViewById(R.id.tv__size);
final MaterialTextView szView = countryView.findViewById(R.id.tv__size);
szView.setText(StringUtils.getFileSizeString(requireContext(), map.totalSize));
ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams) szView.getLayoutParams();
lp.rightMargin = 0;

View File

@@ -8,11 +8,11 @@ import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.imageview.ShapeableImageView;
import com.google.android.material.textview.MaterialTextView;
import app.organicmaps.R;
import app.organicmaps.sdk.bookmarks.data.MapObject;
import app.organicmaps.sdk.routing.RouteMarkData;
@@ -232,16 +232,16 @@ public class ManageRouteAdapter extends RecyclerView.Adapter<ManageRouteAdapter.
public final View mItemView;
@NonNull
public final ImageView mImageViewIcon;
public final ShapeableImageView mImageViewIcon;
@NonNull
public final TextView mTextViewTitle;
public final MaterialTextView mTextViewTitle;
@NonNull
public final TextView mTextViewSubtitle;
public final MaterialTextView mTextViewSubtitle;
@NonNull
public final ImageView mImageViewDelete;
public final ShapeableImageView mImageViewDelete;
ManageRouteViewHolder(@NonNull View itemView)
{

View File

@@ -4,7 +4,6 @@ import android.location.Location;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
@@ -28,20 +27,22 @@ import app.organicmaps.widget.LanesView;
import app.organicmaps.widget.SpeedLimitView;
import app.organicmaps.widget.menu.NavMenu;
import com.google.android.material.bottomsheet.BottomSheetBehavior;
import com.google.android.material.imageview.ShapeableImageView;
import com.google.android.material.textview.MaterialTextView;
public class NavigationController implements TrafficManager.TrafficCallback, NavMenu.NavMenuListener
{
private final View mFrame;
private final ImageView mNextTurnImage;
private final TextView mNextTurnDistance;
private final TextView mCircleExit;
private final MaterialTextView mNextTurnDistance;
private final MaterialTextView mCircleExit;
private final View mNextNextTurnFrame;
private final ImageView mNextNextTurnImage;
private final View mStreetFrame;
private final TextView mNextStreet;
private final MaterialTextView mNextStreet;
@NonNull
private final LanesView mLanesView;

View File

@@ -60,7 +60,7 @@ final class RoutingBottomMenuController implements View.OnClickListener
@NonNull
private final View mTransitFrame;
@NonNull
private final TextView mError;
private final MaterialTextView mError;
@NonNull
private final Button mStart;
@NonNull
@@ -94,7 +94,7 @@ final class RoutingBottomMenuController implements View.OnClickListener
View altitudeChartFrame = getViewById(activity, frame, R.id.altitude_chart_panel);
View timeElevationLine = getViewById(activity, frame, R.id.time_elevation_line);
View transitFrame = getViewById(activity, frame, R.id.transit_panel);
TextView error = (TextView) getViewById(activity, frame, R.id.error);
MaterialTextView error = (MaterialTextView) getViewById(activity, frame, R.id.error);
Button start = (Button) getViewById(activity, frame, R.id.start);
ImageView altitudeChart = (ImageView) getViewById(activity, frame, R.id.altitude_chart);
MaterialTextView time = (MaterialTextView) getViewById(activity, frame, R.id.time);
@@ -117,7 +117,7 @@ final class RoutingBottomMenuController implements View.OnClickListener
private RoutingBottomMenuController(@NonNull Activity context, @NonNull View altitudeChartFrame,
@NonNull View timeElevationLine, @NonNull View transitFrame,
@NonNull TextView error, @NonNull Button start, @NonNull ImageView altitudeChart,
@NonNull MaterialTextView error, @NonNull Button start, @NonNull ImageView altitudeChart,
@NonNull MaterialTextView time, @NonNull MaterialTextView altitudeDifference,
@NonNull TextView timeVehicle, @Nullable MaterialTextView arrival,
@NonNull View actionFrame, @Nullable RoutingBottomMenuListener listener)
@@ -223,7 +223,7 @@ final class RoutingBottomMenuController implements View.OnClickListener
else
UiUtils.hide(rv); // Show only distance between start and finish
TextView totalTimeView = mTransitFrame.findViewById(R.id.total_time);
MaterialTextView totalTimeView = mTransitFrame.findViewById(R.id.total_time);
totalTimeView.setText(mContext.getString(R.string.placepage_distance) + ": " + totalLength.mDistanceStr + " "
+ totalLength.getUnitsStr(mContext));

View File

@@ -8,12 +8,12 @@ import android.text.TextUtils;
import android.util.Pair;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.FragmentFactory;
import androidx.fragment.app.FragmentManager;
import com.google.android.material.textview.MaterialTextView;
import app.organicmaps.R;
import app.organicmaps.sdk.downloader.CountryItem;
import app.organicmaps.sdk.downloader.MapManager;
@@ -38,7 +38,7 @@ public class RoutingErrorDialogFragment extends BaseRoutingErrorDialogFragment
if (!TextUtils.isEmpty(titleMessage.first))
{
TextView titleView = new TextView(requireContext());
MaterialTextView titleView = new MaterialTextView(requireContext());
titleView.setText(titleMessage.first);
titleView.setPadding(65, 32, 32, 16);
titleView.setTextSize(18);

View File

@@ -41,8 +41,6 @@ public enum BookmarkManager {
// These values have to match the values of kml::CompilationType from kml/types.hpp
public static final int CATEGORY = 0;
public static final List<Icon> ICONS = new ArrayList<>();
private static final String[] BOOKMARKS_EXTENSIONS = Framework.nativeGetBookmarksFilesExts();
private static final String TAG = BookmarkManager.class.getSimpleName();
@@ -70,26 +68,6 @@ public enum BookmarkManager {
@Nullable
private OnElevationActivePointChangedListener mOnElevationActivePointChangedListener;
static
{
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_RED, Icon.BOOKMARK_ICON_TYPE_NONE));
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_PINK, Icon.BOOKMARK_ICON_TYPE_NONE));
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_PURPLE, Icon.BOOKMARK_ICON_TYPE_NONE));
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_DEEPPURPLE, Icon.BOOKMARK_ICON_TYPE_NONE));
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_BLUE, Icon.BOOKMARK_ICON_TYPE_NONE));
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_LIGHTBLUE, Icon.BOOKMARK_ICON_TYPE_NONE));
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_CYAN, Icon.BOOKMARK_ICON_TYPE_NONE));
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_TEAL, Icon.BOOKMARK_ICON_TYPE_NONE));
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_GREEN, Icon.BOOKMARK_ICON_TYPE_NONE));
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_LIME, Icon.BOOKMARK_ICON_TYPE_NONE));
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_YELLOW, Icon.BOOKMARK_ICON_TYPE_NONE));
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_ORANGE, Icon.BOOKMARK_ICON_TYPE_NONE));
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_DEEPORANGE, Icon.BOOKMARK_ICON_TYPE_NONE));
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_BROWN, Icon.BOOKMARK_ICON_TYPE_NONE));
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_GRAY, Icon.BOOKMARK_ICON_TYPE_NONE));
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_BLUEGRAY, Icon.BOOKMARK_ICON_TYPE_NONE));
}
public void toggleCategoryVisibility(@NonNull BookmarkCategory category)
{
boolean isVisible = isVisible(category.getId());
@@ -342,7 +320,7 @@ public enum BookmarkManager {
nativeShowBookmarkCategoryOnMap(catId);
}
@Icon.PredefinedColor
@PredefinedColors.Color
public int getLastEditedColor()
{
return nativeGetLastEditedColor();
@@ -618,7 +596,7 @@ public enum BookmarkManager {
return nativeGetBookmarkXY(bookmarkId);
}
@Icon.PredefinedColor
@PredefinedColors.Color
public int getBookmarkColor(@IntRange(from = 0) long bookmarkId)
{
return nativeGetBookmarkColor(bookmarkId);
@@ -652,7 +630,7 @@ public enum BookmarkManager {
}
public void setBookmarkParams(@IntRange(from = 0) long bookmarkId, @NonNull String name,
@Icon.PredefinedColor int color, @NonNull String descr)
@PredefinedColors.Color int color, @NonNull String descr)
{
nativeSetBookmarkParams(bookmarkId, name, color, descr);
}
@@ -808,7 +786,7 @@ public enum BookmarkManager {
@Nullable
private native Bookmark nativeAddBookmarkToLastEditedCategory(double lat, double lon);
@Icon.PredefinedColor
@PredefinedColors.Color
private native int nativeGetLastEditedColor();
private static native void nativeLoadBookmarksFile(@NonNull String path, boolean isTemporaryFile);
@@ -874,7 +852,7 @@ public enum BookmarkManager {
@NonNull
private static native ParcelablePointD nativeGetBookmarkXY(@IntRange(from = 0) long bookmarkId);
@Icon.PredefinedColor
@PredefinedColors.Color
private static native int nativeGetBookmarkColor(@IntRange(from = 0) long bookmarkId);
private static native int nativeGetBookmarkIcon(@IntRange(from = 0) long bookmarkId);
@@ -889,12 +867,13 @@ public enum BookmarkManager {
private static native String nativeEncode2Ge0Url(@IntRange(from = 0) long bookmarkId, boolean addName);
private static native void nativeSetBookmarkParams(@IntRange(from = 0) long bookmarkId, @NonNull String name,
@Icon.PredefinedColor int color, @NonNull String descr);
@PredefinedColors.Color int color, @NonNull String descr);
private static native void nativeChangeTrackColor(@IntRange(from = 0) long trackId, @Icon.PredefinedColor int color);
private static native void nativeChangeTrackColor(@IntRange(from = 0) long trackId,
@PredefinedColors.Color int color);
private static native void nativeSetTrackParams(@IntRange(from = 0) long trackId, @NonNull String name,
@Icon.PredefinedColor int color, @NonNull String descr);
@PredefinedColors.Color int color, @NonNull String descr);
private static native void nativeChangeBookmarkCategory(@IntRange(from = 0) long oldCatId,
@IntRange(from = 0) long newCatId,

View File

@@ -2,71 +2,13 @@ package app.organicmaps.sdk.bookmarks.data;
import android.os.Parcel;
import android.os.Parcelable;
import androidx.annotation.ColorInt;
import androidx.annotation.DrawableRes;
import androidx.annotation.IntDef;
import app.organicmaps.sdk.R;
import com.google.common.base.Objects;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
public class Icon implements Parcelable
{
@Retention(RetentionPolicy.SOURCE)
@IntDef({PREDEFINED_COLOR_NONE, PREDEFINED_COLOR_RED, PREDEFINED_COLOR_BLUE, PREDEFINED_COLOR_PURPLE,
PREDEFINED_COLOR_YELLOW, PREDEFINED_COLOR_PINK, PREDEFINED_COLOR_BROWN, PREDEFINED_COLOR_GREEN,
PREDEFINED_COLOR_ORANGE, PREDEFINED_COLOR_DEEPPURPLE, PREDEFINED_COLOR_LIGHTBLUE, PREDEFINED_COLOR_CYAN,
PREDEFINED_COLOR_TEAL, PREDEFINED_COLOR_LIME, PREDEFINED_COLOR_DEEPORANGE, PREDEFINED_COLOR_GRAY,
PREDEFINED_COLOR_BLUEGRAY})
@interface PredefinedColor
{}
static final int PREDEFINED_COLOR_NONE = 0;
static final int PREDEFINED_COLOR_RED = 1;
static final int PREDEFINED_COLOR_BLUE = 2;
static final int PREDEFINED_COLOR_PURPLE = 3;
static final int PREDEFINED_COLOR_YELLOW = 4;
static final int PREDEFINED_COLOR_PINK = 5;
static final int PREDEFINED_COLOR_BROWN = 6;
static final int PREDEFINED_COLOR_GREEN = 7;
static final int PREDEFINED_COLOR_ORANGE = 8;
static final int PREDEFINED_COLOR_DEEPPURPLE = 9;
static final int PREDEFINED_COLOR_LIGHTBLUE = 10;
static final int PREDEFINED_COLOR_CYAN = 11;
static final int PREDEFINED_COLOR_TEAL = 12;
static final int PREDEFINED_COLOR_LIME = 13;
static final int PREDEFINED_COLOR_DEEPORANGE = 14;
static final int PREDEFINED_COLOR_GRAY = 15;
static final int PREDEFINED_COLOR_BLUEGRAY = 16;
private static int shift(int v, int bitCount)
{
return v << bitCount;
}
private static int toARGB(int r, int g, int b)
{
return shift(255, 24) + shift(r, 16) + shift(g, 8) + b;
}
/// @note Important! Should be synced with kml/types.hpp/PredefinedColor
/// @todo Values can be taken from Core.
private static final int[] ARGB_COLORS = {toARGB(229, 27, 35), // none
toARGB(229, 27, 35), // red
toARGB(0, 110, 199), // blue
toARGB(156, 39, 176), // purple
toARGB(255, 200, 0), // yellow
toARGB(255, 65, 130), // pink
toARGB(121, 85, 72), // brown
toARGB(56, 142, 60), // green
toARGB(255, 160, 0), // orange
toARGB(102, 57, 191), // deeppurple
toARGB(36, 156, 242), // lightblue
toARGB(20, 190, 205), // cyan
toARGB(0, 165, 140), // teal
toARGB(147, 191, 57), // lime
toARGB(240, 100, 50), // deeporange
toARGB(115, 115, 115), // gray
toARGB(89, 115, 128)}; // bluegray
static final int BOOKMARK_ICON_TYPE_NONE = 0;
/// @note Important! Should be synced with kml/types.hpp/BookmarkIcon
@@ -98,11 +40,16 @@ public class Icon implements Parcelable
R.drawable.ic_bookmark_none // FastFood
};
@PredefinedColor
@PredefinedColors.Color
private final int mColor;
private final int mType;
public Icon(@PredefinedColor int color, int type)
public Icon(@PredefinedColors.Color int color)
{
this(color, BOOKMARK_ICON_TYPE_NONE);
}
public Icon(@PredefinedColors.Color int color, int type)
{
mColor = color;
mType = type;
@@ -127,25 +74,16 @@ public class Icon implements Parcelable
mType = in.readInt();
}
@PredefinedColor
@PredefinedColors.Color
public int getColor()
{
return mColor;
}
@ColorInt
public int argb()
{
return ARGB_COLORS[mColor];
}
public static int getColorPosition(int color)
{
for (int index = 1; index < ARGB_COLORS.length; index++)
{
if (ARGB_COLORS[index] == color)
return index;
}
return -1;
return PredefinedColors.getColor(mColor);
}
@DrawableRes

View File

@@ -0,0 +1,50 @@
package app.organicmaps.sdk.bookmarks.data;
import androidx.annotation.ColorInt;
import androidx.annotation.IntRange;
import androidx.annotation.NonNull;
import dalvik.annotation.optimization.FastNative;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.List;
import java.util.stream.IntStream;
public class PredefinedColors
{
@Retention(RetentionPolicy.SOURCE)
@IntRange(from = 0)
public @interface Color
{}
/// @note Color format: ARGB
@ColorInt
private static final int[] PREDEFINED_COLORS = nativeGetPredefinedColors();
@ColorInt
public static int getColor(int index)
{
return PREDEFINED_COLORS[index];
}
@PredefinedColors.Color
public static List<Integer> getAllPredefinedColors()
{
// 0 is reserved for "no color" option.
return IntStream.range(1, PREDEFINED_COLORS.length).boxed().toList();
}
public static int getPredefinedColorIndex(@ColorInt int color)
{
// 0 is reserved for "no color" option.
for (int index = 1; index < PREDEFINED_COLORS.length; index++)
{
if (PREDEFINED_COLORS[index] == color)
return index;
}
return -1;
}
@FastNative
@NonNull
private static native int[] nativeGetPredefinedColors();
}

View File

@@ -240,7 +240,8 @@ public class SearchToolbarController extends ToolbarController implements View.O
}
@NonNull
public OnBackPressedCallback getBackPressedCallback() {
public OnBackPressedCallback getBackPressedCallback()
{
return mBackPressedCallback;
}
}

View File

@@ -5,7 +5,6 @@ import android.util.Pair;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
@@ -19,6 +18,7 @@ import app.organicmaps.util.Graphics;
import app.organicmaps.util.ThemeUtils;
import com.google.android.material.bottomsheet.BottomSheetBehavior;
import com.google.android.material.progressindicator.LinearProgressIndicator;
import com.google.android.material.textview.MaterialTextView;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.concurrent.TimeUnit;
@@ -31,15 +31,15 @@ public class NavMenu
private final ImageView mTts;
private final View mSpeedViewContainer;
private final TextView mSpeedValue;
private final TextView mSpeedUnits;
private final TextView mTimeHourValue;
private final TextView mTimeHourUnits;
private final TextView mTimeMinuteValue;
private final TextView mTimeMinuteUnits;
private final TextView mTimeEstimate;
private final TextView mDistanceValue;
private final TextView mDistanceUnits;
private final MaterialTextView mSpeedValue;
private final MaterialTextView mSpeedUnits;
private final MaterialTextView mTimeHourValue;
private final MaterialTextView mTimeHourUnits;
private final MaterialTextView mTimeMinuteValue;
private final MaterialTextView mTimeMinuteUnits;
private final MaterialTextView mTimeEstimate;
private final MaterialTextView mDistanceValue;
private final MaterialTextView mDistanceUnits;
private final LinearProgressIndicator mRouteProgress;
private final AppCompatActivity mActivity;

View File

@@ -9,9 +9,8 @@ import android.widget.GridView;
import androidx.annotation.NonNull;
import app.organicmaps.R;
import app.organicmaps.base.BaseMwmDialogFragment;
import app.organicmaps.bookmarks.IconsAdapter;
import app.organicmaps.sdk.bookmarks.data.BookmarkManager;
import app.organicmaps.sdk.bookmarks.data.Icon;
import app.organicmaps.bookmarks.ColorsAdapter;
import app.organicmaps.sdk.bookmarks.data.PredefinedColors;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import java.util.List;
@@ -19,11 +18,12 @@ public class BookmarkColorDialogFragment extends BaseMwmDialogFragment
{
public static final String ICON_TYPE = "ExtraIconType";
@PredefinedColors.Color
private int mIconColor;
public interface OnBookmarkColorChangeListener
{
void onBookmarkColorSet(int colorPos);
void onBookmarkColorSet(@PredefinedColors.Color int color);
}
private OnBookmarkColorChangeListener mColorSetListener;
@@ -49,19 +49,20 @@ public class BookmarkColorDialogFragment extends BaseMwmDialogFragment
mColorSetListener = listener;
}
@NonNull
private View buildView()
{
final List<Icon> icons = BookmarkManager.ICONS;
final IconsAdapter adapter = new IconsAdapter(requireActivity(), icons);
final List<Integer> colors = PredefinedColors.getAllPredefinedColors();
final ColorsAdapter adapter = new ColorsAdapter(requireActivity(), colors);
adapter.chooseItem(mIconColor);
@SuppressLint("InflateParams")
final GridView gView =
(GridView) LayoutInflater.from(requireActivity()).inflate(R.layout.fragment_color_grid, null);
gView.setAdapter(adapter);
gView.setOnItemClickListener((arg0, who, pos, id) -> {
gView.setOnItemClickListener((parent, view, pos, id) -> {
if (mColorSetListener != null)
mColorSetListener.onBookmarkColorSet(pos);
mColorSetListener.onBookmarkColorSet(adapter.getItem(pos));
dismiss();
});

View File

@@ -5,7 +5,6 @@ import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import app.organicmaps.MwmActivity;
@@ -21,16 +20,17 @@ import app.organicmaps.sdk.util.StringUtils;
import app.organicmaps.sdk.util.UiUtils;
import app.organicmaps.util.Utils;
import app.organicmaps.widget.ArrowView;
import com.google.android.material.textview.MaterialTextView;
public class DirectionFragment extends BaseMwmDialogFragment implements LocationListener, SensorListener
{
private static final String EXTRA_MAP_OBJECT = "MapObject";
private ArrowView mAvDirection;
private TextView mTvTitle;
private TextView mTvSubtitle;
private TextView mTvDistance;
private TextView mTvAzimuth;
private MaterialTextView mTvTitle;
private MaterialTextView mTvSubtitle;
private MaterialTextView mTvDistance;
private MaterialTextView mTvAzimuth;
private MapObject mMapObject;

View File

@@ -24,6 +24,7 @@ import app.organicmaps.sdk.bookmarks.data.BookmarkCategory;
import app.organicmaps.sdk.bookmarks.data.BookmarkInfo;
import app.organicmaps.sdk.bookmarks.data.BookmarkManager;
import app.organicmaps.sdk.bookmarks.data.Icon;
import app.organicmaps.sdk.bookmarks.data.PredefinedColors;
import app.organicmaps.sdk.bookmarks.data.Track;
import app.organicmaps.sdk.util.UiUtils;
import app.organicmaps.util.Graphics;
@@ -304,7 +305,7 @@ public class EditBookmarkFragment extends BaseMwmDialogFragment implements View.
final Bundle args = new Bundle();
if (mTrack != null)
args.putInt(BookmarkColorDialogFragment.ICON_TYPE, mTrack.getColor());
args.putInt(BookmarkColorDialogFragment.ICON_TYPE, PredefinedColors.getPredefinedColorIndex(mColor));
else
args.putInt(BookmarkColorDialogFragment.ICON_TYPE, mIcon.getColor());
final FragmentManager manager = getChildFragmentManager();
@@ -317,17 +318,16 @@ public class EditBookmarkFragment extends BaseMwmDialogFragment implements View.
{
case TYPE_BOOKMARK ->
dialogFragment.setOnColorSetListener(colorPos -> {
final Icon newIcon = BookmarkManager.ICONS.get(colorPos);
if (mIcon.getColor() == newIcon.getColor())
if (mIcon != null && mIcon.getColor() == colorPos)
return;
mIcon = newIcon;
mIcon = new Icon(colorPos);
refreshColorMarker();
});
case TYPE_TRACK ->
dialogFragment.setOnColorSetListener(colorPos -> {
int from = mTrack.getColor();
int to = BookmarkManager.ICONS.get(colorPos).argb();
int to = PredefinedColors.getColor(colorPos);
if (from == to)
return;
mColor = to;
@@ -342,9 +342,9 @@ public class EditBookmarkFragment extends BaseMwmDialogFragment implements View.
{
if (mIcon != null)
{
Drawable circle =
Graphics.drawCircleAndImage(mIcon.argb(), R.dimen.track_circle_size, app.organicmaps.sdk.R.drawable.ic_bookmark_none,
R.dimen.bookmark_icon_size, requireContext());
Drawable circle = Graphics.drawCircleAndImage(mIcon.argb(), R.dimen.track_circle_size,
app.organicmaps.sdk.R.drawable.ic_bookmark_none,
R.dimen.bookmark_icon_size, requireContext());
mIvColor.setImageDrawable(circle);
}
}

View File

@@ -26,6 +26,7 @@ import app.organicmaps.R;
import app.organicmaps.api.Const;
import app.organicmaps.intent.Factory;
import app.organicmaps.routing.RoutingController;
import app.organicmaps.sdk.ChoosePositionMode;
import app.organicmaps.sdk.Framework;
import app.organicmaps.sdk.bookmarks.data.BookmarkManager;
import app.organicmaps.sdk.bookmarks.data.MapObject;
@@ -33,7 +34,6 @@ import app.organicmaps.sdk.bookmarks.data.RoadWarningMarkType;
import app.organicmaps.sdk.settings.RoadType;
import app.organicmaps.sdk.util.UiUtils;
import app.organicmaps.sdk.util.log.Logger;
import app.organicmaps.sdk.ChoosePositionMode;
import app.organicmaps.util.ThemeUtils;
import app.organicmaps.util.bottomsheet.MenuBottomSheetFragment;
import app.organicmaps.util.bottomsheet.MenuBottomSheetItem;

View File

@@ -619,7 +619,7 @@ public class PlacePageView extends Fragment
private void addOrganisation()
{
((MwmActivity) requireActivity()).showPositionChooserForEditor(true, false);
((MwmActivity) requireActivity()).showPositionChooserForEditor(true, true);
}
private void addPlace()

View File

@@ -14,10 +14,10 @@ import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.RecyclerView;
import app.organicmaps.R;
import app.organicmaps.editor.data.TimeFormatUtils;
import app.organicmaps.sdk.bookmarks.data.MapObject;
import app.organicmaps.sdk.bookmarks.data.Metadata;
import app.organicmaps.sdk.editor.OpeningHours;
import app.organicmaps.editor.data.TimeFormatUtils;
import app.organicmaps.sdk.editor.data.Timespan;
import app.organicmaps.sdk.editor.data.Timetable;
import app.organicmaps.sdk.util.UiUtils;

View File

@@ -4,7 +4,7 @@
<size
android:width="40dp"
android:height="40dp" />
<solid android:color="#2E89B0" />
<solid android:color="#427BB8" />
</shape>
</item>
<item>

View File

@@ -5,7 +5,7 @@
<size
android:width="40dp"
android:height="40dp" />
<solid android:color="#14A0C2" />
<solid android:color="#54A3B6" />
</shape>
</item>
<item>

View File

@@ -11,7 +11,7 @@
<path
android:pathData="M14,13m-11,0a11,11 0,1 1,22 0a11,11 0,1 1,-22 0"
android:strokeWidth="2"
android:fillColor="#006c35"
android:fillColor="#FF37653F"
android:strokeColor="#fff"/>
<path
android:pathData="m15.251,17h-1.693v-6.527l-2.022,0.627v-1.377l3.533,-1.266h0.182z"

View File

@@ -11,7 +11,7 @@
<path
android:pathData="M14,13m-11,0a11,11 0,1 1,22 0a11,11 0,1 1,-22 0"
android:strokeWidth="2"
android:fillColor="#006c35"
android:fillColor="#FF37653F"
android:strokeColor="#fff"/>
<path
android:pathData="m16.985,17h-5.848v-1.16l2.76,-2.941q0.568,-0.621 0.838,-1.084 0.275,-0.463 0.275,-0.879 0,-0.568 -0.287,-0.891 -0.287,-0.328 -0.82,-0.328 -0.574,0 -0.908,0.398 -0.328,0.393 -0.328,1.037h-1.699q0,-0.779 0.369,-1.424 0.375,-0.645 1.055,-1.008 0.68,-0.369 1.541,-0.369 1.318,0 2.045,0.633 0.732,0.633 0.732,1.787 0,0.633 -0.328,1.289t-1.125,1.529l-1.939,2.045h3.668z"

View File

@@ -11,7 +11,7 @@
<path
android:pathData="M14,13m-11,0a11,11 0,1 1,22 0a11,11 0,1 1,-22 0"
android:strokeWidth="2"
android:fillColor="#006c35"
android:fillColor="#FF37653F"
android:strokeColor="#fff"/>
<path
android:pathData="m12.86,11.984h0.902q0.645,0 0.955,-0.322 0.311,-0.322 0.311,-0.855 0,-0.516 -0.311,-0.803 -0.305,-0.287 -0.844,-0.287 -0.486,0 -0.814,0.27 -0.328,0.264 -0.328,0.691h-1.693q0,-0.668 0.357,-1.195 0.363,-0.533 1.008,-0.832 0.65,-0.299 1.43,-0.299 1.354,0 2.121,0.65 0.768,0.645 0.768,1.781 0,0.586 -0.357,1.078 -0.357,0.492 -0.938,0.756 0.721,0.258 1.072,0.773 0.357,0.516 0.357,1.219 0,1.137 -0.832,1.822 -0.826,0.686 -2.191,0.686 -1.277,0 -2.092,-0.674 -0.809,-0.674 -0.809,-1.781h1.693q0,0.48 0.357,0.785 0.363,0.305 0.891,0.305 0.604,0 0.943,-0.316 0.346,-0.322 0.346,-0.85 0,-1.277 -1.406,-1.277h-0.896z"

View File

@@ -11,7 +11,7 @@
<path
android:pathData="M14,13m-11,0a11,11 0,1 1,22 0a11,11 0,1 1,-22 0"
android:strokeWidth="2"
android:fillColor="#006c35"
android:fillColor="#FF37653F"
android:strokeColor="#fff"/>
<path
android:pathData="m16.147,13.789h0.967v1.365h-0.967v1.846h-1.693v-1.846h-3.498l-0.076,-1.066 3.557,-5.619h1.711zM12.567,13.789h1.887v-3.012l-0.111,0.193z"

View File

@@ -11,7 +11,7 @@
<path
android:pathData="M14,13m-11,0a11,11 0,1 1,22 0a11,11 0,1 1,-22 0"
android:strokeWidth="2"
android:fillColor="#006c35"
android:fillColor="#FF37653F"
android:strokeColor="#fff"/>
<path
android:pathData="m11.39,12.805 l0.492,-4.336h4.781v1.412h-3.393l-0.211,1.834q0.604,-0.322 1.283,-0.322 1.219,0 1.91,0.756 0.691,0.756 0.691,2.115 0,0.826 -0.352,1.482 -0.346,0.65 -0.996,1.014 -0.65,0.357 -1.535,0.357 -0.773,0 -1.436,-0.311 -0.662,-0.316 -1.049,-0.885 -0.381,-0.568 -0.404,-1.295h1.676q0.053,0.533 0.369,0.832 0.322,0.293 0.838,0.293 0.574,0 0.885,-0.41 0.311,-0.416 0.311,-1.172 0,-0.727 -0.357,-1.113 -0.357,-0.387 -1.014,-0.387 -0.604,0 -0.979,0.316l-0.164,0.152z"

View File

@@ -11,7 +11,7 @@
<path
android:pathData="M14,13m-11,0a11,11 0,1 1,22 0a11,11 0,1 1,-22 0"
android:strokeWidth="2"
android:fillColor="#006c35"
android:fillColor="#FF37653F"
android:strokeColor="#fff"/>
<path
android:pathData="m15.731,8.381v1.395h-0.164q-1.148,0.018 -1.852,0.598 -0.697,0.58 -0.838,1.611 0.68,-0.691 1.717,-0.691 1.113,0 1.77,0.797t0.656,2.098q0,0.832 -0.363,1.506 -0.357,0.674 -1.02,1.049 -0.656,0.375 -1.488,0.375 -1.348,0 -2.18,-0.938 -0.826,-0.938 -0.826,-2.502v-0.609q0,-1.389 0.521,-2.449 0.527,-1.066 1.506,-1.646 0.984,-0.586 2.279,-0.592zM14.079,12.652q-0.41,0 -0.744,0.217 -0.334,0.211 -0.492,0.563v0.516q0,0.85 0.334,1.33 0.334,0.475 0.938,0.475 0.545,0 0.879,-0.428 0.34,-0.434 0.34,-1.119 0,-0.697 -0.34,-1.125 -0.34,-0.428 -0.914,-0.428z"

View File

@@ -11,7 +11,7 @@
<path
android:pathData="M14,13m-11,0a11,11 0,1 1,22 0a11,11 0,1 1,-22 0"
android:strokeWidth="2"
android:fillColor="#006c35"
android:fillColor="#FF37653F"
android:strokeColor="#fff"/>
<path
android:pathData="m16.938,9.418 l-3.299,7.582h-1.787l3.305,-7.16h-4.242v-1.371h6.023z"

View File

@@ -11,7 +11,7 @@
<path
android:pathData="M14,13m-11,0a11,11 0,1 1,22 0a11,11 0,1 1,-22 0"
android:strokeWidth="2"
android:fillColor="#006c35"
android:fillColor="#FF37653F"
android:strokeColor="#fff"/>
<path
android:pathData="m16.698,10.736q0,0.621 -0.311,1.102 -0.311,0.48 -0.855,0.768 0.621,0.299 0.984,0.826 0.363,0.521 0.363,1.23 0,1.137 -0.773,1.799 -0.773,0.656 -2.103,0.656t-2.109,-0.662 -0.779,-1.793q0,-0.709 0.363,-1.236 0.363,-0.527 0.979,-0.82 -0.545,-0.287 -0.855,-0.768 -0.305,-0.48 -0.305,-1.102 0,-1.09 0.727,-1.734 0.727,-0.65 1.975,-0.65 1.242,0 1.969,0.645 0.732,0.639 0.732,1.74zM15.18,14.539q0,-0.557 -0.322,-0.891 -0.322,-0.334 -0.867,-0.334 -0.539,0 -0.861,0.334 -0.322,0.328 -0.322,0.891 0,0.545 0.316,0.879 0.316,0.334 0.879,0.334 0.551,0 0.861,-0.322 0.316,-0.322 0.316,-0.891zM15.005,10.818q0,-0.498 -0.264,-0.797 -0.264,-0.305 -0.744,-0.305 -0.475,0 -0.738,0.293 -0.264,0.293 -0.264,0.809 0,0.51 0.264,0.82t0.744,0.311q0.48,0 0.738,-0.311 0.264,-0.311 0.264,-0.82z"

View File

@@ -11,7 +11,7 @@
<path
android:pathData="M14,13m-11,0a11,11 0,1 1,22 0a11,11 0,1 1,-22 0"
android:strokeWidth="2"
android:fillColor="#006c35"
android:fillColor="#FF37653F"
android:strokeColor="#fff"/>
<path
android:pathData="m15.099,13.59q-0.662,0.65 -1.547,0.65 -1.131,0 -1.811,-0.773 -0.68,-0.779 -0.68,-2.098 0,-0.838 0.363,-1.535 0.369,-0.703 1.025,-1.09 0.656,-0.393 1.477,-0.393 0.844,0 1.5,0.422t1.02,1.213q0.363,0.791 0.369,1.811v0.627q0,2.133 -1.061,3.352t-3.006,1.301l-0.416,0.006v-1.412l0.375,-0.006q2.209,-0.1 2.391,-2.074zM13.968,12.945q0.41,0 0.703,-0.211 0.299,-0.211 0.451,-0.51v-0.697q0,-0.861 -0.328,-1.336 -0.328,-0.475 -0.879,-0.475 -0.51,0 -0.838,0.469 -0.328,0.463 -0.328,1.166 0,0.697 0.316,1.148 0.322,0.445 0.902,0.445z"

View File

@@ -11,7 +11,7 @@
<path
android:pathData="M14,13m-11,0a11,11 0,1 1,22 0a11,11 0,1 1,-22 0"
android:strokeWidth="2"
android:fillColor="#006c35"
android:fillColor="#FF37653F"
android:strokeColor="#fff"/>
<path
android:pathData="m11.809,17h-1.693v-6.527l-2.022,0.627v-1.377l3.533,-1.266h0.182zM20.323,13.473q0,1.77 -0.732,2.707 -0.732,0.938 -2.145,0.938 -1.395,0 -2.133,-0.92 -0.738,-0.92 -0.756,-2.637v-1.57q0,-1.787 0.738,-2.713 0.744,-0.926 2.139,-0.926 1.395,0 2.133,0.92 0.738,0.914 0.756,2.631zM18.629,11.75q0,-1.061 -0.293,-1.541 -0.287,-0.486 -0.902,-0.486 -0.598,0 -0.885,0.463 -0.281,0.457 -0.299,1.436v2.074q0,1.043 0.281,1.553 0.287,0.504 0.914,0.504 0.621,0 0.896,-0.486 0.275,-0.486 0.287,-1.488z"

View File

@@ -11,7 +11,7 @@
<path
android:pathData="M14,13m-11,0a11,11 0,1 1,22 0a11,11 0,1 1,-22 0"
android:strokeWidth="2"
android:fillColor="#006c35"
android:fillColor="#FF37653F"
android:strokeColor="#fff"/>
<path
android:pathData="m11.809,17h-1.693v-6.527l-2.022,0.627v-1.377l3.533,-1.266h0.182zM18.694,17h-1.693v-6.527l-2.022,0.627v-1.377l3.533,-1.266h0.182z"

View File

@@ -11,7 +11,7 @@
<path
android:pathData="M14,13m-11,0a11,11 0,1 1,22 0a11,11 0,1 1,-22 0"
android:strokeWidth="2"
android:fillColor="#006c35"
android:fillColor="#FF37653F"
android:strokeColor="#fff"/>
<path
android:pathData="m11.809,17h-1.693v-6.527l-2.022,0.627v-1.377l3.533,-1.266h0.182zM20.428,17h-5.848v-1.16l2.76,-2.941q0.568,-0.621 0.838,-1.084 0.275,-0.463 0.275,-0.879 0,-0.568 -0.287,-0.891 -0.287,-0.328 -0.82,-0.328 -0.574,0 -0.908,0.398 -0.328,0.393 -0.328,1.037h-1.699q0,-0.779 0.369,-1.424 0.375,-0.645 1.055,-1.008 0.68,-0.369 1.541,-0.369 1.318,0 2.045,0.633 0.732,0.633 0.732,1.787 0,0.633 -0.328,1.289t-1.125,1.529l-1.939,2.045h3.668z"

View File

@@ -11,7 +11,7 @@
<path
android:pathData="M14,13m-11,0a11,11 0,1 1,22 0a11,11 0,1 1,-22 0"
android:strokeWidth="2"
android:fillColor="#006c35"
android:fillColor="#FF37653F"
android:strokeColor="#fff"/>
<path
android:pathData="m11.809,17h-1.693v-6.527l-2.022,0.627v-1.377l3.533,-1.266h0.182zM16.303,11.984h0.902q0.645,0 0.955,-0.322 0.311,-0.322 0.311,-0.855 0,-0.516 -0.311,-0.803 -0.305,-0.287 -0.844,-0.287 -0.486,0 -0.814,0.27 -0.328,0.264 -0.328,0.691h-1.693q0,-0.668 0.357,-1.195 0.363,-0.533 1.008,-0.832 0.65,-0.299 1.43,-0.299 1.354,0 2.121,0.65 0.768,0.645 0.768,1.781 0,0.586 -0.357,1.078 -0.357,0.492 -0.938,0.756 0.721,0.258 1.072,0.773 0.357,0.516 0.357,1.219 0,1.137 -0.832,1.822 -0.826,0.686 -2.191,0.686 -1.277,0 -2.092,-0.674 -0.809,-0.674 -0.809,-1.781h1.693q0,0.48 0.357,0.785 0.363,0.305 0.891,0.305 0.604,0 0.943,-0.316 0.346,-0.322 0.346,-0.85 0,-1.277 -1.406,-1.277h-0.896z"

View File

@@ -11,7 +11,7 @@
<path
android:pathData="M14,13m-11,0a11,11 0,1 1,22 0a11,11 0,1 1,-22 0"
android:strokeWidth="2"
android:fillColor="#006c35"
android:fillColor="#FF37653F"
android:strokeColor="#fff"/>
<path
android:pathData="m11.809,17h-1.693v-6.527l-2.022,0.627v-1.377l3.533,-1.266h0.182zM19.59,13.789h0.967v1.365h-0.967v1.846h-1.693v-1.846h-3.498l-0.076,-1.066 3.557,-5.619h1.711zM16.01,13.789h1.887v-3.012l-0.111,0.193z"

View File

@@ -11,7 +11,7 @@
<path
android:pathData="M14,13m-11,0a11,11 0,1 1,22 0a11,11 0,1 1,-22 0"
android:strokeWidth="2"
android:fillColor="#006c35"
android:fillColor="#FF37653F"
android:strokeColor="#fff"/>
<path
android:pathData="m11.809,17h-1.693v-6.527l-2.022,0.627v-1.377l3.533,-1.266h0.182zM14.832,12.805 L15.325,8.469h4.781v1.412h-3.393l-0.211,1.834q0.604,-0.322 1.283,-0.322 1.219,0 1.91,0.756 0.691,0.756 0.691,2.115 0,0.826 -0.352,1.482 -0.346,0.65 -0.996,1.014 -0.65,0.357 -1.535,0.357 -0.773,0 -1.436,-0.311 -0.662,-0.316 -1.049,-0.885 -0.381,-0.568 -0.404,-1.295h1.676q0.053,0.533 0.369,0.832 0.322,0.293 0.838,0.293 0.574,0 0.885,-0.41 0.311,-0.416 0.311,-1.172 0,-0.727 -0.357,-1.113 -0.357,-0.387 -1.014,-0.387 -0.604,0 -0.979,0.316l-0.164,0.152z"

View File

@@ -11,7 +11,7 @@
<path
android:pathData="M14,13m-11,0a11,11 0,1 1,22 0a11,11 0,1 1,-22 0"
android:strokeWidth="2"
android:fillColor="#006c35"
android:fillColor="#FF37653F"
android:strokeColor="#fff"/>
<path
android:pathData="m11.809,17h-1.693v-6.527l-2.022,0.627v-1.377l3.533,-1.266h0.182zM19.174,8.381v1.395h-0.164q-1.148,0.018 -1.852,0.598 -0.697,0.58 -0.838,1.611 0.68,-0.691 1.717,-0.691 1.113,0 1.77,0.797t0.656,2.098q0,0.832 -0.363,1.506 -0.357,0.674 -1.02,1.049 -0.656,0.375 -1.488,0.375 -1.348,0 -2.18,-0.938 -0.826,-0.938 -0.826,-2.502v-0.609q0,-1.389 0.521,-2.449 0.527,-1.066 1.506,-1.646 0.984,-0.586 2.279,-0.592zM17.522,12.652q-0.41,0 -0.744,0.217 -0.334,0.211 -0.492,0.563v0.516q0,0.85 0.334,1.33 0.334,0.475 0.938,0.475 0.545,0 0.879,-0.428 0.34,-0.434 0.34,-1.119 0,-0.697 -0.34,-1.125 -0.34,-0.428 -0.914,-0.428z"

View File

@@ -11,7 +11,7 @@
<path
android:pathData="M14,13m-11,0a11,11 0,1 1,22 0a11,11 0,1 1,-22 0"
android:strokeWidth="2"
android:fillColor="#006c35"
android:fillColor="#FF37653F"
android:strokeColor="#fff"/>
<path
android:pathData="m11.809,17h-1.693v-6.527l-2.022,0.627v-1.377l3.533,-1.266h0.182zM20.381,9.418 L17.083,17h-1.787l3.305,-7.16h-4.242v-1.371h6.023z"

View File

@@ -11,7 +11,7 @@
<path
android:pathData="M14,13m-11,0a11,11 0,1 1,22 0a11,11 0,1 1,-22 0"
android:strokeWidth="2"
android:fillColor="#006c35"
android:fillColor="#FF37653F"
android:strokeColor="#fff"/>
<path
android:pathData="m11.809,17h-1.693v-6.527l-2.022,0.627v-1.377l3.533,-1.266h0.182zM20.141,10.736q0,0.621 -0.311,1.102 -0.311,0.48 -0.855,0.768 0.621,0.299 0.984,0.826 0.363,0.521 0.363,1.23 0,1.137 -0.773,1.799 -0.773,0.656 -2.103,0.656 -1.33,0 -2.109,-0.662 -0.779,-0.662 -0.779,-1.793 0,-0.709 0.363,-1.236 0.363,-0.527 0.979,-0.82 -0.545,-0.287 -0.855,-0.768 -0.305,-0.48 -0.305,-1.102 0,-1.09 0.727,-1.734 0.727,-0.65 1.975,-0.65 1.242,0 1.969,0.645 0.732,0.639 0.732,1.74zM18.623,14.539q0,-0.557 -0.322,-0.891 -0.322,-0.334 -0.867,-0.334 -0.539,0 -0.861,0.334 -0.322,0.328 -0.322,0.891 0,0.545 0.316,0.879 0.316,0.334 0.879,0.334 0.551,0 0.861,-0.322 0.316,-0.322 0.316,-0.891zM18.448,10.818q0,-0.498 -0.264,-0.797 -0.264,-0.305 -0.744,-0.305 -0.475,0 -0.738,0.293 -0.264,0.293 -0.264,0.809 0,0.51 0.264,0.82t0.744,0.311q0.48,0 0.738,-0.311 0.264,-0.311 0.264,-0.82z"

View File

@@ -11,7 +11,7 @@
<path
android:pathData="M14,13m-11,0a11,11 0,1 1,22 0a11,11 0,1 1,-22 0"
android:strokeWidth="2"
android:fillColor="#006c35"
android:fillColor="#FF37653F"
android:strokeColor="#fff"/>
<path
android:pathData="m11.809,17h-1.693v-6.527l-2.022,0.627v-1.377l3.533,-1.266h0.182zM18.541,13.59q-0.662,0.65 -1.547,0.65 -1.131,0 -1.811,-0.773 -0.68,-0.779 -0.68,-2.098 0,-0.838 0.363,-1.535 0.369,-0.703 1.025,-1.09 0.656,-0.393 1.477,-0.393 0.844,0 1.5,0.422t1.02,1.213q0.363,0.791 0.369,1.811v0.627q0,2.133 -1.061,3.352 -1.061,1.219 -3.006,1.301l-0.416,0.006v-1.412l0.375,-0.006q2.209,-0.1 2.391,-2.074zM17.411,12.945q0.41,0 0.703,-0.211 0.299,-0.211 0.451,-0.51v-0.697q0,-0.861 -0.328,-1.336 -0.328,-0.475 -0.879,-0.475 -0.51,0 -0.838,0.469 -0.328,0.463 -0.328,1.166 0,0.697 0.316,1.148 0.322,0.445 0.902,0.445z"

View File

@@ -11,7 +11,7 @@
<path
android:pathData="M14,13m-11,0a11,11 0,1 1,22 0a11,11 0,1 1,-22 0"
android:strokeWidth="2"
android:fillColor="#006c35"
android:fillColor="#FF37653F"
android:strokeColor="#fff"/>
<path
android:pathData="m8.598,16.168q0,-0.404 0.27,-0.656 0.275,-0.252 0.686,-0.252 0.416,0 0.686,0.252 0.275,0.252 0.275,0.656 0,0.398 -0.27,0.65 -0.27,0.246 -0.691,0.246 -0.416,0 -0.686,-0.246 -0.27,-0.252 -0.27,-0.65zM8.598,11.369q0,-0.404 0.27,-0.656 0.275,-0.252 0.686,-0.252 0.416,0 0.686,0.252 0.275,0.252 0.275,0.656 0,0.398 -0.27,0.65 -0.27,0.246 -0.691,0.246 -0.416,0 -0.686,-0.246 -0.27,-0.252 -0.27,-0.65zM15.195,14.029h-3.299v-1.365h3.299zM19.473,13.666q0,1.324 -0.381,2.549 -0.381,1.225 -1.096,2.162 -0.715,0.938 -1.529,1.289l-0.328,-0.896q0.832,-0.627 1.313,-1.934 0.48,-1.307 0.498,-3.006v-0.311q0,-1.752 -0.48,-3.088 -0.475,-1.336 -1.33,-2.004l0.328,-0.896q0.797,0.346 1.5,1.254 0.709,0.908 1.096,2.115 0.393,1.207 0.41,2.502z"

View File

@@ -26,7 +26,7 @@
android:layout_toEndOf="@id/av__direction"
android:orientation="vertical">
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tv__title"
style="@style/MwmWidget.TextView.Direction"
android:layout_width="wrap_content"
@@ -35,7 +35,7 @@
android:textSize="@dimen/text_direction_title"
tools:text="Some place"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tv__subtitle"
style="@style/MwmWidget.TextView.Direction"
android:layout_width="wrap_content"
@@ -44,7 +44,7 @@
android:textSize="@dimen/text_direction_subtitle"
tools:text="Some place type"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tv__straight_distance"
style="@style/MwmWidget.TextView.Direction"
android:layout_width="wrap_content"
@@ -53,7 +53,7 @@
android:textSize="@dimen/text_direction_dist"
tools:text="9000 km"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tv__azimuth"
style="@style/MwmWidget.TextView.Direction"
android:layout_width="wrap_content"

View File

@@ -20,7 +20,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:ignore="UselessParent">
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/street"
style="@style/MwmWidget.TextView.NavStreet"
android:layout_width="match_parent"
@@ -64,7 +64,7 @@
app:tint="?iconTint"
tools:background="#400000FF"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/circle_exit"
style="@style/MwmWidget.TextView.NavNextTurn.Exit"
android:layout_width="wrap_content"
@@ -73,7 +73,7 @@
tools:text="9"/>
</FrameLayout>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/distance"
style="@style/MwmWidget.TextView.NavNextTurn"
android:layout_width="wrap_content"
@@ -96,7 +96,7 @@
android:elevation="@dimen/nav_elevation"
android:visibility="gone"
tools:visibility="visible">
<ImageView
<com.google.android.material.imageview.ShapeableImageView
android:id="@id/turn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@@ -5,7 +5,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tv__message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@@ -17,25 +17,27 @@
android:orientation="vertical">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/edit_bookmark_name_input"
style="?fontBody1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="60dp"
android:textColorHint="?android:textColorSecondary"
app:endIconMode="custom"
app:endIconCheckable="false"
app:endIconContentDescription="@string/clear"
app:endIconDrawable="@drawable/ic_clear_rounded"
app:endIconTint="?android:textColorSecondary">
app:endIconTint="?android:textColorSecondary"
app:boxBackgroundMode="filled"
app:boxBackgroundColor="@null">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/et__bookmark_name"
style="@style/MwmWidget.Editor.CustomTextInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="match_parent"
android:hint="@string/name"
android:padding="@dimen/margin_half_double_plus"
android:textAlignment="viewStart"
android:inputType="textCapSentences"
android:singleLine="true" />
android:singleLine="true"
android:backgroundTint="@android:color/transparent"/>
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
<RelativeLayout
@@ -88,21 +90,23 @@
tools:src="@drawable/ic_bookmark_none" />
</RelativeLayout>
<com.google.android.material.textfield.TextInputLayout
style="?fontBody1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="60dp"
android:layout_below="@id/rl__bookmark_set"
android:layout_margin="@dimen/margin_half"
android:textColorHint="?android:textColorSecondary">
android:textColorHint="?android:textColorSecondary"
app:boxBackgroundMode="filled"
app:boxBackgroundColor="@null">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/et__description"
style="@style/MwmWidget.Editor.CustomTextInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="match_parent"
android:padding="@dimen/margin_half_double_plus"
android:hint="@string/placepage_personal_notes_hint"
android:inputType="textMultiLine"
android:textAlignment="viewStart" />
android:textAlignment="viewStart"
android:backgroundTint="@android:color/transparent"/>
</com.google.android.material.textfield.TextInputLayout>
</RelativeLayout>

View File

@@ -16,7 +16,7 @@
android:layout_marginTop="@dimen/margin_direction_small"
app:srcCompat="@drawable/ic_direction_fullscreen"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tv__subtitle"
style="@style/MwmWidget.TextView.Direction"
android:layout_width="wrap_content"
@@ -28,7 +28,7 @@
android:textSize="@dimen/text_direction_subtitle"
tools:text="Some place type"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tv__title"
style="@style/MwmWidget.TextView.Direction"
android:layout_width="wrap_content"
@@ -40,7 +40,7 @@
android:textSize="@dimen/text_direction_title"
tools:text="Place, \n long, \n long"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tv__straight_distance"
style="@style/MwmWidget.TextView.Direction"
android:layout_width="wrap_content"
@@ -51,7 +51,7 @@
android:layout_marginTop="@dimen/margin_direction_big"
android:textSize="@dimen/text_direction_dist"
tools:text="9000 km"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tv__azimuth"
style="@style/MwmWidget.TextView.Direction"
android:layout_width="wrap_content"

View File

@@ -23,7 +23,7 @@
layout="@layout/routing_action_panel"
android:visibility="gone"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/error"
android:paddingStart="@dimen/margin_base"
android:paddingEnd="@dimen/margin_base"

View File

@@ -23,7 +23,7 @@
app:centerDrawable="@android:color/transparent"
tools:visibility="visible"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tv__size"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -34,7 +34,7 @@
android:textAppearance="@style/MwmTextAppearance.Body1"
tools:text="256 MB"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tv__title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@@ -23,7 +23,7 @@
app:centerDrawable="@android:color/transparent"
tools:visibility="visible"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tv__size"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -35,7 +35,7 @@
android:textColor="?colorAccent"
tools:text="256 MB"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tv__title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@@ -23,7 +23,7 @@
android:gravity="center"
android:minWidth="@dimen/nav_numbers_side_min_width">
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/speed_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -33,7 +33,7 @@
tools:text="999" />
<!-- Speed -->
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/speed_dimen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -63,7 +63,7 @@
android:layout_height="wrap_content"
tools:background="#20FF0000">
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/time_hour_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -72,7 +72,7 @@
android:textAppearance="@style/MwmTextAppearance.NavMenu.Time"
tools:text="999" />
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/time_hour_dimen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -82,7 +82,7 @@
android:textAppearance="@style/MwmTextAppearance.NavMenu.Time.Dimension"
tools:text="h" />
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/time_minute_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -92,7 +92,7 @@
android:textAppearance="@style/MwmTextAppearance.NavMenu.Time"
tools:text="99" />
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/time_minute_dimen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -102,7 +102,7 @@
tools:text="m" />
</LinearLayout>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/time_estimate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -126,7 +126,7 @@
android:gravity="center"
android:minWidth="@dimen/nav_numbers_side_min_width">
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/distance_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -135,7 +135,7 @@
android:textAppearance="@style/MwmTextAppearance.NavMenu.Number"
tools:text="99999" />
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/distance_dimen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@@ -20,7 +20,7 @@
android:layout_width="match_parent"
android:layout_height="@dimen/nav_street_height"
tools:ignore="UselessParent">
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/street"
style="@style/MwmWidget.TextView.NavStreet"
android:layout_width="match_parent"
@@ -64,7 +64,7 @@
app:tint="?iconTint"
tools:background="#400000FF"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/circle_exit"
style="@style/MwmWidget.TextView.NavNextTurn.Exit"
android:layout_width="wrap_content"
@@ -73,7 +73,7 @@
tools:text="9"/>
</FrameLayout>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/distance"
style="@style/MwmWidget.TextView.NavNextTurn"
android:layout_width="wrap_content"
@@ -96,7 +96,7 @@
android:elevation="@dimen/nav_elevation"
android:visibility="invisible"
tools:visibility="visible">
<ImageView
<com.google.android.material.imageview.ShapeableImageView
android:id="@id/turn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@@ -20,7 +20,7 @@
android:paddingStart="0dp"
android:paddingEnd="@dimen/altitude_chart_container_padding_left">
<TextView
<com.google.android.material.textview.MaterialTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
@@ -28,7 +28,7 @@
android:textSize="20sp"
android:textStyle="bold"/>
<ImageView
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/image_my_location"
android:layout_width="24dp"
android:layout_height="24dp"
@@ -80,7 +80,7 @@
</androidx.constraintlayout.widget.ConstraintLayout>
<RelativeLayout
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
@@ -94,20 +94,24 @@
style="@style/MwmWidget.Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:text="@string/cancel"/>
android:layout_gravity="center_vertical"
android:text="@string/cancel"
android:textColor="?android:attr/textColorPrimary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btn__plan"
style="@style/MwmWidget.Button.Primary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:text="@string/button_plan"/>
android:layout_gravity="center_vertical"
android:text="@string/button_plan"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>

View File

@@ -6,7 +6,7 @@
android:layout_height="60dp"
android:gravity="center_vertical">
<ImageView
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/type_icon"
android:layout_width="24dp"
android:layout_height="24dp"
@@ -15,7 +15,7 @@
app:layout_constraintBottom_toBottomOf="parent"
app:srcCompat="@drawable/route_point_finish"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -34,7 +34,7 @@
app:layout_constrainedWidth="true"
tools:text="Title"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/subtitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -52,7 +52,7 @@
app:layout_constrainedWidth="true"
tools:text="Subtitle"/>
<ImageView
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/delete_icon"
android:layout_width="24dp"
android:layout_height="24dp"

View File

@@ -10,7 +10,7 @@
<include layout="@layout/routing_bottom_panel_transit"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/error"
android:paddingStart="@dimen/margin_base"
android:paddingEnd="@dimen/margin_base"

View File

@@ -23,7 +23,7 @@
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize">
<ImageView
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/back"
android:layout_width="?attr/actionBarSize"
android:layout_height="?attr/actionBarSize"
@@ -157,14 +157,14 @@
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/driving_options_btn_img"
android:layout_width="@dimen/margin_base_plus"
android:layout_height="@dimen/margin_base_plus"
android:layout_gravity="center"
android:layout_marginEnd="@dimen/margin_half_plus_eight"
app:srcCompat="@drawable/ic_error_white" />
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/driving_options_btn_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@@ -763,6 +763,11 @@
<string name="type.power.substation">Substasie</string>
<!-- A tower or pylon carrying high voltage electricity cables. -->
<string name="type.power.tower">Kragmas</string>
<string name="type.psurface">Padoppervlak</string>
<string name="type.psurface.paved_bad">Geteer</string>
<string name="type.psurface.paved_good">Geteer</string>
<string name="type.psurface.unpaved_bad">Ongeteer</string>
<string name="type.psurface.unpaved_good">Ongeteer</string>
<string name="type.public_transport">Openbare vervoer</string>
<string name="type.public_transport.platform">Platform</string>
<string name="type.railway">Spoorweg</string>
@@ -1310,4 +1315,5 @@
<!-- https://wiki.openstreetmap.org/wiki/Tag:leisure=sports_hall -->
<string name="type.leisure.sports_hall">Sportsaal</string>
<string name="type.railway.station.subway.qingdao">Moltreinstasie</string>
<string name="type.mapswithme">MapsWithMe</string>
</resources>

View File

@@ -1280,4 +1280,5 @@
<string name="type.amenity.love_hotel">فندق جب</string>
<string name="type.amenity.studio">معرض</string>
<string name="type.railway.station.subway.qingdao">محطة مترو</string>
<string name="type.mapswithme">MapsWithMe</string>
</resources>

View File

@@ -158,4 +158,5 @@
<string name="type.amenity.language_school">Escuela de llingües</string>
<string name="type.amenity.hospital">Hospital</string>
<string name="type.craft.confectionery">Confitería</string>
<string name="type.mapswithme">MapsWithMe</string>
</resources>

View File

@@ -1328,4 +1328,5 @@
<string name="type.amenity.dojo">Dojo</string>
<!-- https://wiki.openstreetmap.org/wiki/Tag:leisure=sports_hall -->
<string name="type.leisure.sports_hall">İdman zalı</string>
<string name="type.mapswithme">MapsWithMe</string>
</resources>

View File

@@ -623,4 +623,6 @@
<string name="type.amenity.dojo">Додзе</string>
<!-- https://wiki.openstreetmap.org/wiki/Tag:leisure=sports_hall -->
<string name="type.leisure.sports_hall">Спартыўная зала</string>
<string name="type.mapswithme.grid">mapswithme-grid</string>
<string name="type.mapswithme">MapsWithMe</string>
</resources>

View File

@@ -79,7 +79,7 @@
<string name="type.craft.brewery">Пивоварна</string>
<string name="type.craft.caterer">Кетъринг</string>
<string name="type.craft.carpenter">Марангоз</string>
<string name="type.craft.confectionery">Сладкарски изделия</string>
<string name="type.craft.confectionery">Сладкарница</string>
<string name="type.craft.electrician">Електротехник</string>
<string name="type.craft.electronics_repair">Ремонт на електроника</string>
<string name="type.craft.gardener">Градинар</string>
@@ -354,7 +354,7 @@
<string name="type.place.country">Страна</string>
<string name="type.place.county">Графство</string>
<string name="type.place.farm">Ферма</string>
<string name="type.place.hamlet">Cело</string>
<string name="type.place.hamlet">Село</string>
<string name="type.place.island">Остров</string>
<string name="type.place.islet">Острови</string>
<string name="type.place.isolated_dwelling">Изолирано жилище</string>
@@ -595,7 +595,7 @@
<string name="type.recycling.plastic_bottles">Пластмасови бутилки</string>
<string name="type.recycling.cardboard">Картон</string>
<string name="type.recycling.shoes">Обувки</string>
<string name="type.amenity.restaurant">Заведение</string>
<string name="type.amenity.restaurant">Ресторант</string>
<string name="type.amenity.school">Училище</string>
<string name="type.amenity.shower">Душ</string>
<string name="type.amenity.telephone">Телефон</string>
@@ -659,7 +659,7 @@
<string name="type.shop.car_parts">Магазин за авточасти</string>
<string name="type.shop.car_repair">Сервиз за коли</string>
<string name="type.shop.car_repair.tyres">Гумаджия</string>
<string name="type.shop.chemist">Химик</string>
<string name="type.shop.chemist">Битова химия</string>
<string name="type.shop.pet">Магазин за животни</string>
<string name="type.shop.seafood">Риба</string>
<string name="type.shop.shoes">Магазин за обувки</string>
@@ -774,6 +774,7 @@
<string name="type.highway.road">Път</string>
<string name="type.highway.tertiary">Третостепенен път</string>
<string name="type.landuse.cemetery">Гробище</string>
<string name="type.mapswithme">MapsWithMe</string>
<string name="type.amenity.studio">Студио</string>
<string name="type.amenity.college">Колеж</string>
<string name="type.barrier.guard_rail">Мантинела</string>
@@ -1369,4 +1370,6 @@
<string name="type.piste_type.downhill.advanced.area">Спускане със ски за напреднали</string>
<string name="type.piste_type.downhill.freeride">Свободно каране спускане със ски</string>
<string name="type.piste_type.downhill.novice.area">Спускане със ски за начинаещи</string>
<string name="type.highway.services">Обслужвана зона</string>
<string name="type.landuse.forest">Гора</string>
</resources>

View File

@@ -1,4 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="type.mapswithme">MapsWithMe</string>
<string name="type.addr_interpolation">ঠিকানা/ব্লক</string>
</resources>

View File

@@ -963,4 +963,5 @@
<string name="type.amenity.studio">Estudi</string>
<string name="type.barrier.guard_rail">Barrera de seguretat</string>
<string name="type.leisure.hackerspace">Hacklab</string>
<string name="type.mapswithme">MapsWithMe</string>
</resources>

View File

@@ -1171,8 +1171,11 @@
<string name="type.amenity.dojo">Dódžó</string>
<!-- https://wiki.openstreetmap.org/wiki/Tag:leisure=sports_hall -->
<string name="type.leisure.sports_hall">Sportovní hala</string>
<string name="type.psurface">psurface</string>
<string name="type.landuse.salt_pond">Solné jezírko</string>
<string name="type.route">Trasa</string>
<string name="type.mapswithme.grid">mapswithme-grid</string>
<string name="type.hwtag.yesbicycle">hwtag-yesbicycle</string>
<string name="type.power.minor_line">Vedlejší elektrické vedení</string>
<string name="type.recycling.cans">Plechovky</string>
<string name="type.aerialway.drag_lift">Vlek</string>
@@ -1201,6 +1204,10 @@
<string name="type.highway.bridleway.permissive">Hipostezka</string>
<string name="type.highway.cycleway.permissive">Cyklostezka</string>
<string name="type.highway.elevator">Výtah</string>
<string name="type.hwtag.nobicycle">hwtag-nobicycle</string>
<string name="type.hwtag.oneway">hwtag-oneway</string>
<string name="type.hwtag.yescar">hwtag-yescar</string>
<string name="type.hwtag.yesfoot">hwtag-yesfoot</string>
<string name="type.internet_access">Internet</string>
<string name="type.junction.roundabout">Kruhový objezd</string>
<string name="type.landuse.brownfield">Brownfield</string>
@@ -1218,6 +1225,7 @@
<string name="type.man_made.pipeline.overground">Povrchové potrubí</string>
<string name="type.man_made.wastewater_plant">Čistírna odpadních vod</string>
<string name="type.man_made.works">Průmysl</string>
<string name="type.mapswithme">MapsWithMe</string>
<string name="type.military">Armáda</string>
<string name="type.mountain_pass">Horské sedlo</string>
<string name="type.power">Energie</string>
@@ -1254,10 +1262,12 @@
<string name="type.aerialway.cable_car">Visutá lanovka</string>
<string name="type.landuse.vineyard">Vinice</string>
<string name="type.leisure.beach_resort">Plážový areál</string>
<string name="type.route.shuttle_train">route-shuttle_train</string>
<string name="type.amenity.food_court">Jídelní zóna</string>
<string name="type.recycling.cardboard">Lepenka</string>
<string name="type.recycling.shoes">Boty</string>
<string name="type.building.warehouse">Sklad</string>
<string name="type.hwtag">hwtag</string>
<string name="type.amenity.shelter.lean_to">Otevřený přístřešek</string>
<string name="type.amenity.vending_machine.coffee">Automat na kávu</string>
<string name="type.amenity.taxi">Stanoviště taxislužby</string>
@@ -1265,6 +1275,7 @@
<string name="type.barrier.hedge">Živý plot</string>
<string name="type.boundary">Hranice</string>
<string name="type.amenity.vending_machine.newspapers">Automat na noviny</string>
<string name="type.hwtag.nofoot">hwtag-nofoot</string>
<string name="type.leisure.ice_rink">Ledové kluziště</string>
<string name="type.railway.construction">Železniční stavba</string>
<string name="type.landuse">Využití území</string>
@@ -1277,12 +1288,18 @@
<string name="type.boundary.administrative.3">Hranice oblasti</string>
<string name="type.landuse.garages">Garáže</string>
<string name="type.leisure.track.area">Trať</string>
<string name="type.hwtag.bidir_bicycle">hwtag-bidir_bicycle</string>
<string name="type.hwtag.nocar">hwtag-nocar</string>
<string name="type.junction.circular">Kruhový objezd</string>
<string name="type.area_highway.cycleway">Cyklostezka</string>
<string name="type.hwtag.toll">hwtag-toll</string>
<string name="type.landuse.commercial">Komerční zóna</string>
<string name="type.highway.world_level">highway-world_level</string>
<string name="type.hwtag.lit">hwtag-lit</string>
<string name="type.organic.only">Přírodní</string>
<string name="type.railway.abandoned">Zaniklá železnice</string>
<string name="type.landuse.education">Vzdělávací zařízení</string>
<string name="type.hwtag.private">hwtag-private</string>
<string name="type.sport.bowls">Bowls</string>
<string name="type.landuse.farmyard">Statek</string>
<string name="type.man_made.pier">Molo</string>
@@ -1295,8 +1312,10 @@
<string name="type.railway.crossing">Železniční přejezd</string>
<string name="type.man_made.silo">Silo</string>
<string name="type.man_made.survey_point">Topografický bod</string>
<string name="type.psurface.unpaved_good">psurface-unpaved_good</string>
<string name="type.shop.supermarket">Supermarket</string>
<string name="type.organic.yes">Přírodní</string>
<string name="type.psurface.unpaved_bad">psurface-unpaved_bad</string>
<string name="type.railway.tram">Tramvajová trať</string>
<string name="type.railway.light_rail.tunnel">Tunel lehké železnice</string>
<string name="type.railway.abandoned.bridge">Most zaniklé železnice</string>
@@ -1310,14 +1329,18 @@
<string name="type.railway.tram.tunnel">Tunel tramvajové trati</string>
<string name="type.barrier.fence">Plot</string>
<string name="type.leisure.marina">Přístav</string>
<string name="type.psurface.paved_good">psurface-paved_good</string>
<string name="type.amenity.vending_machine.condoms">Automat na kondomy</string>
<string name="type.public_transport">Veřejná doprava</string>
<string name="type.highway.world_towns_level">highway-world_towns_level</string>
<string name="type.hwtag.onedir_bicycle">hwtag-onedir_bicycle</string>
<string name="type.leisure.common">Veřejný prostor</string>
<string name="type.leisure.recreation_ground">Rekreační areál</string>
<string name="type.boundary.administrative.4">Hranice oblasti</string>
<string name="type.aerialway">Lanová dráha</string>
<string name="type.highway.services">Odpočívadlo se službami</string>
<string name="type.man_made.cutline">Průsek</string>
<string name="type.psurface.paved_bad">psurface-paved_bad</string>
<string name="type.railway.preserved.bridge">Most zachovalé železnice</string>
<string name="type.railway.narrow_gauge.tunnel">Tunel úzkorozchodné železnice</string>
<string name="type.amenity.bar">Bar</string>

View File

@@ -220,7 +220,7 @@
<!-- Settings «Route» category: «Tts language» title -->
<string name="pref_tts_language_title">Stemmesprog</string>
<!-- Settings «Route» category: «Test Voice Directions» title -->
<string name="pref_tts_test_voice_title">Test stemmeanvisninger (TTS, Text-To-Speech)</string>
<string name="pref_tts_test_voice_title">Test stemmevejledninger</string>
<!-- Settings «Route» category: Pop-up message when clicking «Test Voice Directions» -->
<string name="pref_tts_playing_test_voice">Tjek lydstyrken eller systemets tekst-til-tale-indstillinger, hvis du ikke kan høre stemmen nu</string>
<!-- Settings «Route» category: «Tts unavailable» subtitle -->

View File

@@ -1356,6 +1356,7 @@
<string name="type.piste_type.sled.area">Kælkebane</string>
<string name="type.piste_type.downhill.novice.area">Meget let pist</string>
<string name="type.railway.tram.bridge">Sporvejsbro</string>
<string name="type.mapswithme">MapsWithMe</string>
<string name="type.landuse.plant_nursery">Planteskole</string>
<string name="type.leisure.firepit">Bålplads</string>
<string name="type.man_made.crane">Kran</string>
@@ -1374,4 +1375,11 @@
<string name="type.amenity.luggage_locker">Bagageboks</string>
<string name="type.natural.wetland.saltmarsh">Strandeng</string>
<string name="type.natural.wetland.saltmarsh.tidal">Tidevandspåvirket strandeng</string>
<string name="type.natural.wetland.mangrove">Mangrove</string>
<string name="type.natural.wetland.tidalflat">Tidevandsflade</string>
<string name="type.man_made.utility_pole">Lygtepæl</string>
<string name="type.leisure.escape_game">Escape Room</string>
<string name="type.landuse.religious">Religiøs jord</string>
<string name="type.power.pole">Elmast</string>
<string name="type.railway.station.subway.qingdao">Undergrundsstation</string>
</resources>

View File

@@ -584,7 +584,7 @@
<string name="prefs_languages_information">Wir verwenden Text-to-Speech-Systeme für Sprachanweisungen. Viele Android-Geräte nutzen Google-TTS, das Sie bei Google Play (https://play.google.com/store/apps/details?id=com.google.android.tts) herunterladen oder aktualisieren können</string>
<string name="prefs_languages_information_off">Für einige Sprachen müssen Sie einen anderen Sprachgenerator oder ein zusätzliches Sprachpaket aus dem App Store installieren (Google Play, Galaxy Store, App Gallery, FDroid).\nÖffnen Sie die Einstellungen Ihres Gerätes → Sprache und Eingabe → Sprache → Text-to-Speech-Ausgabe.\nHier können Sie die Einstellungen für Sprachsynthese verwalten (beispielsweise ein Sprachpaket für die Offline-Verwendung herunterladen) und ein anderes Sprachausgabeprogramm auswählen.</string>
<string name="prefs_languages_information_off_link">Weitere Informationen finden Sie in dieser Anleitung</string>
<string name="transliteration_title">Transliteration ins lateinische Alphabet</string>
<string name="transliteration_title">Transliteration ins Lateinische alphabet</string>
<string name="learn_more">Weitere Informationen</string>
<!-- Subway exits for public transport marks on the map -->
<string name="core_exit">Ausgang</string>

View File

@@ -1344,17 +1344,40 @@
<string name="type.man_made.pipeline">Pipeline</string>
<string name="type.amenity.bar">Bar</string>
<string name="type.amenity.restaurant">Restaurant</string>
<string name="type.hwtag">hwtag</string>
<string name="type.hwtag.bidir_bicycle">hwtag-bidir_bicycle</string>
<string name="type.hwtag.onedir_bicycle">hwtag-onedir_bicycle</string>
<string name="type.hwtag.lit">hwtag-lit</string>
<string name="type.internet_access">Internet</string>
<string name="type.internet_access.wlan">Internet</string>
<string name="type.hwtag.nofoot">hwtag-nofoot</string>
<string name="type.hwtag.oneway">hwtag-oneway</string>
<string name="type.hwtag.private">hwtag-private</string>
<string name="type.hwtag.toll">hwtag-toll</string>
<string name="type.hwtag.yesbicycle">hwtag-yesbicycle</string>
<string name="type.hwtag.yescar">hwtag-yescar</string>
<string name="type.hwtag.yesfoot">hwtag-yesfoot</string>
<string name="type.leisure.hackerspace">Hackerraum</string>
<string name="type.sport.yoga">Yoga Studio</string>
<string name="type.mapswithme.grid">mapswithme-grid</string>
<string name="type.noexit">Sackgasse</string>
<string name="type.psurface">psurface</string>
<string name="type.psurface.paved_bad">psurface-paved_bad</string>
<string name="type.psurface.unpaved_good">psurface-unpaved_good</string>
<string name="type.route.shuttle_train">route-shuttle_train</string>
<string name="type.shop.kiosk">Kiosk</string>
<string name="type.psurface.unpaved_bad">psurface-unpaved_bad</string>
<string name="type.boundary.administrative.2">Landesgrenze</string>
<string name="type.building.garage">Garage</string>
<string name="type.cuisine.fish_and_chips">Fisch und Chips</string>
<string name="type.highway.world_level">highway-world_level</string>
<string name="type.hwtag.nobicycle">hwtag-nobicycle</string>
<string name="type.hwtag.nocar">hwtag-nocar</string>
<string name="type.mapswithme">MapsWithMe</string>
<string name="type.psurface.paved_good">psurface-paved_good</string>
<string name="type.leisure.beach_resort">Badestrand</string>
<string name="type.amenity.food_court">Food Court</string>
<string name="type.highway.world_towns_level">highway-world_towns_level</string>
<string name="type.fee.yes">$</string>
<string name="type.man_made.utility_pole">Versorgungsmast</string>
<string name="type.cuisine.bubble_tea">Bubble Tea</string>

View File

@@ -9,7 +9,7 @@
<string name="delete">Διαγραφή</string>
<string name="download_maps">Λήψη χαρτών</string>
<!-- Settings/Downloader - info for country when download fails -->
<string name="download_has_failed">Η λήψη απέτυχε. Πατήστε για να προσπαθήσετε ξανά.</string>
<string name="download_has_failed">Η λήψη απέτυχε, πατήστε για να προσπαθήσετε ξανά</string>
<!-- Settings/Downloader - info for country which started downloading -->
<string name="downloading">Λήψη…</string>
<!-- Choose measurement on first launch alert - choose metric system button -->
@@ -30,7 +30,7 @@
<!-- A dialog title, that warns a user that Precise Location is disabled and suggests to turn it on -->
<string name="limited_accuracy">Περιορισμένη ακρίβεια</string>
<!-- A dialog text, that warns a user that Precise Location is disabled and suggests to turn it on -->
<string name="precise_location_is_disabled_long_text">Για να εξασφαλίσετε ακριβή πλοήγηση, ενεργοποιήστε την Ακριβής τοποθεσία στις ρυθμίσεις.</string>
<string name="precise_location_is_disabled_long_text">Για να εξασφαλίσετε ακριβή πλοήγηση, ενεργοποιήστε την Ακριβής τοποθεσία στις ρυθμίσεις</string>
<!-- View and button titles for accessibility -->
<string name="zoom_to_country">Εμφάνιση στο χάρτη</string>
<!-- Message to display at the center of the screen when the country download has failed -->
@@ -236,7 +236,7 @@
<!-- Settings «Route» category: «Tts language» title -->
<string name="pref_tts_language_title">Γλώσσα φωνής</string>
<!-- Settings «Route» category: «Test Voice Directions» title -->
<string name="pref_tts_test_voice_title">Δοκιμή φωνητικών οδηγιών (TTS, Text-To-Speech)</string>
<string name="pref_tts_test_voice_title">Δοκιμή φωνητικών οδηγιών</string>
<!-- Settings «Route» category: Pop-up message when clicking «Test Voice Directions» -->
<string name="pref_tts_playing_test_voice">Ελέγξτε την ένταση ήχου ή τις ρυθμίσεις του συστήματος text-to-speech αν δεν ακούτε τη φωνή τώρα.</string>
<!-- Settings «Route» category: «Tts unavailable» subtitle -->

View File

@@ -691,9 +691,9 @@
<string name="type.power.substation">Υποσταθμός</string>
<!-- A tower or pylon carrying high voltage electricity cables. -->
<string name="type.power.tower">Πυλώνες μεταφοράς ρεύματος</string>
<string name="type.railway.funicular">Μονωτικό τρενάκι</string>
<string name="type.railway.halt">Σιδηροδρομικός σταθμός</string>
<string name="type.railway.level_crossing">Σιδηροδρομική διέλευση</string>
<string name="type.railway.funicular">Τελεφερίκ</string>
<string name="type.railway.halt">Σιδηροδρομική στάση</string>
<string name="type.railway.level_crossing">Σιδηροδρομική διάβαση</string>
<string name="type.railway.monorail">Μονοαξονικός σιδηρόδρομος</string>
<string name="type.railway.rail">Σιδηρόδρομος</string>
<string name="type.railway.rail.highspeed">Σιδηρόδρομος υψηλής ταχύτητας</string>
@@ -723,126 +723,126 @@
<string name="type.railway.rail.spur.tunnel">Σιδηροδρομική σήραγγα</string>
<string name="type.railway.rail.service.tunnel">Σιδηροδρομική σήραγγα</string>
<string name="type.railway.station">Σιδηροδρομικός σταθμός</string>
<string name="type.railway.station.funicular">Μονωτικό τρενάκι</string>
<string name="type.railway.station.funicular">Τελεφερίκ</string>
<string name="type.railway.station.light_rail">Σιδηροδρομικός σταθμός</string>
<string name="type.railway.station.light_rail.berlin">Σιδηροδρομικός σταθμός</string>
<string name="type.railway.station.light_rail.london">Σιδηροδρομικός σταθμός</string>
<string name="type.railway.station.light_rail.porto">Σιδηροδρομικός σταθμός</string>
<string name="type.railway.station.monorail">Σιδηροδρομικός σταθμός</string>
<string name="type.railway.station.subway">Μετρό</string>
<string name="type.railway.station.subway.adana">Μετρό</string>
<string name="type.railway.station.subway.algiers">Μετρό</string>
<string name="type.railway.station.subway.almaty">Μετρό</string>
<string name="type.railway.station.subway.amsterdam">Μετρό</string>
<string name="type.railway.station.subway.ankara">Μετρό</string>
<string name="type.railway.station.subway.athens">Μετρό</string>
<string name="type.railway.station.subway.baku">Μετρό</string>
<string name="type.railway.station.subway.bangkok">Μετρό</string>
<string name="type.railway.station.subway.barcelona">Μετρό</string>
<string name="type.railway.station.subway.beijing">Μετρό</string>
<string name="type.railway.station.subway.bengalore">Μετρό</string>
<string name="type.railway.station.subway.berlin">Μετρό</string>
<string name="type.railway.station.subway.bilbao">Μετρό</string>
<string name="type.railway.station.subway.brasilia">Μετρό</string>
<string name="type.railway.station.subway.brescia">Μετρό</string>
<string name="type.railway.station.subway.brussels">Μετρό</string>
<string name="type.railway.station.subway.bucharest">Μετρό</string>
<string name="type.railway.station.subway.budapest">Μετρό</string>
<string name="type.railway.station.subway.buenos_aires">Μετρό</string>
<string name="type.railway.station.subway.bursa">Μετρό</string>
<string name="type.railway.station.subway.cairo">Μετρό</string>
<string name="type.railway.station.subway.caracas">Μετρό</string>
<string name="type.railway.station.subway.catania">Μετρό</string>
<string name="type.railway.station.subway.changchun">Μετρό</string>
<string name="type.railway.station.subway.chengdu">Μετρό</string>
<string name="type.railway.station.subway.chicago">Μετρό</string>
<string name="type.railway.station.subway.chongqing">Μετρό</string>
<string name="type.railway.station.subway.dalian">Μετρό</string>
<string name="type.railway.station.subway.delhi">Μετρό</string>
<string name="type.railway.station.subway.dnepro">Μετρό</string>
<string name="type.railway.station.subway.dubai">Μετρό</string>
<string name="type.railway.station.subway.ekb">Μετρό</string>
<string name="type.railway.station.subway.fukuoka">Μετρό</string>
<string name="type.railway.station.subway.glasgow">Μετρό</string>
<string name="type.railway.station.subway.guangzhou">Μετρό</string>
<string name="type.railway.station.subway.hamburg">Μετρό</string>
<string name="type.railway.station.subway.helsinki">Μετρό</string>
<string name="type.railway.station.subway.hiroshima">Μετρό</string>
<string name="type.railway.station.subway.hongkong">Μετρό</string>
<string name="type.railway.station.subway.isfahan">Μετρό</string>
<string name="type.railway.station.subway.istanbul">Μετρό</string>
<string name="type.railway.station.subway.izmir">Μετρό</string>
<string name="type.railway.station.subway.kazan">Μετρό</string>
<string name="type.railway.station.subway.kharkiv">Μετρό</string>
<string name="type.railway.station.subway.kiev">Μετρό</string>
<string name="type.railway.station.subway.kobe">Μετρό</string>
<string name="type.railway.station.subway.kolkata">Μετρό</string>
<string name="type.railway.station.subway.kunming">Μετρό</string>
<string name="type.railway.station.subway.kyoto">Μετρό</string>
<string name="type.railway.station.subway.la">Μετρό</string>
<string name="type.railway.station.subway.lausanne">Μετρό</string>
<string name="type.railway.station.subway.lille">Μετρό</string>
<string name="type.railway.station.subway.lima">Μετρό</string>
<string name="type.railway.station.subway.lisboa">Μετρό</string>
<string name="type.railway.station.subway.london">Μετρό</string>
<string name="type.railway.station.subway.lyon">Μετρό</string>
<string name="type.railway.station.subway.madrid">Μετρό</string>
<string name="type.railway.station.subway.malaga">Μετρό</string>
<string name="type.railway.station.subway.manila">Μετρό</string>
<string name="type.railway.station.subway.maracaibo">Μετρό</string>
<string name="type.railway.station.subway.mashhad">Μετρό</string>
<string name="type.railway.station.subway.mecca">Μετρό</string>
<string name="type.railway.station.subway.medellin">Μετρό</string>
<string name="type.railway.station.subway.mexico">Μετρό</string>
<string name="type.railway.station.subway.milan">Μετρό</string>
<string name="type.railway.station.subway.minsk">Μετρό</string>
<string name="type.railway.station.subway.montreal">Μετρό</string>
<string name="type.railway.station.subway.moscow">Μετρό</string>
<string name="type.railway.station.subway.munchen">Μετρό</string>
<string name="type.railway.station.subway.nagoya">Μετρό</string>
<string name="type.railway.station.subway.newyork">Μετρό</string>
<string name="type.railway.station.subway.nnov">Μετρό</string>
<string name="type.railway.station.subway.novosibirsk">Μετρό</string>
<string name="type.railway.station.subway.osaka">Μετρό</string>
<string name="type.railway.station.subway.oslo">Μετρό</string>
<string name="type.railway.station.subway.palma">Μετρό</string>
<string name="type.railway.station.subway.panama">Μετρό</string>
<string name="type.railway.station.subway.paris">Μετρό</string>
<string name="type.railway.station.subway.philadelphia">Μετρό</string>
<string name="type.railway.station.subway.pyongyang">Μετρό</string>
<string name="type.railway.station.subway.rennes">Μετρό</string>
<string name="type.railway.station.subway.rio">Μετρό</string>
<string name="type.railway.station.subway.roma">Μετρό</string>
<string name="type.railway.station.subway.rotterdam">Μετρό</string>
<string name="type.railway.station.subway.samara">Μετρό</string>
<string name="type.railway.station.subway.santiago">Μετρό</string>
<string name="type.railway.station.subway.santo_domingo">Μετρό</string>
<string name="type.railway.station.subway.saopaulo">Μετρό</string>
<string name="type.railway.station.subway.sapporo">Μετρό</string>
<string name="type.railway.station.subway.sendai">Μετρό</string>
<string name="type.railway.station.subway.sf">Μετρό</string>
<string name="type.railway.station.subway.shanghai">Μετρό</string>
<string name="type.railway.station.subway.shenzhen">Μετρό</string>
<string name="type.railway.station.subway.shiraz">Μετρό</string>
<string name="type.railway.station.subway.singapore">Μετρό</string>
<string name="type.railway.station.subway.sofia">Μετρό</string>
<string name="type.railway.station.subway.spb">Μετρό</string>
<string name="type.railway.station.subway.stockholm">Μετρό</string>
<string name="type.railway.station.subway.tabriz">Μετρό</string>
<string name="type.railway.station.subway.taipei">Μετρό</string>
<string name="type.railway.station.subway.taoyuan">Μετρό</string>
<string name="type.railway.station.subway.tashkent">Μετρό</string>
<string name="type.railway.station.subway.tbilisi">Μετρό</string>
<string name="type.railway.station.subway.tehran">Μετρό</string>
<string name="type.railway.station.subway.tianjin">Μετρό</string>
<string name="type.railway.station.subway.tokyo">Μετρό</string>
<string name="type.railway.station.subway.valencia">Μετρό</string>
<string name="type.railway.station.subway.vienna">Μετρό</string>
<string name="type.railway.station.subway.warszawa">Μετρό</string>
<string name="type.railway.station.subway.washington">Μετρό</string>
<string name="type.railway.station.subway.wuhan">Μετρό</string>
<string name="type.railway.station.subway.yerevan">Μετρό</string>
<string name="type.railway.station.subway.yokohama">Μετρό</string>
<string name="type.railway.station.subway">Σταθμός μετρό</string>
<string name="type.railway.station.subway.adana">Σταθμός μετρό</string>
<string name="type.railway.station.subway.algiers">Σταθμός μετρό</string>
<string name="type.railway.station.subway.almaty">Σταθμός μετρό</string>
<string name="type.railway.station.subway.amsterdam">Σταθμός μετρό</string>
<string name="type.railway.station.subway.ankara">Σταθμός μετρό</string>
<string name="type.railway.station.subway.athens">Σταθμός μετρό</string>
<string name="type.railway.station.subway.baku">Σταθμός μετρό</string>
<string name="type.railway.station.subway.bangkok">Σταθμός μετρό</string>
<string name="type.railway.station.subway.barcelona">Σταθμός μετρό</string>
<string name="type.railway.station.subway.beijing">Σταθμός μετρό</string>
<string name="type.railway.station.subway.bengalore">Σταθμός μετρό</string>
<string name="type.railway.station.subway.berlin">Σταθμός μετρό</string>
<string name="type.railway.station.subway.bilbao">Σταθμός μετρό</string>
<string name="type.railway.station.subway.brasilia">Σταθμός μετρό</string>
<string name="type.railway.station.subway.brescia">Σταθμός μετρό</string>
<string name="type.railway.station.subway.brussels">Σταθμός μετρό</string>
<string name="type.railway.station.subway.bucharest">Σταθμός μετρό</string>
<string name="type.railway.station.subway.budapest">Σταθμός μετρό</string>
<string name="type.railway.station.subway.buenos_aires">Σταθμός μετρό</string>
<string name="type.railway.station.subway.bursa">Σταθμός μετρό</string>
<string name="type.railway.station.subway.cairo">Σταθμός μετρό</string>
<string name="type.railway.station.subway.caracas">Σταθμός μετρό</string>
<string name="type.railway.station.subway.catania">Σταθμός μετρό</string>
<string name="type.railway.station.subway.changchun">Σταθμός μετρό</string>
<string name="type.railway.station.subway.chengdu">Σταθμός μετρό</string>
<string name="type.railway.station.subway.chicago">Σταθμός μετρό</string>
<string name="type.railway.station.subway.chongqing">Σταθμός μετρό</string>
<string name="type.railway.station.subway.dalian">Σταθμός μετρό</string>
<string name="type.railway.station.subway.delhi">Σταθμός μετρό</string>
<string name="type.railway.station.subway.dnepro">Σταθμός μετρό</string>
<string name="type.railway.station.subway.dubai">Σταθμός μετρό</string>
<string name="type.railway.station.subway.ekb">Σταθμός μετρό</string>
<string name="type.railway.station.subway.fukuoka">Σταθμός μετρό</string>
<string name="type.railway.station.subway.glasgow">Σταθμός μετρό</string>
<string name="type.railway.station.subway.guangzhou">Σταθμός μετρό</string>
<string name="type.railway.station.subway.hamburg">Σταθμός μετρό</string>
<string name="type.railway.station.subway.helsinki">Σταθμός μετρό</string>
<string name="type.railway.station.subway.hiroshima">Σταθμός μετρό</string>
<string name="type.railway.station.subway.hongkong">Σταθμός μετρό</string>
<string name="type.railway.station.subway.isfahan">Σταθμός μετρό</string>
<string name="type.railway.station.subway.istanbul">Σταθμός μετρό</string>
<string name="type.railway.station.subway.izmir">Σταθμός μετρό</string>
<string name="type.railway.station.subway.kazan">Σταθμός μετρό</string>
<string name="type.railway.station.subway.kharkiv">Σταθμός μετρό</string>
<string name="type.railway.station.subway.kiev">Σταθμός μετρό</string>
<string name="type.railway.station.subway.kobe">Σταθμός μετρό</string>
<string name="type.railway.station.subway.kolkata">Σταθμός μετρό</string>
<string name="type.railway.station.subway.kunming">Σταθμός μετρό</string>
<string name="type.railway.station.subway.kyoto">Σταθμός μετρό</string>
<string name="type.railway.station.subway.la">Σταθμός μετρό</string>
<string name="type.railway.station.subway.lausanne">Σταθμός μετρό</string>
<string name="type.railway.station.subway.lille">Σταθμός μετρό</string>
<string name="type.railway.station.subway.lima">Σταθμός μετρό</string>
<string name="type.railway.station.subway.lisboa">Σταθμός μετρό</string>
<string name="type.railway.station.subway.london">Υπόγειος σταθμός</string>
<string name="type.railway.station.subway.lyon">Σταθμός μετρό</string>
<string name="type.railway.station.subway.madrid">Σταθμός μετρό</string>
<string name="type.railway.station.subway.malaga">Σταθμός μετρό</string>
<string name="type.railway.station.subway.manila">Σταθμός μετρό</string>
<string name="type.railway.station.subway.maracaibo">Σταθμός μετρό</string>
<string name="type.railway.station.subway.mashhad">Σταθμός μετρό</string>
<string name="type.railway.station.subway.mecca">Σταθμός μετρό</string>
<string name="type.railway.station.subway.medellin">Σταθμός μετρό</string>
<string name="type.railway.station.subway.mexico">Σταθμός μετρό</string>
<string name="type.railway.station.subway.milan">Σταθμός μετρό</string>
<string name="type.railway.station.subway.minsk">Σταθμός μετρό</string>
<string name="type.railway.station.subway.montreal">Σταθμός μετρό</string>
<string name="type.railway.station.subway.moscow">Σταθμός μετρό</string>
<string name="type.railway.station.subway.munchen">Σταθμός μετρό</string>
<string name="type.railway.station.subway.nagoya">Σταθμός μετρό</string>
<string name="type.railway.station.subway.newyork">Σταθμός μετρό</string>
<string name="type.railway.station.subway.nnov">Σταθμός μετρό</string>
<string name="type.railway.station.subway.novosibirsk">Σταθμός μετρό</string>
<string name="type.railway.station.subway.osaka">Σταθμός μετρό</string>
<string name="type.railway.station.subway.oslo">Σταθμός μετρό</string>
<string name="type.railway.station.subway.palma">Σταθμός μετρό</string>
<string name="type.railway.station.subway.panama">Σταθμός μετρό</string>
<string name="type.railway.station.subway.paris">Σταθμός μετρό</string>
<string name="type.railway.station.subway.philadelphia">Σταθμός μετρό</string>
<string name="type.railway.station.subway.pyongyang">Σταθμός μετρό</string>
<string name="type.railway.station.subway.rennes">Σταθμός μετρό</string>
<string name="type.railway.station.subway.rio">Σταθμός μετρό</string>
<string name="type.railway.station.subway.roma">Σταθμός μετρό</string>
<string name="type.railway.station.subway.rotterdam">Σταθμός μετρό</string>
<string name="type.railway.station.subway.samara">Σταθμός μετρό</string>
<string name="type.railway.station.subway.santiago">Σταθμός μετρό</string>
<string name="type.railway.station.subway.santo_domingo">Σταθμός μετρό</string>
<string name="type.railway.station.subway.saopaulo">Σταθμός μετρό</string>
<string name="type.railway.station.subway.sapporo">Σταθμός μετρό</string>
<string name="type.railway.station.subway.sendai">Σταθμός μετρό</string>
<string name="type.railway.station.subway.sf">Σταθμός μετρό</string>
<string name="type.railway.station.subway.shanghai">Σταθμός μετρό</string>
<string name="type.railway.station.subway.shenzhen">Σταθμός μετρό</string>
<string name="type.railway.station.subway.shiraz">Σταθμός μετρό</string>
<string name="type.railway.station.subway.singapore">Σταθμός μετρό</string>
<string name="type.railway.station.subway.sofia">Σταθμός μετρό</string>
<string name="type.railway.station.subway.spb">Σταθμός μετρό</string>
<string name="type.railway.station.subway.stockholm">Σταθμός μετρό</string>
<string name="type.railway.station.subway.tabriz">Σταθμός μετρό</string>
<string name="type.railway.station.subway.taipei">Σταθμός μετρό</string>
<string name="type.railway.station.subway.taoyuan">Σταθμός μετρό</string>
<string name="type.railway.station.subway.tashkent">Σταθμός μετρό</string>
<string name="type.railway.station.subway.tbilisi">Σταθμός μετρό</string>
<string name="type.railway.station.subway.tehran">Σταθμός μετρό</string>
<string name="type.railway.station.subway.tianjin">Σταθμός μετρό</string>
<string name="type.railway.station.subway.tokyo">Σταθμός μετρό</string>
<string name="type.railway.station.subway.valencia">Σταθμός μετρό</string>
<string name="type.railway.station.subway.vienna">Σταθμός μετρό</string>
<string name="type.railway.station.subway.warszawa">Σταθμός μετρό</string>
<string name="type.railway.station.subway.washington">Σταθμός μετρό</string>
<string name="type.railway.station.subway.wuhan">Σταθμός μετρό</string>
<string name="type.railway.station.subway.yerevan">Σταθμός μετρό</string>
<string name="type.railway.station.subway.yokohama">Σταθμός μετρό</string>
<string name="type.railway.subway_entrance">Είσοδος μετρό</string>
<string name="type.railway.subway_entrance.adana">Είσοδος μετρό</string>
<string name="type.railway.subway_entrance.algiers">Είσοδος μετρό</string>
@@ -1197,7 +1197,7 @@
<string name="type.man_made.silo">Σιλό</string>
<string name="type.power.pole">Ηλεκτρικός πόλος</string>
<string name="type.man_made.utility_pole">Πόλος κοινής ωφέλειας</string>
<string name="type.railway.narrow_gauge.bridge">Σιδηροδρομική γέφυρα στενής γραμμής</string>
<string name="type.railway.narrow_gauge.bridge">Σιδηροδρομική γέφυρα στενού εύρους</string>
<string name="type.aeroway">Υποδομή εναέριου χώρου</string>
<string name="type.aeroway.apron">Ποδιά</string>
<string name="type.aeroway.runway">Αεροδιάδρομος</string>
@@ -1227,6 +1227,7 @@
<string name="type.highway.cycleway">Ποδηλατόδρομος</string>
<string name="type.highway.cycleway.permissive">Ποδηλατόδρομος</string>
<string name="type.highway.elevator">Ανελκυστήρας</string>
<string name="type.highway.world_level">αυτοκινητόδρομος-κόσμος_επίπεδο</string>
<string name="type.barrier.wall">Τοίχος</string>
<string name="type.recycling.cans">Κονσερβοκούτια</string>
<string name="type.barrier">Εμπόδιο</string>
@@ -1246,4 +1247,13 @@
<string name="type.area_highway.cycleway">Ποδηλατόδρομος</string>
<string name="type.aeroway.gate">Πύλη</string>
<string name="type.amenity.atm">ATM</string>
<string name="type.mapswithme">MapsWithMe</string>
<string name="type.railway.platform">Σιδηροδρομική πλατφόρμα</string>
<string name="type.railway.narrow_gauge.tunnel">Σιδηροδρομική σήραγγα στενού εύρους</string>
<string name="type.railway.subway.bridge">Γέφυρα γραμμής μετρό</string>
<string name="type.railway.subway">Γραμμή μετρό</string>
<string name="type.highway.ladder">Σκάλα</string>
<string name="type.railway.subway.tunnel">Σήραγγα γραμμής μετρό</string>
<string name="type.man_made.crane">Γερανός</string>
<string name="type.railway.station.subway.qingdao">Σταθμός μετρό</string>
</resources>

View File

@@ -287,4 +287,5 @@
<string name="type.power.pole">Power Pole</string>
<string name="type.man_made.utility_pole">Utility Pole</string>
<string name="type.railway.station.subway.qingdao">Metro Station</string>
<string name="type.mapswithme">MapsWithMe</string>
</resources>

View File

@@ -5,7 +5,7 @@
<string name="type.amenity.bbq">Barbacoa</string>
<string name="type.amenity.bicycle_parking">Estacionamiento de bicicletas</string>
<string name="type.amenity.bicycle_rental">Renta de bicicletas</string>
<string name="type.amenity.car_rental">Renta de coches</string>
<string name="type.amenity.car_rental">Renta de autos</string>
<string name="type.amenity.car_wash">Autolavado</string>
<string name="type.amenity.kindergarten">Jardín de niños</string>
<string name="type.amenity.motorcycle_parking">Estacionamiento de motocicletas</string>
@@ -554,4 +554,5 @@
<string name="type.amenity.motorcycle_rental">Renta de motocicletas</string>
<string name="type.highway.traffic_signals">Semáforo</string>
<string name="type.cuisine.crepe">Crepas</string>
<string name="type.mapswithme">MapsWithMe</string>
</resources>

View File

@@ -25,7 +25,7 @@
<!-- Search box placeholder text; Used when searching on the map itself, not when searching for a map -->
<string name="search_map">Buscar en el mapa</string>
<!-- Location services are disabled by user alert - message -->
<string name="location_is_disabled_long_text">No se puede acceder a los servicios de localización en este dispositivo o aplicación. Actívelos en la configuración.</string>
<string name="location_is_disabled_long_text">Actualmente tienes desactivados todos los Servicios de Localización para este dispositivo o aplicación. Actívalos en Ajustes.</string>
<!-- A dialog title, that warns a user that Precise Location is disabled and suggests to turn it on -->
<string name="limited_accuracy">Precisión limitada</string>
<!-- A dialog text, that warns a user that Precise Location is disabled and suggests to turn it on -->
@@ -42,7 +42,7 @@
<!-- Text in About screen -->
<string name="about_proposition_1">• Fácil de utilizar y depurado</string>
<!-- Text in About screen -->
<string name="about_proposition_2">• Enfocado a la privacidad y sin anuncios</string>
<string name="about_proposition_2">• Enfocado en la privacidad y sin anuncios</string>
<!-- Text in About screen -->
<string name="about_proposition_3">• No necesita conexión a internet, rápido y compacto</string>
<!-- Text in About screen -->
@@ -58,7 +58,7 @@
<string name="not_enough_free_space_on_sdcard">Libere espacio en la memoria SD o almacenamiento USB para usar la aplicación</string>
<string name="download_resources">Antes de comenzar, permita que descarguemos en su dispositivo un mapamundi general. \nSe requieren %s de almacenamiento.</string>
<string name="download_resources_continue">Ir al mapa</string>
<string name="downloading_country_can_proceed">Descargando %1$s (%2$s). Puede ahora \nproceder al mapa.</string>
<string name="downloading_country_can_proceed">Descargando %1$s (%2$s). Ya puede \nproceder al mapa.</string>
<string name="download_country_ask">¿Descargar %1$s? (%2$s)</string>
<string name="update_country_ask">¿Actualizar %1$s? (%2$s)</string>
<!-- REMOVE THIS STRING AFTER REFACTORING -->
@@ -68,7 +68,7 @@
<!-- Show popup notification on top of the map when country download has failed. -->
<string name="download_country_failed">No se pudo descargar %s</string>
<!-- "Add new bookmark list" dialog title -->
<string name="add_new_set">Agregar un grupo nuevo</string>
<string name="add_new_set">Agregar una lista nueva</string>
<!-- Add Bookmark list dialog - hint when the list name is empty -->
<string name="bookmark_set_name">Nombre del grupo de marcadores</string>
<!-- Should be used in the bookmarks-only context, see bookmarks_and_tracks if tracks are also implied. -->
@@ -106,7 +106,7 @@
<!-- Error moving map files from one storage to another -->
<string name="move_maps_error">Error al mover los archivos de mapas</string>
<!-- Ask user to wait several minutes (some long process in modal dialog). -->
<string name="wait_several_minutes">Esto podría tardar varios minutos. \nAguarde un momento</string>
<string name="wait_several_minutes">Esto podría tardar varios minutos.\nAguarda</string>
<!-- Measurement units title in settings activity -->
<string name="measurement_units">Unidades de medida</string>
<!-- Detailed description of Measurement Units settings button -->
@@ -119,7 +119,7 @@
<!-- Search category for public transport; any changes should be duplicated in categories.txt @category_transport! -->
<string name="category_transport">Transporte</string>
<!-- Search category for fuel stations; any changes should be duplicated in categories.txt @category_fuel! -->
<string name="category_fuel">Gasolinera</string>
<string name="category_fuel">Estación de Servicio</string>
<!-- Search category for parking lots; any changes should be duplicated in categories.txt @category_parking! -->
<string name="category_parking">Aparcamiento</string>
<!-- Search category for malls/clothes/shoes/gifts/jewellery/sport shops; any changes should be duplicated in categories.txt @category_shopping! -->
@@ -163,11 +163,11 @@
<string name="description">Notas</string>
<!-- Email Subject when sharing bookmark list -->
<string name="share_bookmarks_email_subject">Marcadores de CoMaps compartidos con usted</string>
<string name="share_bookmarks_email_body">¡Hola! \n\nAdjunto mis marcadores de la aplicación CoMaps. Por favor, ábralos si tiene instalado CoMaps. O, si no lo tiene, descargue la aplicación para su dispositivo iOS o Android siguiendo este enlace: https://www.comaps.app/download/ \n\n¡Disfrute viajando con CoMaps!</string>
<string name="share_bookmarks_email_body">¡Hola! \n\nAdjunto mis marcadores de la aplicación CoMaps. Por favor, ábralos si tiene instalado CoMaps. O, si no lo tiene, descargue la aplicación para su dispositivo iOS o Android siguiendo este enlace: https://www.comaps.app/es/download/ \n\n¡Disfrute viajando con CoMaps!</string>
<!-- message title of loading file -->
<string name="load_kmz_title">Cargando marcadores</string>
<!-- Kmz file successful loading -->
<string name="load_kmz_successful">¡Los marcadores se han cargado con éxito! Puede encontrarlos en el mapa o en la pantalla de Gestión de marcadores.</string>
<string name="load_kmz_successful">¡Los marcadores se han cargado con éxito! Puedes encontrarlos en el mapa o en la pantalla de Gestor de Marcadores.</string>
<!-- Kml file loading failed -->
<string name="load_kmz_failed">No se pudieron cargar los marcadores. El archivo podría tener daños o defectos.</string>
<!-- Failed to recognize the format of a bookmarks or tracks file. -->
@@ -177,23 +177,23 @@
<!-- resource for context menu -->
<string name="edit">Editar</string>
<!-- Warning message when doing search around current position -->
<string name="unknown_current_position">Aún no se ha determinado su ubicación</string>
<string name="unknown_current_position">Aún no se ha determinado tu ubicación</string>
<!-- Alert message that we can't run Map Storage settings due to some reasons. -->
<string name="cant_change_this_setting">Lo sentimos, la configuración del almacenamiento de mapas está desactivada</string>
<!-- Alert message that downloading is in progress. -->
<string name="downloading_is_active">La descarga del mapa está en curso</string>
<!-- Share my position using SMS, %1$@ contains om:// and %2$@ https://comaps.app link WITHOUT NAME. @NOTE non-ascii symbols in the link will result in max 70 characters SMS instead of 140. -->
<string name="my_position_share_sms">¡Mire mi ubicación actual en CoMaps! %1$s o %2$s ¿No tiene mapas offline? Descárguelos aquí: https://www.comaps.app/download/</string>
<string name="my_position_share_sms">¡Mira mi ubicación actual en CoMaps! %1$s o %2$s ¿No tiene mapas offline? Descárgalos aquí: https://www.comaps.app/es/download/</string>
<!-- Subject for emailed bookmark -->
<string name="bookmark_share_email_subject">¡Mira mi marcador en el mapa de CoMaps!</string>
<!-- Subject for emailed position -->
<string name="my_position_share_email_subject">¡Mira mi ubicación actual en el mapa en CoMaps!</string>
<!-- Share my position using EMail, %1$@ is om:// and %2$@ is https://comaps.app link WITHOUT NAME -->
<string name="my_position_share_email">Hola: \n \nAhora estoy aquí: %1$s. Haz clic en este enlace %2$s o esta %3$s para verlo en el mapa. \n \nGracias.</string>
<string name="my_position_share_email">Hola: \n \nAhora estoy aquí: %1$s. Haz clic en este enlace %2$s o este %3$s para verlo en el mapa. \n \nGracias.</string>
<!-- Share button text which opens menu with more buttons, like Message, EMail, Facebook etc. -->
<string name="share">Compartir</string>
<!-- Share by email button text, also used in editor and About. -->
<string name="email">Correo</string>
<string name="email">Correo electrónico</string>
<!-- Text for message when used successfully copied something -->
<string name="copied_to_clipboard">Copiado en el portapapeles: %s</string>
<!-- Used for bookmark editing -->
@@ -201,9 +201,9 @@
<!-- Data version in «About» screen, %@ is replaced by a local, human readable date. -->
<string name="data_version">Datos de OpenStreetMap: %s</string>
<!-- Confirmation for OpenStreetMap log out. -->
<string name="osm_log_out_confirmation">¿Quiere salir de su cuenta de OpenStreetMap?</string>
<string name="osm_log_out_confirmation">¿Quieres salir de tu cuenta de OpenStreetMap?</string>
<!-- Title for tracks category in bookmarks manager -->
<string name="tracks_title">Trayectos</string>
<string name="tracks_title">Trazas</string>
<!-- Length of track in cell that describes route -->
<string name="length">Longitud</string>
<string name="share_my_location">Compartir mi ubicación</string>
@@ -213,7 +213,7 @@
<string name="prefs_group_information">Información</string>
<string name="prefs_group_route">Navegación</string>
<string name="pref_zoom_title">Botones de zoom</string>
<string name="pref_zoom_summary">Visualización en la pantalla</string>
<string name="pref_zoom_summary">Visualizar en la pantalla</string>
<!-- Settings «Map» category: «Night style» title -->
<string name="pref_map_style_title">Modo nocturno</string>
<!-- Generic «Off» string -->
@@ -229,7 +229,7 @@
<!-- A message in Settings/Preferences explaining why is it not possible to enable 3D buildings when max power saving mode is enabled -->
<string name="pref_map_3d_buildings_disabled_summary">Los edificios 3D se desactivan en el modo de ahorro de energía</string>
<!-- Settings «Route» category: «Tts enabled» title -->
<string name="pref_tts_enable_title">Instrucciones de voz</string>
<string name="pref_tts_enable_title">Indicaciones por voz</string>
<!-- Settings «Route» category: «Tts announce street names» title -->
<string name="pref_tts_street_names_title">Anunciar nombres de calles</string>
<!-- Settings «Route» category: «Tts announce street names» description -->
@@ -268,9 +268,9 @@
<!-- Text in menu + Button in the main Help dialog -->
<string name="report_a_bug">Informar de un fallo</string>
<!-- Toast text when compass calibration may improve the correctness of the current position arrow -->
<string name="compass_calibration_recommended">Mejore la dirección de la flecha moviendo el teléfono en forma de ocho para calibrar la brújula.</string>
<string name="compass_calibration_recommended">Mejora la dirección de la flecha moviendo el teléfono en forma de ocho para calibrar la brújula.</string>
<!-- Toast text when compass calibration may improve the correctness of the current position arrow -->
<string name="compass_calibration_required">Mueva el teléfono en forma de ocho para calibrar la brújula y fijar la dirección de la flecha en el mapa.</string>
<string name="compass_calibration_required">Mueve el teléfono en forma de ocho para calibrar la brújula y fijar la dirección de la flecha en el mapa.</string>
<!-- Toast text when user hides UI with a long tap anywhere on the map -->
<string name="long_tap_toast">Vuelva a pulsar prolongadamente sobre el mapa para ver la interfaz</string>
<!-- Update all button text -->
@@ -305,13 +305,13 @@
<!-- Preference title -->
<!-- Preference description -->
<!-- Text for routing error dialog -->
<string name="routing_download_maps_along">Descargue todos los mapas de su ruta</string>
<string name="routing_download_maps_along">Descarga todos los mapas de tu ruta</string>
<!-- Text for routing error dialog -->
<string name="routing_requires_all_map">Para crear una ruta es necesario descargar y actualizar todos los mapas desde su ubicación a su destino.</string>
<!-- Text for routing error dialog -->
<string name="routing_not_enough_space">No hay suficiente espacio</string>
<!-- location service disabled -->
<string name="enable_location_services">Por favor, active los servicios de localización</string>
<string name="enable_location_services">Por favor, activa los Servicios de Localización</string>
<string name="save">Guardar</string>
<string name="create">crear</string>
<!-- red color -->
@@ -355,15 +355,15 @@
<string name="dialog_routing_disclaimer_beware">¡Manténgase alerta y a salvo durante el viaje!</string>
<string name="dialog_routing_check_gps">Verificar la señal del GPS</string>
<string name="dialog_routing_error_location_not_found">No se puede crear la ruta. No se pudieron identificar las coordenadas actuales del GPS.</string>
<string name="dialog_routing_location_turn_wifi">Verifique la señal del GPS. Activar la Wi-Fi mejorará la precisión de su ubicación.</string>
<string name="dialog_routing_location_turn_wifi">Verifica la señal del GPS. Activar la Wi-Fi mejorará la precisión de su ubicación.</string>
<string name="dialog_routing_location_turn_on">Activar servicios de ubicación</string>
<string name="dialog_routing_location_unknown_turn_on">No se pueden encontrar las coordenadas del GPS. Active los servicios de ubicación para calcular la ruta.</string>
<string name="dialog_routing_unable_locate_route">Imposible de encontrar una ruta</string>
<string name="dialog_routing_location_unknown_turn_on">No se pueden encontrar las coordenadas del GPS. Activa los servicios de ubicación para calcular la ruta.</string>
<string name="dialog_routing_unable_locate_route">No se pudo encontrar una ruta</string>
<string name="dialog_routing_cant_build_route">No se puede crear la ruta</string>
<string name="dialog_routing_change_start_or_end">Ajuste su punto de inicio o su destino.</string>
<string name="dialog_routing_change_start_or_end">Ajusta tu punto de inicio o tu destino.</string>
<string name="dialog_routing_change_start">Ajustar el punto de inicio</string>
<string name="dialog_routing_start_not_determined">La ruta no se creó. No se pudo encontrar el punto de inicio.</string>
<string name="dialog_routing_select_closer_start">Seleccione un punto de inicio cercano a una carretera.</string>
<string name="dialog_routing_select_closer_start">Selecciona un punto de inicio cercano a una carretera.</string>
<string name="dialog_routing_change_end">Ajustar destino</string>
<string name="dialog_routing_end_not_determined">La ruta no se creó. No se pudo encontrar el destino.</string>
<string name="dialog_routing_select_closer_end">Seleccione un punto de destino cercano a una carretera</string>
@@ -371,12 +371,12 @@
<string name="dialog_routing_intermediate_not_determined">Por favor, ajuste la parada intermedia</string>
<string name="dialog_routing_system_error">Error del sistema</string>
<string name="dialog_routing_application_error">No se pudo crear la ruta debido a un error en la aplicación</string>
<string name="dialog_routing_try_again">Intentar nuevamente</string>
<string name="not_now">No ahora</string>
<string name="dialog_routing_download_and_build_cross_route">¿Desea descargar el mapa y crear una ruta mejor que abarque más de un mapa?</string>
<string name="dialog_routing_download_cross_route">Descargue mapas adicionales para crear una ruta mejor que cruce los límites de este mapa.</string>
<string name="dialog_routing_try_again">Intenta nuevamente</string>
<string name="not_now">Ahora no</string>
<string name="dialog_routing_download_and_build_cross_route">¿Deseas descargar el mapa y crear una ruta mejor que abarque más de un mapa?</string>
<string name="dialog_routing_download_cross_route">Descarga mapas adicionales para crear una ruta mejor que cruce los límites de este mapa.</string>
<!-- SECTION: Strings for downloading map from search -->
<string name="search_without_internet_advertisement">Para empezar a buscar y crear rutas, descargue el mapa. Después de eso, ya no necesitará una conexión a Internet.</string>
<string name="search_without_internet_advertisement">Para empezar a buscar y crear rutas, descarga el mapa. Después de eso, ya no necesitarás una conexión a Internet.</string>
<string name="search_select_map">Seleccionar mapa</string>
<!-- «Show» context menu -->
<string name="show">Mostrar</string>
@@ -386,18 +386,18 @@
<string name="history">Historial</string>
<string name="search_not_found">No se encontró ningún resultado</string>
<!-- The message when user did not find anything in the search. -->
<string name="search_not_found_query">Descargue la región en la que está buscando o pruebe a añadir el nombre de una ciudad/pueblo cercano.</string>
<string name="search_not_found_query">Descarga la región en la que estás buscando o prueba añadir el nombre de una ciudad/pueblo cercano.</string>
<string name="search_history_title">Historial de búsquedas</string>
<string name="search_history_text">Ver búsquedas recientes</string>
<string name="clear_search">Vaciar historial de búsquedas</string>
<!-- Place Page link to Wikipedia article (if map object has it). -->
<string name="read_in_wikipedia">Wikipedia</string>
<string name="p2p_your_location">Su ubicación</string>
<string name="p2p_your_location">Tu ubicación</string>
<string name="p2p_start">Empezar</string>
<string name="p2p_from_here">Ruta desde</string>
<string name="p2p_to_here">Ruta hacia</string>
<string name="p2p_only_from_current">La navegación solo está disponible desde su ubicación actual</string>
<string name="p2p_reroute_from_current">¿Quiere planificar un itinerario desde su ubicación actual?</string>
<string name="p2p_reroute_from_current">¿Quieres planificar una ruta desde tu ubicación actual?</string>
<!-- Edit open hours/set time and minutes dialog -->
<string name="next_button">Siguiente</string>
<!-- Tab title in the Edit Opening Hours time picker -->
@@ -408,21 +408,21 @@
<string name="editor_time_delete">Eliminar horario</string>
<!-- Text for allday switch. -->
<string name="editor_time_allday">Todo el día (24 horas)</string>
<string name="editor_time_open">Abierto</string>
<string name="editor_time_close">Cerrado</string>
<string name="editor_time_add_closed">Añadir horas de cierre</string>
<string name="editor_time_open">Apertura</string>
<string name="editor_time_close">Cierre</string>
<string name="editor_time_add_closed">Añadir horas de pausa</string>
<string name="editor_time_title">Horario de apertura</string>
<string name="editor_time_advanced">Modo avanzado</string>
<string name="editor_time_simple">Modo sencillo</string>
<string name="editor_hours_closed">Horas de cierre</string>
<string name="editor_hours_closed">Horas de pausa</string>
<string name="editor_example_values">Valores de ejemplo</string>
<string name="editor_correct_mistake">Corregir error</string>
<string name="editor_add_select_location">Seleccione la ubicación</string>
<string name="editor_report_problem_desription_1">Por favor, describa el problema en detalle para que la comunidad de OpenStreetMap pueda corregir el error.</string>
<string name="editor_report_problem_desription_2">O hágalo usted mismo en https://www.openstreetmap.org/</string>
<string name="editor_add_select_location">Selecciona la ubicación</string>
<string name="editor_report_problem_desription_1">Por favor, describe el problema en detalle para que la comunidad de OpenStreetMap pueda corregir el error.</string>
<string name="editor_report_problem_desription_2">O hazlo tú mismo en https://www.openstreetmap.org/</string>
<string name="editor_report_problem_send_button">Enviar</string>
<string name="editor_report_problem_title">Problema</string>
<string name="editor_report_problem_no_place_title">El lugar no existe</string>
<string name="editor_report_problem_no_place_title">Este lugar no existe</string>
<string name="editor_report_problem_under_construction_title">Сerrado por mantenimiento</string>
<string name="editor_report_problem_duplicate_place_title">Lugar duplicado</string>
<string name="autodownload">Descarga automática</string>
@@ -436,14 +436,14 @@
<string name="closes_in">Cierra en %s</string>
<string name="closed">Cerrado</string>
<string name="edit_opening_hours">Editar los horarios de apertura</string>
<string name="no_osm_account">¿No tiene cuenta en OpenStreetMap?</string>
<string name="no_osm_account">¿No tienes cuenta en OpenStreetMap?</string>
<string name="register_at_openstreetmap">Registrarse en OpenStreetMap</string>
<string name="login">Acceder</string>
<!-- Status message indicating that user did not login to OSM profile yet. -->
<string name="not_signed_in">No se ha iniciado sesión</string>
<string name="login_osm">Acceder a OpenStreetMap</string>
<string name="password">Contraseña</string>
<string name="forgot_password">¿Ha olvidado su contraseña?</string>
<string name="forgot_password">¿Has olvidado tu contraseña?</string>
<string name="logout">Cerrar sesión</string>
<string name="edit_place">Editar el lugar</string>
<string name="add_language">Añadir un idioma</string>
@@ -458,7 +458,7 @@
<!-- Error to display when a new street name is not entered in the New street dialog -->
<string name="empty_street_name_error">Ingrese un nombre de calle</string>
<string name="choose_language">Elegir un idioma</string>
<string name="choose_street">Elija una calle</string>
<string name="choose_street">Elije una calle</string>
<string name="postal_code">Código postal</string>
<string name="cuisine">Cocina</string>
<string name="select_cuisine">Seleccionar cocina</string>
@@ -469,7 +469,7 @@
<string name="downloader_delete_map_dialog">Todas las ediciones hechas al mapa se eliminarán junto con este</string>
<string name="downloader_update_maps">Actualizar mapas</string>
<string name="downloader_mwm_migration_dialog">Para crear una ruta, es necesario actualizar todos los mapas y volver a planificar la ruta.</string>
<string name="downloader_search_field_hint">Buscar en el mapa</string>
<string name="downloader_search_field_hint">Buscar mapa</string>
<string name="common_check_internet_connection_dialog">Revise la configuración y asegúrese de que su dispositivo esté conectado a Internet</string>
<string name="downloader_no_space_title">No hay suficiente espacio</string>
<string name="downloader_no_space_message">Elimine los datos innecesarios</string>
@@ -489,7 +489,7 @@
<!-- Text in About and OSM Login screens. First %@ is replaced by a local, human readable date. -->
<string name="osm_presentation">Datos de OpenStreetMap creados por la comunidad a partir de %s. Más información sobre cómo editar y actualizar el mapa en OpenStreetMap.org</string>
<!-- OSM explanation on Android login screen -->
<string name="login_osm_presentation">OpenStreetMap.org (OSM) es un proyecto comunitario para construir un mapa libre y abierto. Es la principal fuente de datos cartográficos de CoMaps y funciona de forma similar a Wikipedia. Usted puede añadir o editar lugares y estos pasan a estar disponibles para millones de usuarios de todo el mundo.\n¡Únase a la comunidad y ayude a crear un mapa mejor para todos!</string>
<string name="login_osm_presentation">OpenStreetMap.org (OSM) es un proyecto comunitario para construir un mapa libre y abierto. Es la principal fuente de datos cartográficos de CoMaps y funciona de forma similar a Wikipedia. Puedes añadir o editar lugares y estos pasan a estar disponibles para millones de usuarios en todo el mundo.\n¡Únete a la comunidad y ayuda a crear un mapa mejor para todos!</string>
<string name="login_to_make_edits_visible">Cree una cuenta OpenStreetMap o inicie sesión para publicar sus ediciones de mapas en todo el mundo</string>
<!-- Downloaded 10 **of** 20 <- it is that "of" -->
<string name="downloader_of">%1$d de %2$d</string>
@@ -497,7 +497,7 @@
<string name="download_over_mobile_message">Podría ser muy caro con ciertos planes o con itinerancia de datos</string>
<string name="error_enter_correct_house_number">Introducir el número de domicilio correcto</string>
<!-- Error message in Editor when a user tries to set the number of floors for a building higher than %d floors -->
<string name="error_enter_correct_storey_number">El número de plantas no debe superar %d</string>
<string name="error_enter_correct_storey_number">El número de niveles no debe superar %d</string>
<string name="editor_zip_code">Código postal</string>
<string name="error_enter_correct_zip_code">Introduzca un código postal válido</string>
<!-- Place Page title for long tap -->
@@ -505,18 +505,18 @@
<!-- Title for OSM note section in the editor -->
<string name="editor_other_info">Nota para los voluntarios de OpenStreetMap (opcional)</string>
<!-- Hint of the input field in the OSM note section of the editor -->
<string name="editor_note_hint">Describa los errores en el mapa o las cosas que no se pueden editar con CoMaps</string>
<string name="editor_note_hint">Describe los errores en el mapa o las cosas que no se pueden editar con CoMaps</string>
<!-- Information about OSM at the top of the editing page -->
<string name="editor_about_osm">Sus ediciones se cargan en la base de datos pública <a href="https://wiki.openstreetmap.org/wiki/ES:Acerca_de_OpenStreetMap">OpenStreetMap</a>. Por favor, no añada información personal o protegida por derechos de autor.</string>
<string name="editor_more_about_osm">Más acerca de OpenStreetMap</string>
<string name="editor_osm_history">Su historial de ediciones</string>
<string name="editor_osm_notes">Mis notas de datos cartográficos</string>
<string name="editor_osm_history">Tu historial de ediciones</string>
<string name="editor_osm_notes">Tus notas de datos cartográficos</string>
<string name="editor_operator">Operador</string>
<!-- To indicate the operator of ATMs, bicycle rentals, electric vehicle charging stations... -->
<string name="operator">Operador: %s</string>
<string name="editor_category_unsuitable_title">¿No halla una categoría adecuada?</string>
<string name="editor_category_unsuitable_text">CoMaps permite añadir únicamente categorías de puntos sencillos, es decir, no ciudades, carreteras, lagos, contornos de edificios, etc. Por favor, añada dichas categorías directamente a <a href="https://www.openstreetmap.org">OpenStreetMap.org</a>. Consulte nuestra <a href="https://www.comaps.app/support/advanced-map-editing/">guía</a> para obtener instrucciones detalladas paso a paso.</string>
<string name="downloader_no_downloaded_maps_title">No ha descargado ningún mapa</string>
<string name="editor_category_unsuitable_text">CoMaps permite añadir únicamente categorías de puntos sencillos, es decir, no ciudades, carreteras, lagos, contornos de edificios, etc. Por favor, añade dichas categorías directamente en <a href="https://www.openstreetmap.org">OpenStreetMap.org</a>. Consulta nuestra <a href="https://www.comaps.app/support/advanced-map-editing/">guía</a> para obtener instrucciones detalladas paso a paso.</string>
<string name="downloader_no_downloaded_maps_title">No has descargado ningún mapa</string>
<string name="downloader_no_downloaded_maps_message">Descargue mapas para encontrar la ubicación y navegar sin conexión</string>
<string name="current_location_unknown_error_title">Se desconoce la ubicación actual</string>
<!-- abbreviation for meters -->
@@ -543,32 +543,32 @@
<string name="editor_remove_place_button">Eliminar</string>
<string name="editor_place_doesnt_exist">El lugar no existe</string>
<!-- Error message for "Place doesn't exist" dialog when comment is empty -->
<string name="delete_place_empty_comment_error">Indique la razón para eliminar el lugar</string>
<string name="delete_place_empty_comment_error">Indica la razón para eliminar el lugar</string>
<!-- Phone number error message -->
<string name="error_enter_correct_phone">Introduzca un número de teléfono válido</string>
<string name="error_enter_correct_web">Introduzca una dirección web válida</string>
<string name="error_enter_correct_email">Introduzca un correo válido</string>
<string name="error_enter_correct_facebook_page">Introduzca una dirección web, una cuenta o un nombre de página de Facebook válidos</string>
<string name="error_enter_correct_phone">Introduce un número de teléfono válido</string>
<string name="error_enter_correct_web">Introduce una dirección web válida</string>
<string name="error_enter_correct_email">Introduce un correo electrónico válido</string>
<string name="error_enter_correct_facebook_page">Introduce una dirección web, una cuenta o un nombre de página de Facebook válidos</string>
<string name="error_enter_correct_instagram_page">Introduzca una dirección web o un nombre de cuenta de Instagram válidos</string>
<string name="error_enter_correct_twitter_page">Introduzca una dirección web o un nombre de usuario válido de Twitter</string>
<string name="error_enter_correct_twitter_page">Introduce una dirección web o un nombre de usuario válido de Twitter</string>
<string name="error_enter_correct_vk_page">Introduzca una dirección web o un nombre de cuenta de VK válidos</string>
<string name="error_enter_correct_line_page">Introduzca una dirección web o ID de LINE válidos</string>
<string name="placepage_add_place_button">Añadir lugar a OpenStreetMap</string>
<!-- Displayed when saving some edits to the map to warn against publishing personal data -->
<string name="editor_share_to_all_dialog_title">¿Quiere enviarlo a todos los usuarios?</string>
<string name="editor_share_to_all_dialog_title">¿Quieres enviarlo a todos los usuarios?</string>
<!-- Dialog before publishing the modifications to the public map. -->
<string name="editor_share_to_all_dialog_message_1">Cerciórate de que no has introducido ningún dato privado o personal</string>
<string name="editor_share_to_all_dialog_message_2">Los editores de OpenStreetMap comprobarán los cambios y se pondrán en contacto contigo si tienen alguna pregunta</string>
<string name="navigation_stop_button">Detener</string>
<!-- Shown as toast when starting the recent track recording -->
<string name="track_recording">Grabando el trayecto</string>
<string name="track_recording">Grabando el trayeco</string>
<!-- For the first routing -->
<string name="accept">Aceptar</string>
<!-- For the first routing -->
<string name="decline">Declinar</string>
<string name="mobile_data_dialog">¿Usar Internet móvil para mostrar información detallada?</string>
<string name="mobile_data_option_always">Usar siempre</string>
<string name="mobile_data_option_today">Solo hoy</string>
<string name="mobile_data_option_today">Sólo hoy</string>
<string name="mobile_data_option_not_today">No usar hoy</string>
<string name="mobile_data">Internet móvil</string>
<!-- NOTE to translators: please synchronize your translation with the English one. -->
@@ -577,7 +577,7 @@
<string name="mobile_data_option_ask">Preguntar siempre</string>
<string name="traffic_update_maps_text">Para mostrar los datos de tráfico, deben actualizarse los mapas</string>
<string name="big_font">Aumentar tamaño del texto en el mapa</string>
<string name="traffic_update_app">Actualice CoMaps</string>
<string name="traffic_update_app">Actualiza CoMaps</string>
<!-- "traffic" as in "road congestion" -->
<string name="traffic_data_unavailable">Los datos de tráfico no están disponibles</string>
<string name="enable_logging">Activar registros</string>
@@ -616,28 +616,28 @@
</plurals>
<string name="bookmarks_create_new_group">Crear nueva lista</string>
<!-- Bookmark categories screen, button that opens folder selection dialog to import KML/KMZ/GPX/KMB files -->
<string name="bookmarks_import">Importar marcadores y trayectos</string>
<string name="bookmarks_import">Importar marcadores y trazas</string>
<string name="bookmarks_error_message_share_general">No se puede compartir debido a un error de la aplicación</string>
<string name="bookmarks_error_title_share_empty">Error al compartir</string>
<string name="bookmarks_error_message_share_empty">No se puede compartir una lista vacía</string>
<string name="bookmarks_error_title_empty_list_name">El nombre no puede quedar vacío</string>
<string name="bookmarks_error_message_empty_list_name">Proporcione el nombre de la lista</string>
<string name="bookmarks_new_list_hint">Lista nueva</string>
<string name="bookmarks_error_title_list_name_already_taken">Este nombre ya existe</string>
<string name="bookmarks_error_message_list_name_already_taken">Elija otro nombre</string>
<string name="bookmarks_error_title_list_name_already_taken">Este nombre ya está ocupado</string>
<string name="bookmarks_error_message_list_name_already_taken">Elije otro nombre</string>
<string name="please_wait">Espere…</string>
<string name="phone_number">Número de teléfono</string>
<string name="profile">Perfil de OpenStreetMap</string>
<plurals name="bookmarks_detect_message">
<item quantity="one">Se encontró %d archivo. Lo verá después de la conversión.</item>
<item quantity="many">Se han encontrado %d archivos. Los verá después de la conversión.</item>
<item quantity="other">Se han encontrado %d archivos. Los verá después de la conversión.</item>
<item quantity="one">Se encontró %d archivo. Lo verás después de la conversión.</item>
<item quantity="many">Se han encontrado %d archivos. Los verás después de la conversión.</item>
<item quantity="other">Se han encontrado %d archivos. Los verás después de la conversión.</item>
</plurals>
<string name="restore">Restaurar</string>
<plurals name="tracks">
<item quantity="one">%d trayecto</item>
<item quantity="many">%d trayectos</item>
<item quantity="other">%d trayectos</item>
<item quantity="one">%d traza</item>
<item quantity="many">%d trazas</item>
<item quantity="other">%d trazas</item>
</plurals>
<!-- Settings privacy group in settings screen -->
<string name="privacy">Privacidad</string>
@@ -656,7 +656,7 @@
<string name="public_access">Acceso público</string>
<string name="limited_access">Acceso limitado</string>
<string name="not_shared">Privado</string>
<string name="speedcams_alert_title">Cámaras de velocidad</string>
<string name="speedcams_alert_title">Radares de velocidad</string>
<string name="place_description_title">Descripción del lugar</string>
<!-- this text will be shown in application notification preferences opposite checkbox which enable/disable downloader notifications. Devices on Android 8+ are affected. -->
<string name="notification_channel_downloader">Descargar mapas</string>

View File

@@ -4,7 +4,7 @@
<string name="type.addr_interpolation">Dirección/manzana</string>
<string name="type.addr_interpolation.even">Dirección/manzana</string>
<string name="type.addr_interpolation.odd">Dirección/manzana</string>
<string name="type.aerialway">Transporte aéreo</string>
<string name="type.aerialway">Transporte por Cable</string>
<string name="type.aerialway.cable_car">Teleférico</string>
<string name="type.aerialway.chair_lift">Telesilla</string>
<string name="type.aerialway.drag_lift">Telesquí</string>
@@ -37,7 +37,7 @@
<string name="type.amenity.cafe">Café</string>
<string name="type.amenity.car_rental">Alquiler de coches</string>
<string name="type.amenity.motorcycle_rental">Alquiler de motocicletas</string>
<string name="type.amenity.car_sharing">Compartir coche</string>
<string name="type.amenity.car_sharing">Car Sharing</string>
<string name="type.amenity.car_wash">Lavado de coches</string>
<string name="type.amenity.casino">Casino</string>
<string name="type.amenity.gambling">Juegos de apuestas</string>
@@ -50,7 +50,7 @@
<string name="type.amenity.cinema">Cine</string>
<string name="type.leisure.bowling_alley">Bolera</string>
<string name="type.amenity.clinic">Clínica</string>
<string name="type.amenity.college">Colegio</string>
<string name="type.amenity.college">Facultad</string>
<string name="type.amenity.community_centre">Centro comunitario</string>
<string name="type.amenity.compressed_air">Aire comprimido</string>
<string name="type.amenity.conference_centre">Centro de conferencias</string>
@@ -180,7 +180,7 @@
<string name="type.amenity.vending_machine.excrement_bags">Maquina expendedora de bolsas para excrementos</string>
<string name="type.amenity.parcel_locker">Taquilla de paquetes</string>
<string name="type.amenity.vehicle_inspection">Inspección de vehículos</string>
<string name="type.amenity.vending_machine.fuel">Maquina expendedora de combustible</string>
<string name="type.amenity.vending_machine.fuel">Surtidor de combustible</string>
<string name="type.amenity.veterinary">Clínica veterinaria</string>
<string name="type.amenity.waste_basket">Papelera</string>
<string name="type.amenity.waste_disposal">Contenedor de basura</string>
@@ -226,11 +226,11 @@
<string name="type.boundary.protected_area.4">Área protegida</string>
<string name="type.boundary.protected_area.5">Área protegida</string>
<string name="type.boundary.protected_area.6">Área protegida</string>
<string name="type.building">Edificio</string>
<string name="type.building">Edificación</string>
<!-- Duplicates [address] in strings.txt -->
<string name="type.building.address">Dirección</string>
<string name="type.building.has_parts">Edificio</string>
<string name="type.building_part">Edificio</string>
<string name="type.building.has_parts">Edificación</string>
<string name="type.building_part">Edificación</string>
<string name="type.building.garage">Garaje</string>
<string name="type.building.train_station">Edificio de la estación</string>
<string name="type.building.warehouse">Almacén</string>
@@ -243,22 +243,22 @@
<string name="type.craft.carpenter">Carpintero</string>
<string name="type.craft.confectionery">Confitería</string>
<string name="type.craft.electrician">Electricista</string>
<string name="type.craft.electronics_repair">Reparación de aparatos electrónicos</string>
<string name="type.craft.electronics_repair">Reparación de electrónicos</string>
<string name="type.craft.gardener">Paisajista</string>
<string name="type.craft.grinding_mill">Molino de molienda</string>
<string name="type.craft.handicraft">Artesanía</string>
<!-- Heating, Ventilation, and Air Conditioning -->
<string name="type.craft.hvac">Calefacción, ventilación y aire acondicionado</string>
<string name="type.craft.hvac">Climatización</string>
<string name="type.craft.key_cutter">Copista de llaves</string>
<string name="type.craft.locksmith">Cerrajero</string>
<string name="type.craft.metal_construction">Trabajador del metal</string>
<string name="type.craft.locksmith">Cerrajería</string>
<string name="type.craft.metal_construction">Metalistería</string>
<string name="type.craft.painter">Pintor</string>
<string name="type.craft.photographer">Fotógrafo</string>
<string name="type.shop.camera">Tienda de cámaras</string>
<string name="type.shop.camera">Tienda de fotografía</string>
<string name="type.craft.plumber">Fontanero</string>
<string name="type.craft.sawmill">Serrería</string>
<string name="type.craft.shoemaker">Zapatero</string>
<string name="type.craft.winery">Bodega</string>
<string name="type.craft.winery">Bodega vinícola</string>
<string name="type.craft.tailor">Sastre</string>
<string name="type.cuisine.african">Africana</string>
<string name="type.cuisine.american">Estadounidense</string>
@@ -266,7 +266,7 @@
<string name="type.cuisine.argentinian">Argentina</string>
<string name="type.cuisine.asian">Asiática</string>
<string name="type.cuisine.austrian">Austriaca</string>
<string name="type.cuisine.bagel">Bágel</string>
<string name="type.cuisine.bagel">Bagel</string>
<string name="type.cuisine.balkan">Balcánica</string>
<string name="type.cuisine.barbecue">Barbacoa</string>
<string name="type.cuisine.bavarian">Bávara</string>
@@ -275,7 +275,7 @@
<string name="type.cuisine.breakfast">Desayunos</string>
<string name="type.cuisine.bubble_tea">Té de burbujas</string>
<string name="type.cuisine.burger">Hamburguesería</string>
<string name="type.cuisine.buschenschank">Buschenschank (especialidad austríaca)</string>
<string name="type.cuisine.buschenschank">Buschenschank</string>
<string name="type.cuisine.cake">Tartas</string>
<string name="type.cuisine.caribbean">Caribeña</string>
<string name="type.cuisine.chicken">Pollo</string>
@@ -474,11 +474,11 @@
<string name="type.highway.service">Vía de servicio</string>
<string name="type.highway.service.area">Vía de servicio</string>
<!-- These translations are used for all type.highway.*.bridge. -->
<string name="type.highway.service.bridge">Puente de carretera de servicio</string>
<string name="type.highway.service.bridge">Puente</string>
<string name="type.highway.service.driveway">Vía de servicio</string>
<string name="type.highway.service.parking_aisle">Pasillo de aparcamiento</string>
<!-- These translations are used for all type.highway.*.tunnel. -->
<string name="type.highway.service.tunnel">Túnel de vía de servicio</string>
<string name="type.highway.service.tunnel">Túnel</string>
<string name="type.highway.services">Área de servicio</string>
<string name="type.highway.speed_camera">Radar de velocidad</string>
<string name="type.highway.steps">Escaleras</string>
@@ -1359,6 +1359,29 @@
<string name="type.man_made.utility_pole">Poste</string>
<string name="type.railway.abandoned.tunnel">Túnel ferroviario abandonado</string>
<string name="type.railway.abandoned.bridge">Puente ferroviario abandonado</string>
<string name="type.highway.world_level">highway-world_level</string>
<string name="type.hwtag">hwtag</string>
<string name="type.hwtag.bidir_bicycle">hwtag-bidir_bicycle</string>
<string name="type.hwtag.lit">hwtag-lit</string>
<string name="type.hwtag.private">hwtag-private</string>
<string name="type.hwtag.toll">hwtag-toll</string>
<string name="type.hwtag.yesbicycle">hwtag-yesbicycle</string>
<string name="type.hwtag.yescar">hwtag-yescar</string>
<string name="type.psurface">psurface</string>
<string name="type.psurface.paved_bad">psurface-paved_bad</string>
<string name="type.psurface.unpaved_good">psurface-unpaved_good</string>
<string name="type.hwtag.nocar">hwtag-nocar</string>
<string name="type.hwtag.nofoot">hwtag-nofoot</string>
<string name="type.psurface.unpaved_bad">psurface-unpaved_bad</string>
<string name="type.psurface.paved_good">psurface-paved_good</string>
<string name="type.mapswithme.grid">mapswithme-grid</string>
<string name="type.hwtag.onedir_bicycle">hwtag-onedir_bicycle</string>
<string name="type.hwtag.yesfoot">hwtag-yesfoot</string>
<string name="type.mapswithme">MapsWithMe</string>
<string name="type.hwtag.nobicycle">hwtag-nobicycle</string>
<string name="type.hwtag.oneway">hwtag-oneway</string>
<string name="type.route.shuttle_train">route-shuttle_train</string>
<string name="type.highway.world_towns_level">highway-world_towns_level</string>
<string name="type.railway.funicular.bridge">Puente de funicular</string>
<string name="type.railway.funicular.tunnel">Túnel de funicular</string>
<string name="type.railway.light_rail.tunnel">Túnel de tren ligero</string>

Some files were not shown because too many files have changed in this diff Show More