mirror of
https://codeberg.org/comaps/comaps
synced 2026-01-08 13:27:57 +00:00
Compare commits
94 Commits
hb0nd-exit
...
generate-2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0bee4e074e | ||
|
|
93ebf8072c | ||
|
|
d8422615cd | ||
|
|
6e57c13649 | ||
|
|
4f9dbdced5 | ||
|
|
6734756748 | ||
|
|
ae9f4eabb6 | ||
|
|
fcef5da3ac | ||
|
|
b5eeece849 | ||
|
|
34477e34e4 | ||
|
|
af2c84f4e8 | ||
|
|
8cf42fa0d0 | ||
|
|
8b7a47026b | ||
|
|
da63ae54f4 | ||
|
|
876c4e376a | ||
|
|
b09b58ad49 | ||
|
|
728fb551c2 | ||
|
|
39bd613d8b | ||
|
|
c014e224b2 | ||
|
|
93293e7b31 | ||
|
|
e9aded43fb | ||
|
|
7cbe29db72 | ||
|
|
a63cf538e8 | ||
|
|
5e141e2a98 | ||
|
|
2237cda8ee | ||
|
|
4da403b8c0 | ||
|
|
cda311aff0 | ||
|
|
f290b2948e | ||
|
|
ee25fa0e36 | ||
|
|
76cb6803c2 | ||
|
|
9e38cff708 | ||
|
|
2db63d5798 | ||
|
|
9d3d9fd758 | ||
|
|
e1bdac53e8 | ||
|
|
fe9a679d10 | ||
|
|
8c19e6ef2e | ||
|
|
2b17fbfd85 | ||
|
|
a389dbfded | ||
|
|
4f34d27c6d | ||
|
|
702eec643a | ||
|
|
a63bd8894b | ||
|
|
a48a9a67a4 | ||
|
|
a35ec0df90 | ||
|
|
c600374ecc | ||
|
|
094f481691 | ||
|
|
d8b96e56c0 | ||
|
|
c8c7110736 | ||
|
|
d4d4755145 | ||
|
|
7eb7fcdffd | ||
|
|
442a55ce69 | ||
|
|
1d4b69e37d | ||
|
|
0bec4a6ccc | ||
|
|
f9a1606f89 | ||
|
|
ca5cc46f2b | ||
|
|
05cc660641 | ||
|
|
380981953d | ||
|
|
f0f52c1a11 | ||
|
|
55639db3ec | ||
|
|
4953da4ecf | ||
|
|
186c326e2b | ||
|
|
7d82c6ffae | ||
|
|
622b97e84c | ||
|
|
19e1c4b90e | ||
|
|
728d0ad806 | ||
|
|
e117be1816 | ||
|
|
165e844308 | ||
|
|
2dce119370 | ||
|
|
de305e1a87 | ||
|
|
f3c30cbf85 | ||
|
|
3c1b8be5ce | ||
|
|
ea1d0eefa2 | ||
|
|
4bad37a829 | ||
|
|
9f8451596a | ||
|
|
3708ee74d3 | ||
|
|
77e81ff431 | ||
|
|
08f8fbb856 | ||
|
|
3fd5336bd3 | ||
|
|
fdcbafa23d | ||
|
|
820a5d1e45 | ||
|
|
395c8d7787 | ||
|
|
0d978e4b71 | ||
|
|
88e52b3421 | ||
|
|
ca4b75dc51 | ||
|
|
ae85b79c33 | ||
|
|
fd63e77396 | ||
|
|
0fccf66b27 | ||
|
|
6b86fd0d2e | ||
|
|
718d0f726b | ||
|
|
b761a60246 | ||
|
|
f84461bff8 | ||
|
|
c9de67762c | ||
|
|
a338a18590 | ||
|
|
eaeae8f31d | ||
|
|
7a95d15bef |
2
.github/workflows/android-check.yaml
vendored
2
.github/workflows/android-check.yaml
vendored
@@ -6,7 +6,7 @@ on:
|
||||
- main
|
||||
|
||||
env:
|
||||
JAVA_HOME: /usr/lib/jvm/temurin-17-jdk-amd64 # Java 17 is required for Android Gradle 8 plugin
|
||||
JAVA_HOME: /usr/lib/jvm/temurin-21-jdk-amd64 # Java 21 is required for Android Gradle 8 plugin
|
||||
SKIP_MAP_DOWNLOAD: true
|
||||
|
||||
jobs:
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -9,6 +9,7 @@ Makefile.Release
|
||||
object_script.*.Debug
|
||||
object_script.*.Release
|
||||
compile_commands.json
|
||||
*.local.*
|
||||
|
||||
stxxl.errlog
|
||||
stxxl.log
|
||||
|
||||
@@ -120,7 +120,7 @@ if (PLATFORM_LINUX AND (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_BUILD_T
|
||||
add_compile_options(-fno-fat-lto-objects)
|
||||
# To fix ar and ranlib "plugin needed to handle lto object".
|
||||
string(REGEX MATCH "[0-9]+" GCC_MAJOR_VERSION ${CMAKE_CXX_COMPILER_VERSION})
|
||||
file(GLOB_RECURSE plugin /usr/lib/gcc/*/${GCC_MAJOR_VERSION}/liblto_plugin.so)
|
||||
file(GLOB_RECURSE plugin /usr/lib/gcc/*/${GCC_MAJOR_VERSION}*/liblto_plugin.so)
|
||||
set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> --plugin ${plugin} qcs <TARGET> <OBJECTS>")
|
||||
set(CMAKE_C_ARCHIVE_FINISH "<CMAKE_RANLIB> --plugin ${plugin} <TARGET>")
|
||||
set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> --plugin ${plugin} qcs <TARGET> <OBJECTS>")
|
||||
|
||||
@@ -51,6 +51,9 @@ A community-led free & open source maps app based on [OpenStreetMap](https://www
|
||||
<a href="https://f-droid.org/en/packages/app.comaps.fdroid/">
|
||||
<img src="docs/badges/fdroid.png" alt="F-Droid" width="160"/>
|
||||
</a>
|
||||
<a href="https://apt.izzysoft.de/fdroid/index/apk/app.comaps">
|
||||
<img src="docs/badges/izzyondroid.png" alt="Obtainium" width="160"/>
|
||||
</a>
|
||||
<a href="https://apps.obtainium.imranr.dev/redirect?r=obtainium://add/https://codeberg.org/comaps/comaps">
|
||||
<img src="docs/badges/obtainium.png" alt="Obtainium" width="160"/>
|
||||
</a>
|
||||
|
||||
@@ -29,12 +29,12 @@ def getCommitMessage() {
|
||||
project.ext.appId = 'app.comaps'
|
||||
project.ext.appName = 'CoMaps'
|
||||
|
||||
// I have Java 21 installed, but this doesn't work on MacOS.
|
||||
//java {
|
||||
// toolchain {
|
||||
// languageVersion.set(JavaLanguageVersion.of(17))
|
||||
// }
|
||||
//}
|
||||
|
||||
java {
|
||||
toolchain {
|
||||
languageVersion.set(JavaLanguageVersion.of(21))
|
||||
}
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = 'app.organicmaps'
|
||||
@@ -311,8 +311,8 @@ android {
|
||||
compileOptions {
|
||||
coreLibraryDesugaringEnabled = true
|
||||
|
||||
sourceCompatibility JavaVersion.VERSION_17
|
||||
targetCompatibility JavaVersion.VERSION_17
|
||||
sourceCompatibility JavaVersion.VERSION_21
|
||||
targetCompatibility JavaVersion.VERSION_21
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
মানচিত্র নেভিগেশন - আপনার যাত্রা সম্পর্কে আরও জানুন - সম্প্রদায় কর্তৃক পরিচালিত
|
||||
1
android/app/src/fdroid/play/listings/bn-BD/title.txt
Normal file
1
android/app/src/fdroid/play/listings/bn-BD/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
কোম্যাপস - অফলাইনে হাইকিং, সাইকেলিং ও ড্রাইভিং
|
||||
@@ -1 +0,0 @@
|
||||
সহজ মানচিত্র নেভিগেশন - আপনার যাত্রা সম্পর্কে আরও জানুন - সম্প্রদায় কর্তৃক পরিচালিত
|
||||
@@ -1 +0,0 @@
|
||||
কোম্যাপস - অফলাইনে হাইকিং, সাইকেলিং এবং ড্রাইভিং করুন গোপনীয়তা সহ
|
||||
@@ -1,7 +0,0 @@
|
||||
• Data OpenStreetMap k 4. 8.
|
||||
• vylepšené barvy mapy pro vodu, lesy, křoviny, různé vybavení, pěší zóny atd.
|
||||
• přidány stanice lesní stráže, krytých parkovišť pro jízdní kola, únikových her, úschoven zavazadel, partnerských pošt
|
||||
• vylepšeny výškové vrstevnice na 20 m pro některé oblíbené turistické oblasti
|
||||
• podpora více zkratek a aliasů pro vyhledávání
|
||||
• přidání ikon pro vyhledávání a záložky pro rychlé občerstvení, jízdní kola a dobíjecí stanice
|
||||
• plynulejší pohyb šipky pro určení polohy
|
||||
@@ -1,7 +1,8 @@
|
||||
• OpenStreetMap-Daten vom 4. August
|
||||
• Verbesserte Farben für Wasser, Wälder, Gestrüpp, verschiedene Einrichtungen, Fussgängerbereiche etc.
|
||||
• Besucherstationen, überdachte Fahrradparkplätze, Escaperooms, Gepäckschließfächer, und Postpartner hinzugefügt
|
||||
• Konturhöhenlinien aktualisiert, bis zu 20m für beliebte Wanderregionen
|
||||
• Unterstützung für mehr Such-Abkürzungen und Synonyme
|
||||
• Such- und Lesezeichen-Symbole für Fast Food, Rad- und Lade-Stationen
|
||||
• Der Positionspfeil bewegt sich gleichmässiger
|
||||
• OpenStreetMap-Daten vom 22. August
|
||||
• Neue Geschwindigkeitsanzeige & Details aufgezeichneter Strecken
|
||||
• Besserer dunkler Modus, neue farbige Labels
|
||||
• Anzeige wann Orte & Öffnungszeiten überprüft wurden
|
||||
• Routenplanung berücksichtigt Stoppschilder, Ampeln & bedingte Einschränkungen.
|
||||
• GPS-Peilung wird statt Kompass bevorzugt & höhere GPS-Frequenz.
|
||||
• Adressen & Notizen im OSM-Editor unterstützt.
|
||||
• Mehr Verbesserungen an UI-Elementen & Kartenstil, alle Details in den Codeberg-Versionshinweisen!
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
• OpenStreetMap data as of August 4
|
||||
• improve map colors for water, forests, scrubs, various amenities, pedestrian areas etc.
|
||||
• add ranger stations, covered bicycle parkings, escape games, luggage lockers, post office partners
|
||||
• upgrade altitude contour lines to 20m step for some popular hiking regions
|
||||
• support more search abbreviations and aliases
|
||||
• add search and bookmark icons for fast food, bicycle and charging stations
|
||||
• more smooth position arrow movements
|
||||
• OpenStreetMap data as of August 22
|
||||
• New current speed indicator, display track info
|
||||
• Improved dark map style, added coloured labels
|
||||
• Display when places & opening hours were last checked
|
||||
• Routing now considers turns, stop signs, lights & conditional restrictions
|
||||
• Prefer GPS bearing over compass and increase location poll rate
|
||||
• Enable adding standalone addresses & notes in the editor
|
||||
• Various UI element & map style improvements
|
||||
Check our Codeberg release notes for more changes!
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
• Datos de OpenStreetMap a fecha 2025.08.04
|
||||
• Mejora de colores del mapa para agua, bosques, matorrales, servicios, zonas peatonales, etc.
|
||||
• Añadidas estaciones de guardabosques, aparcamientos cubiertos de bicis, juegos de escape, consignas y oficinas de correo
|
||||
• Nuevas curvas de nivel (20 m) en regiones populares para senderismo
|
||||
• Más abreviaturas y alias de búsqueda
|
||||
• Iconos de búsqueda y marcadores para comida rápida, bicicletas y estaciones de recarga
|
||||
• Más fluidez de la flecha de posición
|
||||
• Datos de OSM a 22-08-2025
|
||||
• Nuevo indicador de velocidad e información de pista
|
||||
• Modo oscuro mejorado y nombres de POI coloreados
|
||||
• Indicador de última revisión de lugares y horarios de apertura
|
||||
• Rutas mejoradas teniendo en cuenta giros, señales de STOP, semáforos y restricciones
|
||||
• Mayor precisión para determinar tu localización y sentido
|
||||
• Añade direcciones y notas con el editor
|
||||
• Otras mejoras en elementos de la interfaz y estilo del mapa
|
||||
Entra en nuestro Codeberg para más cambios!
|
||||
|
||||
@@ -1 +1 @@
|
||||
CoMaps - کوه نوردی، دوچرخه سواری و رانندگی افلاین و خصوصی
|
||||
CoMaps - کوهنوردی، دوچرخهسواری و رانندگی آفلاین
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
• Données OSM du 22 août
|
||||
• Nouvel indicateur de vitesse et détails des pistes
|
||||
• Amélioration du style sombre, ajout de labels colorées
|
||||
• Affichage de la date de dernière vérification d'un lieu
|
||||
• Support dans le routage des virages, signalisations et restrictions
|
||||
• Amélioration de la boussole et de la précision GPS
|
||||
• Support des adresses et des notes dans l'éditeur
|
||||
• Diverses améliorations d'UI et du style de la carte
|
||||
Plus d'informations sur notre Codeberg
|
||||
@@ -1 +1 @@
|
||||
CoMaps - Pješačite, biciklirajte, vozite Offline i privatno
|
||||
CoMaps - Pješačite, biciklirajte, vozite Offline
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
Navigation facile del mappa – Discoperi tu viage – Alimentate per le communitate
|
||||
@@ -1,7 +0,0 @@
|
||||
• Dati di OpenStreetMap aggiornati al 4 Agosto
|
||||
• Migliorati i colori per acqua, foreste, servizi etc
|
||||
• Aggiunte le stazioni delle guardie forestali, i parcheggi coperti per bici, gli escape games e altri servizi
|
||||
• Aggiornato l'intervallo delle isolinee a 20 m per le zone escursionistiche più popolari
|
||||
• Aggiunto il supporto per un maggior numero di alias
|
||||
• Aggiunte le icone per i fast food, i punti di ricarica e le biciclette
|
||||
• Resi più fluidi i movimenti della freccia di posizione
|
||||
1
android/app/src/fdroid/play/listings/no-NO/title.txt
Normal file
1
android/app/src/fdroid/play/listings/no-NO/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
CoMaps - Gå tur, sykkel, kjør - med personvern
|
||||
@@ -1,7 +1,8 @@
|
||||
• Dados OSM de 4/08
|
||||
• Melhoria nas cores para água, florestas, matagais, serviços, áreas de pedestres, etc.
|
||||
• Adição de guarda-florestais, estacionamentos cobertos para bicicletas, jogos de fuga, armários para bagagem e parceiros postais
|
||||
• Melhoria na precisão de curvas de nível para 20 m em algumas regiões populares
|
||||
• Suporte a mais abreviações para busca
|
||||
• Adição de ícones de pesquisa e favoritos para fast food, bicicletas e estações de recarga
|
||||
• Movimentos mais suaves para seta de posição
|
||||
• Dados OSM de 22/08
|
||||
• Novo indicador de velocidade e tela de informações de trilha
|
||||
• Melhor estilo de mapa escuro, rótulos coloridos adicionados
|
||||
• Exibição da última atualização de locais e horários de funcionamento
|
||||
• O roteamento agora considera conversões, PARE, semáforos, e restrições condicionais
|
||||
• Preferência por orientação GPS em vez de bússola e aumento da frequência de localização
|
||||
• Editor: adição de endereços e notas independentes
|
||||
• Melhorias em elementos da interface e estilo de mapa
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
Um aplicativo de mapas gratuito e de código aberto, liderado pela comunidade, baseado em dados do OpenStreetMap e reforçado pelo compromisso com a transparência, privacidade e sem fins lucrativos. O CoMaps é um fork/spin-off do Organic Maps, que por sua vez é um fork do Maps.ME.
|
||||
|
||||
Leia mais sobre os motivos do projeto e sua direção em <b><i>codeberg.org/comaps</i></b>.
|
||||
Junte-se à comunidade e ajude a criar o melhor aplicativo de mapas.
|
||||
• Use o aplicativo e divulgue-o.
|
||||
• Envie feedback e relate problemas.
|
||||
• Atualize os dados do mapa no aplicativo ou no site do OpenStreetMap.
|
||||
|
||||
‣ <b>Foco offline</b>: Planeje e navegue em sua viagem ao exterior sem a necessidade de sinal de celular, pesquise pontos de referência durante uma caminhada distante, etc. Todas as funções do aplicativo foram projetadas para funcionar offline.
|
||||
‣ <b>Respeitando a privacidade</b>: O aplicativo foi projetado com a privacidade em mente - não identifica pessoas, não rastreia e não coleta informações pessoais. Sem anúncios.
|
||||
‣ <b>Simples e sofisticado</b>: recursos essenciais e fáceis de usar que simplesmente funcionam.
|
||||
‣ <b>Economiza bateria e espaço</b>: Não consome muita bateria como outros aplicativos de navegação. Mapas compactos economizam espaço precioso no seu celular.
|
||||
‣ <b>Gratuito e desenvolvido pela comunidade</b>: Pessoas como você ajudaram a desenvolver o aplicativo adicionando lugares ao OpenStreetMap, testando e dando feedback sobre os recursos e contribuindo com suas habilidades de desenvolvimento e dinheiro.
|
||||
‣ <b>Tomada de decisões e finanças abertas e transparentes, sem fins lucrativos e totalmente de código aberto.</b>
|
||||
|
||||
<b>Principais recursos</b>:
|
||||
• Mapas detalhados para download com locais não disponíveis no Google Maps
|
||||
• Modo ao ar livre com trilhas em destaque, acampamentos, fontes de água, picos, curvas de nível, etc.
|
||||
• Trilhas para caminhada e ciclovias
|
||||
• Pontos de interesse como restaurantes, postos de gasolina, hotéis, lojas, pontos turísticos e muito mais
|
||||
• Pesquise por nome, endereço ou por categoria de ponto de interesse
|
||||
• Navegação com anúncios de voz para caminhadas, ciclismo ou direção
|
||||
• Marque seus lugares favoritos com um único toque
|
||||
• Artigos offline da Wikipédia
|
||||
• Camada e direções de transporte público do metrô
|
||||
• Gravação de trilhas
|
||||
• Exporte e importe favoritos e trilhas nos formatos KML, KMZ e GPX
|
||||
• Um modo escuro para usar à noite
|
||||
• Aprimore os dados do mapa para todos usando um editor básico integrado
|
||||
|
||||
<b>A Liberdade Chegou</b>
|
||||
Descubra sua jornada, navegue pelo mundo com privacidade e comunidade em primeiro lugar!
|
||||
@@ -1 +0,0 @@
|
||||
Navegação fácil nos mapas - Descubra mais sobre o seu percurso - Feito por todos
|
||||
@@ -1 +0,0 @@
|
||||
CoMaps - Mapas e Navegação - Offline e Privada
|
||||
@@ -1 +1 @@
|
||||
CoMaps - Drumeții, Ciclism, Condus Offline în confidențialitate
|
||||
CoMaps - călătorește offline cu confidențialitate
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
• Карты OpenStreetMap от 4 августа
|
||||
• Улучшен цвет воды, леса, кустарников, различных объектов инфраструктуры, пешеходных зон и т.д.
|
||||
• Добавлены лесничества, крытые велопарковки, квесты, камеры хранения
|
||||
• Для некоторых популярных туристических регионов добавлены линии высот 20м
|
||||
• Поддержка дополнительных поисковых сокращений и синонимов
|
||||
• Добавлены иконки меток и результатов поиска для фастфуда, велопарковок и зарядных станций
|
||||
• Более плавное движение стрелки местоположения
|
||||
• Данные 22 августа
|
||||
• Новый спидометр,информация о маршруте
|
||||
• Улучшен тёмный стиль,цветные метки
|
||||
• Время последней проверки часов работы
|
||||
• Построении маршрута учитывает повороты, знак «Стоп»,светофоры и ограничения
|
||||
• Предпочтение отдается GPS-координатам,а не компасу,увеличена частота опроса местоположения
|
||||
• Можно добавлять отдельные адреса и заметки в редакторе
|
||||
• Улучшены различные элементы пользовательского интерфейса и стиль карты
|
||||
Ознакомьтесь с примечания к релизу про изменения!
|
||||
|
||||
@@ -1,32 +1,32 @@
|
||||
Бесплатна апликација отвореног кода коју је обављала заједница и заснива се на ОpenStreetMap-у подацима, усмерени транспарентност, приватност и непрофитни. CoMaps је Апликације за органске карте виљушка, које је пак форк Maps.ME.
|
||||
Бесплатна апликација отвореног кода коју одржава заједница и која се заснива на ОpenStreetMap подацима. Непрофитна, транспарентна и цени вашу приватност. CoMaps је настала од апликације Organic Maps, која је настала од апликације Maps.ME.
|
||||
|
||||
Прочитајте о разлозима пројекта и његовог правца на <b><i>codeberg.org/comaps</i></b>
|
||||
Придружите се отвореној заједници и помозите да направимо најбољу апликацију за мапе
|
||||
• Користите апликацију и проширите глас о томе
|
||||
• Дајте повратне информације и пријавите проблеме
|
||||
• Ажурирајте податке на мапи у апликацији или на веб локацији OpenStreetMap
|
||||
• Ажурирајте податке на мапи у апликацији или на сајту OpenStreetMap
|
||||
|
||||
‣ <b> фокусирано на офлајн Вар </b>: Планирајте и управљајте путовањем у иностранству без потребе за мобилним услугама, тражите путне тачке док је на даљинском покрету, итд. Све апликације су дизајниране за рад ван мреже.
|
||||
‣ <b> Поштовање приватности </b>: Апликација је осмишљена задржавања у уму приватност - не идентификује људе, не прати или прикупља личне податке. Нема реклама.
|
||||
‣ <b> Једноставно и елегантно </b>: Апликација је тривијална за употребу и једноставно функционише.
|
||||
‣ <b> Чува вашу батерију и простор </b>: не конзумира батерију као остале навигационе апликације. Компактне картице сачувајте драгоцени простор на вашем телефону.
|
||||
‣ <b> Отворено и направио је заједницу </b>: Људи попут вас је помогли да додају апликацију додавањем локација на OpenStreetMap-у, тестирању и давање повратних информација о апликацији и доприносе вашим развојним вештинама и новцу.
|
||||
‣ <b> Отворено и транспарентно доношење одлука и употреба финансија, непрофитна и потпуно отворена извора. </b>
|
||||
‣ <b>Фокусирано на офлајн рад</b>: Планирајте и управљајте путовањем у иностранству без потребе за мобилним интернетом, тражите успутне тачке док сте на забаченом планинском путу, итд. Све функционалности су дизајниране за рад без интернета.
|
||||
‣ <b>Поштовање приватности</b>: Апликација је осмишљена са приватношћу корисника на уму - не идентификује људе, не прати или прикупља личне податке. Нема реклама.
|
||||
‣ <b>Једноставно и елегантно</b>: Апликација је лака за употребу и једноставно функционише.
|
||||
‣ <b>Чува вашу батерију и простор</b>: Не троши батерију као остале апликације за навигацију. Компактне мапе чувају драгоцени простор на вашем телефону.
|
||||
‣ <b>Отворено и направљено од стране заједнице</b>: Људи попут вас су допринели развоју апликације додавањем локација на OpenStreetMap, тестирањем, давањем повратних информација о апликацији и помогли су својим програмерским вештинама и донацијама.
|
||||
‣ <b>Отворено и транспарентно доношење одлука и употреба донација, непрофитна и потпуно отвореног кода.</b>
|
||||
|
||||
<b> Главне карактеристике </b>:
|
||||
• Преузмите детаљне мапе са локацијама које нису доступне са Гоогле мапама
|
||||
• Улазнице за излете са истакнутим планинарским стазама, камповима, изворима воде, планинске врхове, контурне линије итд.
|
||||
• Преузмимање детаљне мапе са локацијама које нису доступне са Google мапама
|
||||
• Режим за излете са истакнутим планинарским стазама, камповима, изворима воде, планинским врховима, изохипсама итд.
|
||||
• Стазе за планинарење и бицикле
|
||||
• Тачке интереса као што су ресторани, бензинске пумпе, хотели, продавнице, погледа и још много тога
|
||||
• Претражите име или адресу или по категоријама камате
|
||||
• навигација са гласовним најавама за ходање, бициклизам или аутомобил
|
||||
• Означите своја омиљена места једним додиром
|
||||
• Тачке интереса као што су ресторани, бензинске пумпе, хотели, продавнице, знаменитости и још много тога
|
||||
• Претрага по називу, адреси или категоријама
|
||||
• Навигација са гласовним инструкцијама за ходање, вожњу бицикла или аутомобила
|
||||
• Означивање омиљених места једним додиром
|
||||
• Офлајн чланци Википедије
|
||||
• транзитни слој подземне пруге са навигацијом
|
||||
• Снимање ГПС трагова
|
||||
• Ознака и увоз и увоз у KML, KMZ, GPX формате
|
||||
• Транзитни слој подземне железнице са навигацијом
|
||||
• Снимање ГПС путања
|
||||
• Увоз и увоз маркера и путања у KML, KMZ, GPX формате
|
||||
• Тамни режим за употребу током ноћи
|
||||
• Побољшајте карту за све кориснике, користећи основни уредни уредник мапе
|
||||
• Побољшајте карту за све кориснике, користећи основни едитор за мапе
|
||||
|
||||
<b> Слобода је овде </b>
|
||||
Откријте своје путовање, крећете се са свијетом са приватношћу и заједницом на првом месту!
|
||||
Откријте своје путовање, крећете се са светом са приватношћу и заједницом на првом месту!
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
• подаци из OpenStreetMap-а од 4. августа
|
||||
• побољшане боје на мапи за воду, шуме, жбуње, разне објекте, пешачке зоне итд.
|
||||
• додате станице ренџера, наткривена паркинг места за бицикле, escape room-ови, ормарићи за пртљаг
|
||||
• унапређене изохипсе на кораке од 20 м за популарне планинарске регионе
|
||||
• подршка за више скраћеница и алтернативних назива у претрази
|
||||
• додате иконе за претрагу и обележавање за брзу храну, бицикле и станице за пуњење
|
||||
• равномерније кретање стрелице која приказује позицију
|
||||
@@ -1 +1 @@
|
||||
Једноставна навигација - Сазнајте више о свом путовању - Ради на бази заједнице
|
||||
Једноставна навигација - Сазнајте више о свом путовању - Одржава заједница
|
||||
|
||||
@@ -1 +1 @@
|
||||
CoMaps - пешачење, бицикл, вожња
|
||||
CoMaps - пешачење, бицикл и вожња, са приватношћу
|
||||
|
||||
@@ -1 +1 @@
|
||||
Једноставна навигација - Сазнајте више о свом путовању - Ради на бази заједнице
|
||||
Једноставна навигација - Сазнајте више о свом путовању - Одржава заједница
|
||||
|
||||
@@ -31,18 +31,19 @@ public final class RoutingHelpers
|
||||
@NonNull
|
||||
public static LaneDirection createLaneDirection(@NonNull LaneWay laneWay, boolean isRecommended)
|
||||
{
|
||||
int shape = LaneDirection.SHAPE_UNKNOWN;
|
||||
shape = switch (laneWay)
|
||||
@LaneDirection.Shape
|
||||
final int shape = switch (laneWay)
|
||||
{
|
||||
case REVERSE -> LaneDirection.SHAPE_U_TURN_LEFT;
|
||||
case SHARP_LEFT -> LaneDirection.SHAPE_SHARP_LEFT;
|
||||
case LEFT -> LaneDirection.SHAPE_NORMAL_LEFT;
|
||||
case SLIGHT_LEFT, MERGE_TO_LEFT -> LaneDirection.SHAPE_SLIGHT_LEFT;
|
||||
case SLIGHT_RIGHT, MERGE_TO_RIGHT -> LaneDirection.SHAPE_SLIGHT_RIGHT;
|
||||
case THROUGH -> LaneDirection.SHAPE_STRAIGHT;
|
||||
case RIGHT -> LaneDirection.SHAPE_NORMAL_RIGHT;
|
||||
case SHARP_RIGHT -> LaneDirection.SHAPE_SHARP_RIGHT;
|
||||
default -> shape;
|
||||
case ReverseLeft -> LaneDirection.SHAPE_U_TURN_LEFT;
|
||||
case SharpLeft -> LaneDirection.SHAPE_SHARP_LEFT;
|
||||
case Left -> LaneDirection.SHAPE_NORMAL_LEFT;
|
||||
case MergeToLeft, SlightLeft -> LaneDirection.SHAPE_SLIGHT_LEFT;
|
||||
case Through -> LaneDirection.SHAPE_STRAIGHT;
|
||||
case SlightRight, MergeToRight -> LaneDirection.SHAPE_SLIGHT_RIGHT;
|
||||
case Right -> LaneDirection.SHAPE_NORMAL_RIGHT;
|
||||
case SharpRight -> LaneDirection.SHAPE_SHARP_RIGHT;
|
||||
case ReverseRight -> LaneDirection.SHAPE_U_TURN_RIGHT;
|
||||
default -> LaneDirection.SHAPE_UNKNOWN;
|
||||
};
|
||||
|
||||
return LaneDirection.create(shape, isRecommended);
|
||||
|
||||
@@ -8,14 +8,15 @@ import androidx.car.app.CarContext;
|
||||
import androidx.car.app.model.CarIcon;
|
||||
import androidx.car.app.navigation.model.Destination;
|
||||
import androidx.car.app.navigation.model.Lane;
|
||||
import androidx.car.app.navigation.model.LaneDirection;
|
||||
import androidx.car.app.navigation.model.Step;
|
||||
import androidx.car.app.navigation.model.TravelEstimate;
|
||||
import androidx.car.app.navigation.model.Trip;
|
||||
import androidx.core.graphics.drawable.IconCompat;
|
||||
import app.organicmaps.sdk.bookmarks.data.MapObject;
|
||||
import app.organicmaps.sdk.routing.LaneInfo;
|
||||
import app.organicmaps.sdk.routing.LaneWay;
|
||||
import app.organicmaps.sdk.routing.RoutingInfo;
|
||||
import app.organicmaps.sdk.routing.SingleLaneInfo;
|
||||
import app.organicmaps.sdk.util.Distance;
|
||||
import app.organicmaps.util.Graphics;
|
||||
import app.organicmaps.widget.LanesDrawable;
|
||||
@@ -69,11 +70,12 @@ public final class RoutingUtils
|
||||
builder.setManeuver(RoutingHelpers.createManeuver(context, info.carDirection, info.exitNum));
|
||||
if (info.lanes != null)
|
||||
{
|
||||
for (final SingleLaneInfo laneInfo : info.lanes)
|
||||
for (final LaneInfo laneInfo : info.lanes)
|
||||
{
|
||||
final Lane.Builder laneBuilder = new Lane.Builder();
|
||||
for (final LaneWay laneWay : laneInfo.mLane)
|
||||
laneBuilder.addDirection(RoutingHelpers.createLaneDirection(laneWay, laneInfo.mIsActive));
|
||||
for (final LaneWay laneWay : laneInfo.mLaneWays)
|
||||
laneBuilder.addDirection(
|
||||
RoutingHelpers.createLaneDirection(laneWay, /* isRecommended */ laneWay == laneInfo.mActiveLaneWay));
|
||||
builder.addLane(laneBuilder.build());
|
||||
}
|
||||
final LanesDrawable lanesDrawable = new LanesDrawable(context, info.lanes);
|
||||
|
||||
@@ -9,7 +9,6 @@ import android.view.KeyEvent;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageView;
|
||||
import androidx.annotation.NonNull;
|
||||
@@ -27,6 +26,7 @@ import app.organicmaps.util.UiUtils;
|
||||
import com.google.android.material.bottomsheet.BottomSheetBehavior;
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog;
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
import com.google.android.material.divider.MaterialDividerItemDecoration;
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -42,10 +42,10 @@ public class ManageRouteBottomSheet
|
||||
{
|
||||
View v = inflater.inflate(R.layout.manage_route_bottom_sheet, container, false);
|
||||
|
||||
Button cancelButton = v.findViewById(R.id.btn__cancel);
|
||||
MaterialButton cancelButton = v.findViewById(R.id.btn__cancel);
|
||||
cancelButton.setOnClickListener(this);
|
||||
|
||||
Button planButton = v.findViewById(R.id.btn__plan);
|
||||
MaterialButton planButton = v.findViewById(R.id.btn__plan);
|
||||
planButton.setOnClickListener(this);
|
||||
|
||||
mMyLocationImageView = v.findViewById(R.id.image_my_location);
|
||||
|
||||
@@ -26,6 +26,7 @@ import app.organicmaps.sdk.util.StringUtils;
|
||||
import app.organicmaps.util.UiUtils;
|
||||
import app.organicmaps.util.Utils;
|
||||
import app.organicmaps.util.WindowInsetUtils;
|
||||
import app.organicmaps.widget.CurrentSpeedView;
|
||||
import app.organicmaps.widget.LanesView;
|
||||
import app.organicmaps.widget.SpeedLimitView;
|
||||
import app.organicmaps.widget.menu.NavMenu;
|
||||
@@ -51,6 +52,8 @@ public class NavigationController implements TrafficManager.TrafficCallback, Nav
|
||||
private final LanesView mLanesView;
|
||||
@NonNull
|
||||
private final SpeedLimitView mSpeedLimit;
|
||||
@NonNull
|
||||
private final CurrentSpeedView mCurrentSpeed;
|
||||
|
||||
private final MapButtonsViewModel mMapButtonsViewModel;
|
||||
|
||||
@@ -94,6 +97,7 @@ public class NavigationController implements TrafficManager.TrafficCallback, Nav
|
||||
mLanesView = topFrame.findViewById(R.id.lanes);
|
||||
|
||||
mSpeedLimit = topFrame.findViewById(R.id.nav_speed_limit);
|
||||
mCurrentSpeed = topFrame.findViewById(R.id.nav_current_speed);
|
||||
|
||||
// Show a blank view below the navbar to hide the menu content
|
||||
final View navigationBarBackground = mFrame.findViewById(R.id.nav_bottom_sheet_nav_bar);
|
||||
@@ -128,7 +132,7 @@ public class NavigationController implements TrafficManager.TrafficCallback, Nav
|
||||
|
||||
mLanesView.setLanes(info.lanes);
|
||||
|
||||
updateSpeedLimit(info);
|
||||
updateSpeedWidgets(info);
|
||||
}
|
||||
|
||||
private void updatePedestrian(@NonNull RoutingInfo info)
|
||||
@@ -136,6 +140,7 @@ public class NavigationController implements TrafficManager.TrafficCallback, Nav
|
||||
mNextTurnDistance.setText(Utils.formatDistance(mFrame.getContext(), info.distToTurn));
|
||||
|
||||
info.pedestrianTurnDirection.setTurnDrawable(mNextTurnImage);
|
||||
updateSpeedWidgets(info);
|
||||
}
|
||||
|
||||
public void updateNorth()
|
||||
@@ -261,16 +266,18 @@ public class NavigationController implements TrafficManager.TrafficCallback, Nav
|
||||
RoutingController.get().cancel();
|
||||
}
|
||||
|
||||
private void updateSpeedLimit(@NonNull final RoutingInfo info)
|
||||
private void updateSpeedWidgets(@NonNull final RoutingInfo info)
|
||||
{
|
||||
final Location location = MwmApplication.from(mFrame.getContext()).getLocationHelper().getSavedLocation();
|
||||
if (location == null)
|
||||
{
|
||||
mSpeedLimit.setSpeedLimit(0, false);
|
||||
mSpeedLimit.setSpeedLimit(-1, false);
|
||||
mCurrentSpeed.setCurrentSpeed(-1);
|
||||
return;
|
||||
}
|
||||
final int fSpeedLimit = StringUtils.nativeFormatSpeed(info.speedLimitMps);
|
||||
final boolean speedLimitExceeded = fSpeedLimit < StringUtils.nativeFormatSpeed(location.getSpeed());
|
||||
mSpeedLimit.setSpeedLimit(fSpeedLimit, speedLimitExceeded);
|
||||
mCurrentSpeed.setCurrentSpeed(location.getSpeed());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@ final class RoutingBottomMenuController implements View.OnClickListener
|
||||
@NonNull
|
||||
private final MaterialTextView mError;
|
||||
@NonNull
|
||||
private final Button mStart;
|
||||
private final MaterialButton mStart;
|
||||
@NonNull
|
||||
private final ImageView mAltitudeChart;
|
||||
@NonNull
|
||||
@@ -101,7 +101,7 @@ final class RoutingBottomMenuController implements View.OnClickListener
|
||||
View timeElevationLine = getViewById(activity, frame, R.id.time_elevation_line);
|
||||
View transitFrame = getViewById(activity, frame, R.id.transit_panel);
|
||||
MaterialTextView error = (MaterialTextView) getViewById(activity, frame, R.id.error);
|
||||
Button start = (Button) getViewById(activity, frame, R.id.start);
|
||||
MaterialButton start = (MaterialButton) 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);
|
||||
TextView timeVehicle = (TextView) getViewById(activity, frame, R.id.time_vehicle);
|
||||
@@ -123,7 +123,7 @@ final class RoutingBottomMenuController implements View.OnClickListener
|
||||
|
||||
private RoutingBottomMenuController(@NonNull Activity context, @NonNull View altitudeChartFrame,
|
||||
@NonNull View timeElevationLine, @NonNull View transitFrame,
|
||||
@NonNull MaterialTextView error, @NonNull Button start,
|
||||
@NonNull MaterialTextView error, @NonNull MaterialButton start,
|
||||
@NonNull ImageView altitudeChart, @NonNull MaterialTextView time,
|
||||
@NonNull MaterialTextView altitudeDifference, @NonNull TextView timeVehicle,
|
||||
@Nullable MaterialTextView arrival, @NonNull View actionFrame,
|
||||
|
||||
@@ -220,9 +220,6 @@ public final class UiUtils
|
||||
: ContextCompat.getColor(layout.getContext(), R.color.base_red));
|
||||
}
|
||||
|
||||
/*
|
||||
* Hide the Android UI elements
|
||||
*/
|
||||
public static void setFullscreen(@NonNull Activity activity, boolean fullscreen)
|
||||
{
|
||||
final Window window = activity.getWindow();
|
||||
|
||||
@@ -0,0 +1,172 @@
|
||||
package app.organicmaps.widget;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Paint;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.Typeface;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
public abstract class BaseSignView extends View
|
||||
{
|
||||
private float mBorderWidthRatio = 0.1f;
|
||||
protected void setBorderWidthRatio(float ratio) {
|
||||
mBorderWidthRatio = ratio;
|
||||
}
|
||||
|
||||
private float mBorderInsetRatio = 0f;
|
||||
protected void setBorderInsetRatio(float ratio) {
|
||||
mBorderInsetRatio = ratio;
|
||||
}
|
||||
|
||||
// colors
|
||||
protected int mBackgroundColor;
|
||||
protected int mBorderColor;
|
||||
protected int mAlertColor;
|
||||
protected int mTextColor;
|
||||
protected int mTextAlertColor;
|
||||
|
||||
// paints
|
||||
protected final Paint mBackgroundPaint;
|
||||
protected final Paint mBorderPaint;
|
||||
protected final Paint mTextPaint;
|
||||
|
||||
// geometry
|
||||
protected float mWidth;
|
||||
protected float mHeight;
|
||||
protected float mRadius;
|
||||
protected float mBorderWidth;
|
||||
protected float mBorderRadius;
|
||||
|
||||
public BaseSignView(Context ctx, @Nullable AttributeSet attrs)
|
||||
{
|
||||
super(ctx, attrs);
|
||||
mBackgroundPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
mBorderPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
mBorderPaint.setStyle(Paint.Style.STROKE);
|
||||
mTextPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
mTextPaint.setTextAlign(Paint.Align.CENTER);
|
||||
mTextPaint.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.BOLD));
|
||||
}
|
||||
|
||||
protected void setColors(int backgroundColor,
|
||||
int borderColor,
|
||||
int alertColor,
|
||||
int textColor,
|
||||
int textAlertColor)
|
||||
{
|
||||
mBackgroundColor = backgroundColor;
|
||||
mBorderColor = borderColor;
|
||||
mAlertColor = alertColor;
|
||||
mTextColor = textColor;
|
||||
mTextAlertColor = textAlertColor;
|
||||
|
||||
mBackgroundPaint.setColor(mBackgroundColor);
|
||||
mBorderPaint.setColor(mBorderColor);
|
||||
mTextPaint.setColor(mTextColor);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onSizeChanged(int width, int height, int oldWidth, int oldHeight) {
|
||||
super.onSizeChanged(width, height, oldWidth, oldHeight);
|
||||
final float paddingX = getPaddingLeft() + getPaddingRight();
|
||||
final float paddingY = getPaddingTop() + getPaddingBottom();
|
||||
mWidth = width - paddingX;
|
||||
mHeight = height - paddingY;
|
||||
mRadius = Math.min(mWidth, mHeight) / 2f;
|
||||
mBorderWidth = mRadius * mBorderWidthRatio;
|
||||
// subtract half the stroke PLUS the extra inset
|
||||
final float gap = mRadius * mBorderInsetRatio;
|
||||
mBorderRadius = mRadius - (mBorderWidth / 2f) - gap;
|
||||
configureTextSize();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDraw(@NonNull Canvas canvas)
|
||||
{
|
||||
super.onDraw(canvas);
|
||||
final String str = getValueString();
|
||||
if (str == null) return;
|
||||
|
||||
final float cx = mWidth / 2f;
|
||||
final float cy = mHeight / 2f;
|
||||
|
||||
// background & border
|
||||
boolean alert = isAlert();
|
||||
mBackgroundPaint.setColor(alert ? mAlertColor : mBackgroundColor);
|
||||
canvas.drawCircle(cx, cy, mRadius, mBackgroundPaint);
|
||||
if (!alert)
|
||||
{
|
||||
mBorderPaint.setStrokeWidth(mBorderWidth);
|
||||
mBorderPaint.setColor(mBorderColor);
|
||||
canvas.drawCircle(cx, cy, mBorderRadius, mBorderPaint);
|
||||
}
|
||||
|
||||
// text
|
||||
mTextPaint.setColor(alert ? mTextAlertColor : mTextColor);
|
||||
drawValueString(canvas, cx, cy, str);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onTouchEvent(@NonNull MotionEvent e)
|
||||
{
|
||||
final float cx = mWidth / 2f, cy = mHeight / 2f;
|
||||
final float dx = e.getX() - cx, dy = e.getY() - cy;
|
||||
if ((dx * dx) + (dy * dy) <= (mRadius * mRadius))
|
||||
{
|
||||
performClick();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean performClick()
|
||||
{
|
||||
super.performClick();
|
||||
return false;
|
||||
}
|
||||
|
||||
private void drawValueString(Canvas c, float cx, float cy, String str)
|
||||
{
|
||||
Rect b = new Rect();
|
||||
mTextPaint.getTextBounds(str, 0, str.length(), b);
|
||||
final float y = cy - b.exactCenterY();
|
||||
c.drawText(str, cx, y, mTextPaint);
|
||||
}
|
||||
|
||||
void configureTextSize()
|
||||
{
|
||||
String text = getValueString();
|
||||
if (text == null) return;
|
||||
final float textRadius = mBorderRadius - mBorderWidth;
|
||||
final float maxTextSize = 2f * textRadius;
|
||||
final float maxTextSize2 = maxTextSize * maxTextSize;
|
||||
float lo = 0f, hi = maxTextSize, sz = maxTextSize;
|
||||
Rect b = new Rect();
|
||||
while (lo <= hi)
|
||||
{
|
||||
sz = (lo + hi) / 2f;
|
||||
mTextPaint.setTextSize(sz);
|
||||
mTextPaint.getTextBounds(text, 0, text.length(), b);
|
||||
float area = b.width()*b.width() + b.height()*b.height();
|
||||
if (area <= maxTextSize2)
|
||||
lo = sz + 1f;
|
||||
else
|
||||
hi = sz - 1f;
|
||||
}
|
||||
mTextPaint.setTextSize(Math.max(1f, sz));
|
||||
}
|
||||
|
||||
/** child must return the string to draw, or null if nothing */
|
||||
@Nullable
|
||||
protected abstract String getValueString();
|
||||
|
||||
/** child decides if this is in “alert” state */
|
||||
protected abstract boolean isAlert();
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
package app.organicmaps.widget;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Pair;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import app.organicmaps.R;
|
||||
import app.organicmaps.sdk.util.StringUtils;
|
||||
|
||||
public class CurrentSpeedView extends BaseSignView
|
||||
{
|
||||
private double mSpeedMps = -1.0;
|
||||
private String mSpeedStr = "--";
|
||||
|
||||
public CurrentSpeedView(Context ctx, @Nullable AttributeSet attrs)
|
||||
{
|
||||
super(ctx, attrs);
|
||||
|
||||
setBorderWidthRatio(0.1f);
|
||||
setBorderInsetRatio(0.05f);
|
||||
|
||||
try (TypedArray a = ctx.getTheme()
|
||||
.obtainStyledAttributes(attrs, R.styleable.CurrentSpeedView /* reuse same attrs or define new */ , 0, 0))
|
||||
{
|
||||
int bg = a.getColor(R.styleable.CurrentSpeedView_currentSpeedBackgroundColor, DefaultValues.BACKGROUND_COLOR);
|
||||
int bd = a.getColor(R.styleable.CurrentSpeedView_currentSpeedBorderColor, DefaultValues.BORDER_COLOR);
|
||||
int tc = a.getColor(R.styleable.CurrentSpeedView_currentSpeedTextColor, DefaultValues.TEXT_COLOR);
|
||||
setColors(bg, bd, 0, tc, 0);
|
||||
|
||||
if (isInEditMode())
|
||||
{
|
||||
mSpeedMps = a.getInt(R.styleable.CurrentSpeedView_currentSpeedEditModeCurrentSpeed, 50);
|
||||
mSpeedStr = Integer.toString((int)mSpeedMps);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setCurrentSpeed(double mps)
|
||||
{
|
||||
mSpeedMps = mps;
|
||||
if (mps < 0)
|
||||
{
|
||||
mSpeedStr = "--";
|
||||
}
|
||||
else
|
||||
{
|
||||
Pair<String,String> su = StringUtils.nativeFormatSpeedAndUnits(mps);
|
||||
mSpeedStr = su.first;
|
||||
}
|
||||
requestLayout();
|
||||
configureTextSize();
|
||||
invalidate();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
protected String getValueString()
|
||||
{
|
||||
return mSpeedStr;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAlert()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
private interface DefaultValues
|
||||
{
|
||||
int BACKGROUND_COLOR = 0xFFFFFFFF;
|
||||
int BORDER_COLOR = 0xFF000000;
|
||||
int TEXT_COLOR = 0xFF000000;
|
||||
}
|
||||
}
|
||||
@@ -8,12 +8,14 @@ import android.graphics.Rect;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import androidx.annotation.ColorInt;
|
||||
import androidx.annotation.ColorRes;
|
||||
import androidx.annotation.DrawableRes;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.content.res.AppCompatResources;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import app.organicmaps.R;
|
||||
import app.organicmaps.sdk.routing.SingleLaneInfo;
|
||||
import app.organicmaps.sdk.routing.LaneInfo;
|
||||
import app.organicmaps.sdk.routing.LaneWay;
|
||||
import java.util.Objects;
|
||||
|
||||
public class LanesDrawable extends Drawable
|
||||
@@ -41,16 +43,19 @@ public class LanesDrawable extends Drawable
|
||||
{
|
||||
private final Drawable mDrawable;
|
||||
|
||||
private LaneDrawable(@NonNull final Context context, @NonNull SingleLaneInfo laneInfo, int horizontalOffset,
|
||||
private LaneDrawable(@NonNull final Context context, @NonNull LaneInfo laneInfo, int horizontalOffset,
|
||||
TintColorInfo colorInfo)
|
||||
{
|
||||
mDrawable = Objects.requireNonNull(AppCompatResources.getDrawable(context, laneInfo.mLane[0].mTurnRes));
|
||||
final boolean isActive = laneInfo.mActiveLaneWay != LaneWay.None;
|
||||
@DrawableRes
|
||||
final int turnRes = isActive ? laneInfo.mActiveLaneWay.mTurnRes : laneInfo.mLaneWays[0].mTurnRes;
|
||||
mDrawable = Objects.requireNonNull(AppCompatResources.getDrawable(context, turnRes));
|
||||
|
||||
final int width = mDrawable.getIntrinsicWidth();
|
||||
final int height = mDrawable.getIntrinsicHeight();
|
||||
|
||||
mDrawable.setBounds(horizontalOffset, 0, horizontalOffset + width, height);
|
||||
mDrawable.setTint(laneInfo.mIsActive ? colorInfo.mActiveLaneTint : colorInfo.mInactiveLaneTint);
|
||||
mDrawable.setTint(isActive ? colorInfo.mActiveLaneTint : colorInfo.mInactiveLaneTint);
|
||||
}
|
||||
|
||||
private void draw(@NonNull final Canvas canvas)
|
||||
@@ -65,14 +70,14 @@ public class LanesDrawable extends Drawable
|
||||
private int mWidth;
|
||||
private int mHeight;
|
||||
|
||||
public LanesDrawable(@NonNull final Context context, @NonNull SingleLaneInfo[] lanes)
|
||||
public LanesDrawable(@NonNull final Context context, @NonNull LaneInfo[] lanes)
|
||||
{
|
||||
final TintColorInfo tintColorInfo = new TintColorInfo(ContextCompat.getColor(context, ACTIVE_LANE_TINT_RES),
|
||||
ContextCompat.getColor(context, INACTIVE_LANE_TINT_RES));
|
||||
mLanes = createLaneDrawables(context, lanes, tintColorInfo);
|
||||
}
|
||||
|
||||
public LanesDrawable(@NonNull final Context context, @NonNull SingleLaneInfo[] lanes, @ColorInt int activeLaneTint,
|
||||
public LanesDrawable(@NonNull final Context context, @NonNull LaneInfo[] lanes, @ColorInt int activeLaneTint,
|
||||
@ColorInt int inactiveLaneTint)
|
||||
{
|
||||
final TintColorInfo tintColorInfo = new TintColorInfo(activeLaneTint, inactiveLaneTint);
|
||||
@@ -143,7 +148,7 @@ public class LanesDrawable extends Drawable
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private LaneDrawable[] createLaneDrawables(@NonNull Context context, @NonNull SingleLaneInfo[] lanes,
|
||||
private LaneDrawable[] createLaneDrawables(@NonNull Context context, @NonNull LaneInfo[] lanes,
|
||||
@NonNull TintColorInfo tintColorInfo)
|
||||
{
|
||||
assert lanes.length > 0;
|
||||
|
||||
@@ -16,7 +16,8 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.StyleableRes;
|
||||
import app.organicmaps.R;
|
||||
import app.organicmaps.sdk.routing.SingleLaneInfo;
|
||||
import app.organicmaps.sdk.routing.LaneInfo;
|
||||
import app.organicmaps.sdk.routing.LaneWay;
|
||||
|
||||
public class LanesView extends View
|
||||
{
|
||||
@@ -77,7 +78,7 @@ public class LanesView extends View
|
||||
mBackgroundPaint.setColor(backgroundColor);
|
||||
}
|
||||
|
||||
public void setLanes(@Nullable SingleLaneInfo[] lanes)
|
||||
public void setLanes(@Nullable LaneInfo[] lanes)
|
||||
{
|
||||
if (lanes == null || lanes.length == 0)
|
||||
mLanesDrawable = null;
|
||||
@@ -157,16 +158,16 @@ public class LanesView extends View
|
||||
|
||||
private void createLanesForEditMode(int lanesCount)
|
||||
{
|
||||
final SingleLaneInfo[] lanes = new SingleLaneInfo[lanesCount];
|
||||
lanes[0] = new SingleLaneInfo(new byte[] {1}, false);
|
||||
final LaneInfo[] lanes = new LaneInfo[lanesCount];
|
||||
lanes[0] = new LaneInfo(new LaneWay[] {LaneWay.ReverseLeft, LaneWay.Left}, LaneWay.None);
|
||||
if (lanes.length > 1)
|
||||
lanes[1] = new SingleLaneInfo(new byte[] {3}, false);
|
||||
lanes[1] = new LaneInfo(new LaneWay[] {LaneWay.SharpLeft, LaneWay.Left, LaneWay.Through}, LaneWay.None);
|
||||
for (int i = 2; i <= lanes.length - 1; i++)
|
||||
lanes[i] = new SingleLaneInfo(new byte[] {0}, true);
|
||||
lanes[i] = new LaneInfo(new LaneWay[] {LaneWay.Through, LaneWay.Left}, LaneWay.Through);
|
||||
if (lanes.length > 2)
|
||||
lanes[lanes.length - 2] = new SingleLaneInfo(new byte[] {8}, false);
|
||||
lanes[lanes.length - 2] = new LaneInfo(new LaneWay[] {LaneWay.SlightRight, LaneWay.Right}, LaneWay.SlightRight);
|
||||
if (lanes.length > 3)
|
||||
lanes[lanes.length - 1] = new SingleLaneInfo(new byte[] {9}, false);
|
||||
lanes[lanes.length - 1] = new LaneInfo(new LaneWay[] {LaneWay.ReverseRight}, LaneWay.None);
|
||||
|
||||
setLanes(lanes);
|
||||
}
|
||||
|
||||
@@ -3,225 +3,134 @@ package app.organicmaps.widget;
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Paint;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.Typeface;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import androidx.annotation.ColorInt;
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import app.organicmaps.R;
|
||||
|
||||
public class SpeedLimitView extends View
|
||||
public class SpeedLimitView extends BaseSignView
|
||||
{
|
||||
private interface DefaultValues
|
||||
private int mSpeedLimit = -1;
|
||||
private boolean mAlert = false;
|
||||
private String mSpeedStr = "-1";
|
||||
private final int unlimitedBorderColor;
|
||||
private final int unlimitedStripeColor;
|
||||
|
||||
public SpeedLimitView(Context ctx, @Nullable AttributeSet attrs)
|
||||
{
|
||||
@ColorInt
|
||||
int BACKGROUND_COLOR = Color.WHITE;
|
||||
@ColorInt
|
||||
int BORDER_COLOR = Color.RED;
|
||||
@ColorInt
|
||||
int ALERT_COLOR = Color.RED;
|
||||
@ColorInt
|
||||
int TEXT_COLOR = Color.BLACK;
|
||||
@ColorInt
|
||||
int TEXT_ALERT_COLOR = Color.WHITE;
|
||||
super(ctx, attrs);
|
||||
|
||||
float BORDER_WIDTH_RATIO = 0.1f;
|
||||
}
|
||||
setBorderWidthRatio(0.2f);
|
||||
setBorderInsetRatio(0.05f);
|
||||
|
||||
@ColorInt
|
||||
private final int mBackgroundColor;
|
||||
|
||||
@ColorInt
|
||||
private final int mBorderColor;
|
||||
|
||||
@ColorInt
|
||||
private final int mAlertColor;
|
||||
|
||||
@ColorInt
|
||||
private final int mTextColor;
|
||||
|
||||
@ColorInt
|
||||
private final int mTextAlertColor;
|
||||
|
||||
@NonNull
|
||||
private final Paint mSignBackgroundPaint;
|
||||
@NonNull
|
||||
private final Paint mSignBorderPaint;
|
||||
@NonNull
|
||||
private final Paint mTextPaint;
|
||||
|
||||
private float mWidth;
|
||||
private float mHeight;
|
||||
private float mBackgroundRadius;
|
||||
private float mBorderRadius;
|
||||
private float mBorderWidth;
|
||||
|
||||
private int mSpeedLimit = 0;
|
||||
@NonNull
|
||||
private String mSpeedLimitStr = "0";
|
||||
private boolean mAlert = false;
|
||||
|
||||
public SpeedLimitView(Context context, @Nullable AttributeSet attrs)
|
||||
{
|
||||
super(context, attrs);
|
||||
|
||||
try (TypedArray data = context.getTheme().obtainStyledAttributes(attrs, R.styleable.SpeedLimitView, 0, 0))
|
||||
try (TypedArray styleAttrs = ctx.getTheme().obtainStyledAttributes(attrs, R.styleable.SpeedLimitView, 0, 0))
|
||||
{
|
||||
mBackgroundColor =
|
||||
data.getColor(R.styleable.SpeedLimitView_speedLimitBackgroundColor, DefaultValues.BACKGROUND_COLOR);
|
||||
mBorderColor = data.getColor(R.styleable.SpeedLimitView_speedLimitBorderColor, DefaultValues.BORDER_COLOR);
|
||||
mAlertColor = data.getColor(R.styleable.SpeedLimitView_speedLimitAlertColor, DefaultValues.ALERT_COLOR);
|
||||
mTextColor = data.getColor(R.styleable.SpeedLimitView_speedLimitTextColor, DefaultValues.TEXT_COLOR);
|
||||
mTextAlertColor =
|
||||
data.getColor(R.styleable.SpeedLimitView_speedLimitTextAlertColor, DefaultValues.TEXT_ALERT_COLOR);
|
||||
final int bgColor = styleAttrs.getColor(R.styleable.SpeedLimitView_speedLimitBackgroundColor, DefaultValues.BACKGROUND_COLOR);
|
||||
final int borderColor = styleAttrs.getColor(R.styleable.SpeedLimitView_speedLimitBorderColor, DefaultValues.BORDER_COLOR);
|
||||
final int alertColor = styleAttrs.getColor(R.styleable.SpeedLimitView_speedLimitAlertColor, DefaultValues.ALERT_COLOR);
|
||||
final int textColor = styleAttrs.getColor(R.styleable.SpeedLimitView_speedLimitTextColor, DefaultValues.TEXT_COLOR);
|
||||
final int txtAlertColor = styleAttrs.getColor(R.styleable.SpeedLimitView_speedLimitTextAlertColor, DefaultValues.TEXT_ALERT_COLOR);
|
||||
setColors(bgColor, borderColor, alertColor, textColor, txtAlertColor);
|
||||
|
||||
unlimitedBorderColor = styleAttrs.getColor(R.styleable.SpeedLimitView_speedLimitUnlimitedBorderColor, DefaultValues.UNLIMITED_BORDER_COLOR);
|
||||
unlimitedStripeColor = styleAttrs.getColor(R.styleable.SpeedLimitView_speedLimitUnlimitedStripeColor, DefaultValues.UNLIMITED_STRIPE_COLOR);
|
||||
|
||||
if (isInEditMode())
|
||||
{
|
||||
mSpeedLimit = data.getInt(R.styleable.SpeedLimitView_speedLimitEditModeSpeedLimit, 60);
|
||||
mSpeedLimitStr = Integer.toString(mSpeedLimit);
|
||||
mAlert = data.getBoolean(R.styleable.SpeedLimitView_speedLimitEditModeAlert, false);
|
||||
mSpeedLimit = styleAttrs.getInt(R.styleable.SpeedLimitView_speedLimitEditModeSpeedLimit, 60);
|
||||
mAlert = styleAttrs.getBoolean(R.styleable.SpeedLimitView_speedLimitEditModeAlert, false);
|
||||
mSpeedStr = Integer.toString(mSpeedLimit);
|
||||
}
|
||||
}
|
||||
|
||||
mSignBackgroundPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
mSignBackgroundPaint.setColor(mBackgroundColor);
|
||||
|
||||
mSignBorderPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
mSignBorderPaint.setColor(mBorderColor);
|
||||
mSignBorderPaint.setStrokeWidth(mBorderWidth);
|
||||
mSignBorderPaint.setStyle(Paint.Style.STROKE);
|
||||
|
||||
mTextPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
mTextPaint.setColor(mTextColor);
|
||||
mTextPaint.setTextAlign(Paint.Align.CENTER);
|
||||
mTextPaint.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.BOLD));
|
||||
}
|
||||
|
||||
public void setSpeedLimit(final int speedLimit, boolean alert)
|
||||
public void setSpeedLimit(int limit, boolean alert)
|
||||
{
|
||||
final boolean speedLimitChanged = mSpeedLimit != speedLimit;
|
||||
|
||||
mSpeedLimit = speedLimit;
|
||||
mAlert = alert;
|
||||
|
||||
if (speedLimitChanged)
|
||||
if (mSpeedLimit != limit)
|
||||
{
|
||||
mSpeedLimitStr = Integer.toString(mSpeedLimit);
|
||||
configureTextSize();
|
||||
mSpeedLimit = limit;
|
||||
mSpeedStr = Integer.toString(limit);
|
||||
requestLayout();
|
||||
}
|
||||
|
||||
mAlert = alert;
|
||||
configureTextSize();
|
||||
invalidate();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
protected void onDraw(@NonNull Canvas canvas)
|
||||
protected String getValueString()
|
||||
{
|
||||
super.onDraw(canvas);
|
||||
|
||||
final boolean validSpeedLimit = mSpeedLimit > 0;
|
||||
if (!validSpeedLimit)
|
||||
return;
|
||||
|
||||
final float cx = mWidth / 2;
|
||||
final float cy = mHeight / 2;
|
||||
|
||||
drawSign(canvas, cx, cy, mAlert);
|
||||
drawText(canvas, cx, cy, mAlert);
|
||||
return (mSpeedLimit > 0 ? mSpeedStr : null);
|
||||
}
|
||||
|
||||
private void drawSign(@NonNull Canvas canvas, float cx, float cy, boolean alert)
|
||||
@Override
|
||||
protected boolean isAlert()
|
||||
{
|
||||
if (alert)
|
||||
mSignBackgroundPaint.setColor(mAlertColor);
|
||||
return mAlert;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDraw(Canvas canvas)
|
||||
{
|
||||
final float cx = mWidth/2f, cy = mHeight/2f;
|
||||
|
||||
if (mSpeedLimit == 0) // 0 means unlimited speed (maxspeed=none)
|
||||
{
|
||||
// background
|
||||
mBackgroundPaint.setColor(mBackgroundColor);
|
||||
canvas.drawCircle(cx, cy, mRadius, mBackgroundPaint);
|
||||
|
||||
// black border
|
||||
mBorderPaint.setColor(unlimitedBorderColor);
|
||||
mBorderPaint.setStrokeWidth(mBorderWidth);
|
||||
canvas.drawCircle(cx, cy, mBorderRadius, mBorderPaint);
|
||||
|
||||
// draw 5 diagonal stripes
|
||||
drawUnlimitedStripes(canvas, cx, cy);
|
||||
}
|
||||
else
|
||||
mSignBackgroundPaint.setColor(mBackgroundColor);
|
||||
|
||||
canvas.drawCircle(cx, cy, mBackgroundRadius, mSignBackgroundPaint);
|
||||
if (!alert)
|
||||
{
|
||||
mSignBorderPaint.setStrokeWidth(mBorderWidth);
|
||||
canvas.drawCircle(cx, cy, mBorderRadius, mSignBorderPaint);
|
||||
// delegate to BaseSignView’s onDraw
|
||||
super.onDraw(canvas);
|
||||
}
|
||||
}
|
||||
|
||||
private void drawText(@NonNull Canvas canvas, float cx, float cy, boolean alert)
|
||||
private void drawUnlimitedStripes(Canvas c, float cx, float cy)
|
||||
{
|
||||
if (alert)
|
||||
mTextPaint.setColor(mTextAlertColor);
|
||||
else
|
||||
mTextPaint.setColor(mTextColor);
|
||||
final Paint stripe = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
stripe.setColor(unlimitedStripeColor);
|
||||
stripe.setStrokeWidth(mBorderWidth * 0.4f);
|
||||
|
||||
final Rect textBounds = new Rect();
|
||||
mTextPaint.getTextBounds(mSpeedLimitStr, 0, mSpeedLimitStr.length(), textBounds);
|
||||
final float textY = cy - textBounds.exactCenterY();
|
||||
canvas.drawText(mSpeedLimitStr, cx, textY, mTextPaint);
|
||||
}
|
||||
final float radius = mRadius * 0.8f; // Shorten to 80% of full radius
|
||||
final float diag = (float) (1/Math.sqrt(2)); // 45 degrees
|
||||
final float dx = -diag, dy = +diag;
|
||||
final float px = -dy, py = +dx; // Perpendicular
|
||||
final float step = radius * 0.15f; // Spacing
|
||||
|
||||
@Override
|
||||
public boolean onTouchEvent(@NonNull MotionEvent event)
|
||||
{
|
||||
final float cx = mWidth / 2;
|
||||
final float cy = mHeight / 2;
|
||||
if (Math.pow(event.getX() - cx, 2) + Math.pow(event.getY() - cy, 2) <= Math.pow(mBackgroundRadius, 2))
|
||||
for (int i = -2; i <= 2; i++)
|
||||
{
|
||||
performClick();
|
||||
return true;
|
||||
final float ox = px * step * i;
|
||||
final float oy = py * step * i;
|
||||
final float sx = cx + dx * radius + ox;
|
||||
final float sy = cy + dy * radius + oy;
|
||||
final float ex = cx - dx * radius + ox;
|
||||
final float ey = cy - dy * radius + oy;
|
||||
c.drawLine(sx, sy, ex, ey, stripe);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean performClick()
|
||||
|
||||
private interface DefaultValues
|
||||
{
|
||||
super.performClick();
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onSizeChanged(int w, int h, int oldw, int oldh)
|
||||
{
|
||||
super.onSizeChanged(w, h, oldw, oldh);
|
||||
|
||||
final float paddingX = (float) (getPaddingLeft() + getPaddingRight());
|
||||
final float paddingY = (float) (getPaddingTop() + getPaddingBottom());
|
||||
|
||||
mWidth = (float) w - paddingX;
|
||||
mHeight = (float) h - paddingY;
|
||||
mBackgroundRadius = Math.min(mWidth, mHeight) / 2;
|
||||
mBorderWidth = mBackgroundRadius * 2 * DefaultValues.BORDER_WIDTH_RATIO;
|
||||
mBorderRadius = mBackgroundRadius - mBorderWidth / 2;
|
||||
configureTextSize();
|
||||
}
|
||||
|
||||
// Apply binary search to determine the optimal text size that fits within the circular boundary.
|
||||
private void configureTextSize()
|
||||
{
|
||||
final String text = mSpeedLimitStr;
|
||||
final float textRadius = mBorderRadius - mBorderWidth;
|
||||
final float textMaxSize = 2 * textRadius;
|
||||
final float textMaxSizeSquared = (float) Math.pow(textMaxSize, 2);
|
||||
|
||||
float lowerBound = 0;
|
||||
float upperBound = textMaxSize;
|
||||
float textSize = textMaxSize;
|
||||
final Rect textBounds = new Rect();
|
||||
|
||||
while (lowerBound <= upperBound)
|
||||
{
|
||||
textSize = (lowerBound + upperBound) / 2;
|
||||
mTextPaint.setTextSize(textSize);
|
||||
mTextPaint.getTextBounds(text, 0, text.length(), textBounds);
|
||||
|
||||
if (Math.pow(textBounds.width(), 2) + Math.pow(textBounds.height(), 2) <= textMaxSizeSquared)
|
||||
lowerBound = textSize + 1;
|
||||
else
|
||||
upperBound = textSize - 1;
|
||||
}
|
||||
|
||||
mTextPaint.setTextSize(Math.max(1, textSize));
|
||||
int BACKGROUND_COLOR = 0xFFFFFFFF;
|
||||
int BORDER_COLOR = 0xFFFF0000;
|
||||
int ALERT_COLOR = 0xFFFF0000;
|
||||
int TEXT_COLOR = 0xFF000000;
|
||||
int TEXT_ALERT_COLOR = 0xFFFFFFFF;
|
||||
int UNLIMITED_BORDER_COLOR = 0xFF000000;
|
||||
int UNLIMITED_STRIPE_COLOR = 0xFF000000;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,14 @@
|
||||
package app.organicmaps.widget.menu;
|
||||
|
||||
import android.location.Location;
|
||||
import android.util.Pair;
|
||||
import android.view.View;
|
||||
import android.widget.Toast;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import app.organicmaps.MwmApplication;
|
||||
import app.organicmaps.R;
|
||||
import app.organicmaps.sdk.routing.RoutingInfo;
|
||||
import app.organicmaps.sdk.sound.TtsPlayer;
|
||||
import app.organicmaps.sdk.util.StringUtils;
|
||||
import app.organicmaps.sdk.util.DateUtils;
|
||||
import app.organicmaps.util.Graphics;
|
||||
import app.organicmaps.util.ThemeUtils;
|
||||
import app.organicmaps.util.UiUtils;
|
||||
import com.google.android.material.bottomsheet.BottomSheetBehavior;
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
@@ -30,14 +26,12 @@ public class NavMenu
|
||||
private final View mHeaderFrame;
|
||||
|
||||
private final ShapeableImageView mTts;
|
||||
private final View mSpeedViewContainer;
|
||||
private final MaterialTextView mSpeedValue;
|
||||
private final MaterialTextView mSpeedUnits;
|
||||
private final MaterialTextView mEtaValue;
|
||||
private final MaterialTextView mEtaAmPm;
|
||||
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;
|
||||
@@ -92,14 +86,12 @@ public class NavMenu
|
||||
});
|
||||
|
||||
// Bottom frame
|
||||
mSpeedViewContainer = bottomFrame.findViewById(R.id.speed_view_container);
|
||||
mSpeedValue = bottomFrame.findViewById(R.id.speed_value);
|
||||
mSpeedUnits = bottomFrame.findViewById(R.id.speed_dimen);
|
||||
mEtaValue = bottomFrame.findViewById(R.id.eta_value);
|
||||
mEtaAmPm = bottomFrame.findViewById(R.id.eta_am_pm);
|
||||
mTimeHourValue = bottomFrame.findViewById(R.id.time_hour_value);
|
||||
mTimeHourUnits = bottomFrame.findViewById(R.id.time_hour_dimen);
|
||||
mTimeMinuteValue = bottomFrame.findViewById(R.id.time_minute_value);
|
||||
mTimeMinuteUnits = bottomFrame.findViewById(R.id.time_minute_dimen);
|
||||
mTimeEstimate = bottomFrame.findViewById(R.id.time_estimate);
|
||||
mDistanceValue = bottomFrame.findViewById(R.id.distance_value);
|
||||
mDistanceUnits = bottomFrame.findViewById(R.id.distance_dimen);
|
||||
mRouteProgress = bottomFrame.findViewById(R.id.navigation_progress);
|
||||
@@ -125,6 +117,8 @@ public class NavMenu
|
||||
|
||||
private void onTtsClicked()
|
||||
{
|
||||
if (!TtsPlayer.isReady())
|
||||
Toast.makeText(mActivity, R.string.pref_tts_no_system_tts_short, Toast.LENGTH_SHORT).show();
|
||||
TtsPlayer.setEnabled(!TtsPlayer.isEnabled());
|
||||
refreshTts();
|
||||
}
|
||||
@@ -195,38 +189,34 @@ public class NavMenu
|
||||
|
||||
private void updateTimeEstimate(int seconds)
|
||||
{
|
||||
final String format =
|
||||
android.text.format.DateFormat.is24HourFormat(mTimeMinuteValue.getContext()) ? "HH:mm" : "h:mm a";
|
||||
// Calculate ETA from current local time and remaining seconds.
|
||||
final LocalTime localTime = LocalTime.now().plusSeconds(seconds);
|
||||
mTimeEstimate.setText(localTime.format(DateTimeFormatter.ofPattern(format)));
|
||||
}
|
||||
|
||||
private void updateSpeedView(@NonNull RoutingInfo info)
|
||||
{
|
||||
final Location last = MwmApplication.from(mActivity).getLocationHelper().getSavedLocation();
|
||||
if (last == null)
|
||||
return;
|
||||
// String to set the format of the ETA value (24h or AM/PM).
|
||||
final String etaValueFormat;
|
||||
|
||||
Pair<String, String> speedAndUnits = StringUtils.nativeFormatSpeedAndUnits(last.getSpeed());
|
||||
mSpeedValue.setText(speedAndUnits.first);
|
||||
// Text of the AM/PM view.
|
||||
final String etaAmPmText;
|
||||
|
||||
if (info.speedLimitMps > 0.0 && last.getSpeed() > info.speedLimitMps)
|
||||
if (DateUtils.is24HourFormat(mTimeMinuteValue.getContext()))
|
||||
{
|
||||
if (info.isSpeedCamLimitExceeded())
|
||||
mSpeedValue.setTextColor(ContextCompat.getColor(mActivity, R.color.white_primary));
|
||||
else
|
||||
mSpeedValue.setTextColor(ContextCompat.getColor(mActivity, R.color.base_red));
|
||||
// 24 hours time format.
|
||||
etaValueFormat = "HH:mm";
|
||||
etaAmPmText = "";
|
||||
}
|
||||
else
|
||||
mSpeedValue.setTextColor(ThemeUtils.getColor(mActivity, android.R.attr.textColorPrimary));
|
||||
{
|
||||
// AM/PM time format.
|
||||
etaValueFormat = "h:mm";
|
||||
etaAmPmText = localTime.format(DateTimeFormatter.ofPattern("a"));
|
||||
}
|
||||
|
||||
mSpeedUnits.setText(speedAndUnits.second);
|
||||
mSpeedViewContainer.setActivated(info.isSpeedCamLimitExceeded());
|
||||
mEtaValue.setText(localTime.format(DateTimeFormatter.ofPattern(etaValueFormat)));
|
||||
mEtaAmPm.setText(etaAmPmText);
|
||||
}
|
||||
|
||||
public void update(@NonNull RoutingInfo info)
|
||||
{
|
||||
updateSpeedView(info);
|
||||
updateTime(info.totalTimeInSeconds);
|
||||
mDistanceValue.setText(info.distToTarget.mDistanceStr);
|
||||
mDistanceUnits.setText(info.distToTarget.getUnitsStr(mActivity.getApplicationContext()));
|
||||
|
||||
@@ -675,9 +675,6 @@ public class PlacePageController
|
||||
mPlacePageBehavior.addBottomSheetCallback(mDefaultBottomSheetCallback);
|
||||
mViewModel.getMapObject().observe(requireActivity(), this);
|
||||
mViewModel.getPlacePageDistanceToTop().observe(requireActivity(), mPlacePageDistanceToTopObserver);
|
||||
|
||||
// Re-enable UI when POI tapped if in fullscreen mode
|
||||
UiUtils.setFullscreen(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -16,18 +16,22 @@ import android.widget.LinearLayout;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.lifecycle.Observer;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
import app.organicmaps.R;
|
||||
import app.organicmaps.sdk.bookmarks.data.Bookmark;
|
||||
import app.organicmaps.sdk.bookmarks.data.BookmarkManager;
|
||||
import app.organicmaps.sdk.bookmarks.data.MapObject;
|
||||
import app.organicmaps.sdk.util.StringUtils;
|
||||
import app.organicmaps.util.UiUtils;
|
||||
import app.organicmaps.util.Utils;
|
||||
import app.organicmaps.widget.placepage.EditBookmarkFragment;
|
||||
import app.organicmaps.widget.placepage.PlacePageViewModel;
|
||||
import com.google.android.material.textview.MaterialTextView;
|
||||
|
||||
public class PlacePageBookmarkFragment extends Fragment implements View.OnLongClickListener, Observer<MapObject>
|
||||
public class PlacePageBookmarkFragment extends Fragment implements View.OnClickListener, View.OnLongClickListener,
|
||||
Observer<MapObject>, EditBookmarkFragment.EditBookmarkListener
|
||||
{
|
||||
private View mFrame;
|
||||
private MaterialTextView mTvBookmarkNote;
|
||||
@@ -55,6 +59,8 @@ public class PlacePageBookmarkFragment extends Fragment implements View.OnLongCl
|
||||
mFrame = view;
|
||||
mTvBookmarkNote = mFrame.findViewById(R.id.tv__bookmark_notes);
|
||||
mTvBookmarkNote.setOnLongClickListener(this);
|
||||
final View editBookmarkBtn = mFrame.findViewById(R.id.tv__bookmark_edit);
|
||||
editBookmarkBtn.setOnClickListener(this);
|
||||
}
|
||||
|
||||
private void initWebView()
|
||||
@@ -112,6 +118,14 @@ public class PlacePageBookmarkFragment extends Fragment implements View.OnLongCl
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v)
|
||||
{
|
||||
final FragmentActivity activity = requireActivity();
|
||||
EditBookmarkFragment.editBookmark(currentBookmark.getCategoryId(), currentBookmark.getBookmarkId(), activity,
|
||||
getChildFragmentManager(), PlacePageBookmarkFragment.this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onLongClick(View v)
|
||||
{
|
||||
@@ -141,4 +155,13 @@ public class PlacePageBookmarkFragment extends Fragment implements View.OnLongCl
|
||||
updateBookmarkDetails();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBookmarkSaved(long bookmarkId, boolean movedFromCategory)
|
||||
{
|
||||
Bookmark updatedBookmark = BookmarkManager.INSTANCE.updateBookmarkPlacePage(bookmarkId);
|
||||
if (updatedBookmark == null)
|
||||
return;
|
||||
mViewModel.setMapObject(updatedBookmark);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -166,7 +166,7 @@
|
||||
android:orientation="horizontal">
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/donate"
|
||||
style="@style/MwmWidget.Button.Accent"
|
||||
style="@style/MwmWidget.M3.Button.Primary"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="@dimen/margin_quarter"
|
||||
@@ -182,10 +182,9 @@
|
||||
app:layout_constraintVertical_bias="0.5" />
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/report"
|
||||
style="@style/MwmWidget.Button"
|
||||
style="@style/MwmWidget.M3.Button"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/light_gray"
|
||||
android:text="@string/report_a_bug"
|
||||
android:textAlignment="center"
|
||||
android:textColor="@color/text_dark"
|
||||
@@ -195,7 +194,8 @@
|
||||
app:layout_constraintHorizontal_bias="0.5"
|
||||
app:layout_constraintStart_toEndOf="@+id/donate"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.5" />
|
||||
app:layout_constraintVertical_bias="0.5"
|
||||
app:backgroundTint="@color/light_gray"/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
|
||||
@@ -69,9 +69,10 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="6dp"
|
||||
style="@style/MwmWidget.Button"
|
||||
style="@style/Widget.Material3.Button.TextButton"
|
||||
android:text="@string/planning_route_manage_route"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textAppearance="@style/MwmTextAppearance.Body1"
|
||||
app:icon="@drawable/ic_manage_route"
|
||||
app:iconTint="?android:textColorPrimary"
|
||||
app:iconPadding="6dp"/>
|
||||
@@ -84,13 +85,14 @@
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="@dimen/margin_base"
|
||||
android:minHeight="@dimen/primary_button_min_height"
|
||||
style="@style/MwmWidget.Button"
|
||||
style="@style/Widget.Material3.Button.TextButton"
|
||||
android:text="@string/save"
|
||||
android:textColor="?android:textColorPrimary"/>
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textAppearance="@style/MwmTextAppearance.Body1"/>
|
||||
|
||||
<Button
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/start"
|
||||
style="@style/MwmWidget.Button.Primary"
|
||||
style="@style/MwmWidget.M3.Button.Primary"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0"
|
||||
|
||||
@@ -110,11 +110,10 @@
|
||||
android:layout_marginBottom="@dimen/margin_base">
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/login"
|
||||
style="@style/MwmWidget.Button.Accent"
|
||||
style="@style/MwmWidget.M3.Button.Primary"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/login_osm"
|
||||
android:textAppearance="@style/MwmTextAppearance.Body2.Light" />
|
||||
android:text="@string/login_osm" />
|
||||
<ProgressBar
|
||||
android:id="@+id/osm_login_progress"
|
||||
android:layout_width="@dimen/editor_auth_btn_height"
|
||||
@@ -147,15 +146,14 @@
|
||||
android:textColor="?android:textColorPrimary" />
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/register"
|
||||
style="@style/MwmWidget.Button.Accent"
|
||||
style="@style/MwmWidget.M3.Button"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/margin_base"
|
||||
android:background="@drawable/button_editor_light"
|
||||
android:padding="@dimen/margin_quarter"
|
||||
android:text="@string/register_at_openstreetmap"
|
||||
android:textAppearance="@style/MwmTextAppearance.Body2"
|
||||
android:textColor="@color/text_dark" />
|
||||
android:textColor="@color/text_dark"
|
||||
app:backgroundTint="@color/bg_editor_light"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
@@ -123,12 +123,24 @@
|
||||
app:lanesEditModeLanesCount="10"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<app.organicmaps.widget.CurrentSpeedView
|
||||
android:id="@+id/nav_current_speed"
|
||||
style="@style/MwmWidget.CurrentSpeed"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="60dp"
|
||||
android:layout_margin="@dimen/margin_half"
|
||||
app:layout_constraintStart_toEndOf="@id/nav_next_turn_container"
|
||||
app:layout_constraintTop_toBottomOf="@id/street_frame"/>
|
||||
|
||||
<app.organicmaps.widget.SpeedLimitView
|
||||
android:id="@+id/nav_speed_limit"
|
||||
style="@style/MwmWidget.SpeedLimit"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="60dp"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp"
|
||||
android:layout_margin="@dimen/margin_half"
|
||||
app:layout_constraintStart_toEndOf="@id/nav_next_turn_container"
|
||||
app:layout_constraintTop_toBottomOf="@id/street_frame" />
|
||||
app:layout_constraintTop_toBottomOf="@id/nav_current_speed"
|
||||
android:translationY="-21dp"
|
||||
android:translationX="-12dp"
|
||||
android:translationZ="1dp"/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
android:clipChildren="false">
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/downloader_button"
|
||||
style="@style/MwmWidget.Button.Primary"
|
||||
style="@style/MwmWidget.M3.Button.Primary"
|
||||
android:layout_width="180dp"
|
||||
android:layout_gravity="center"
|
||||
android:visibility="gone"
|
||||
|
||||
@@ -88,9 +88,10 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="6dp"
|
||||
style="@style/MwmWidget.Button"
|
||||
style="@style/Widget.Material3.Button.TextButton"
|
||||
android:text="@string/planning_route_manage_route"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textAppearance="@style/MwmTextAppearance.Body1"
|
||||
app:icon="@drawable/ic_manage_route"
|
||||
app:iconTint="?android:textColorPrimary"
|
||||
app:iconPadding="6dp"/>
|
||||
@@ -100,14 +101,15 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/margin_base"
|
||||
style="@style/MwmWidget.Button"
|
||||
style="@style/Widget.Material3.Button.TextButton"
|
||||
android:minHeight="@dimen/primary_button_min_height"
|
||||
android:text="@string/save"
|
||||
android:textColor="?android:textColorPrimary"/>
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textAppearance="@style/MwmTextAppearance.Body1"/>
|
||||
|
||||
<Button
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/start"
|
||||
style="@style/MwmWidget.Button.Primary"
|
||||
style="@style/MwmWidget.M3.Button.Primary"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0"
|
||||
|
||||
@@ -112,7 +112,7 @@
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/donate"
|
||||
style="@style/MwmWidget.Button.Accent"
|
||||
style="@style/MwmWidget.M3.Button.Primary"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/margin_base"
|
||||
@@ -121,13 +121,13 @@
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/report"
|
||||
style="@style/MwmWidget.Button"
|
||||
style="@style/MwmWidget.M3.Button"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/margin_base"
|
||||
android:background="@color/light_gray"
|
||||
android:layout_marginTop="@dimen/margin_half"
|
||||
android:text="@string/report_a_bug"
|
||||
android:textColor="@color/text_dark" />
|
||||
android:textColor="@color/text_dark"
|
||||
app:backgroundTint="@color/light_gray"/>
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/faq"
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/btn_continue"
|
||||
style="@style/MwmWidget.Button.Accent"
|
||||
style="@style/MwmWidget.M3.Button.Primary"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="32dp"
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/btn_grant_permissions"
|
||||
style="@style/MwmWidget.Button.Accent"
|
||||
style="@style/MwmWidget.M3.Button.Primary"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="32dp"
|
||||
|
||||
@@ -71,9 +71,9 @@
|
||||
tools:visibility="visible" />
|
||||
</LinearLayout>
|
||||
|
||||
<Button
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/start"
|
||||
style="@style/MwmWidget.Button.Primary"
|
||||
style="@style/MwmWidget.M3.Button.Primary"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0"
|
||||
@@ -94,10 +94,11 @@
|
||||
android:id="@+id/btn__manage_route"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/MwmWidget.Button"
|
||||
style="@style/Widget.Material3.Button.TextButton"
|
||||
android:text="@string/planning_route_manage_route"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textAlignment="viewStart"
|
||||
android:textAppearance="@style/MwmTextAppearance.Body1"
|
||||
app:icon="@drawable/ic_manage_route"
|
||||
app:iconTint="?android:textColorPrimary"
|
||||
app:iconPadding="@dimen/margin_quarter_plus"/>
|
||||
@@ -107,11 +108,12 @@
|
||||
android:id="@+id/btn__save"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/MwmWidget.Button"
|
||||
style="@style/Widget.Material3.Button.TextButton"
|
||||
android:layout_marginStart="@dimen/margin_base"
|
||||
android:minHeight="@dimen/primary_button_min_height"
|
||||
android:text="@string/save"
|
||||
android:textColor="?android:textColorPrimary"/>
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textAppearance="@style/MwmTextAppearance.Body1"/>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
app:trackColor="@color/bg_routing_progress"/>
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/btn_download_resources"
|
||||
style="@style/MwmWidget.Button.Primary"
|
||||
style="@style/MwmWidget.M3.Button.Primary"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/margin_base_plus"
|
||||
|
||||
@@ -94,11 +94,10 @@
|
||||
android:layout_marginBottom="@dimen/margin_base">
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/login"
|
||||
style="@style/MwmWidget.Button.Accent"
|
||||
style="@style/MwmWidget.M3.Button.Primary"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/login_osm"
|
||||
android:textAppearance="@style/MwmTextAppearance.Body2.Light" />
|
||||
android:text="@string/login_osm" />
|
||||
<ProgressBar
|
||||
android:id="@+id/osm_login_progress"
|
||||
android:layout_width="@dimen/editor_auth_btn_height"
|
||||
@@ -109,14 +108,16 @@
|
||||
</FrameLayout>
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/lost_password"
|
||||
style="@style/MwmWidget.Button"
|
||||
style="@style/MwmWidget.M3.Button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:background="?clickableBackground"
|
||||
android:padding="@dimen/margin_half"
|
||||
android:text="@string/forgot_password"
|
||||
android:textAppearance="@style/MwmTextAppearance.Body3" />
|
||||
android:textAppearance="@style/MwmTextAppearance.Body3"
|
||||
android:textColor="@color/text_dark"
|
||||
tools:visibility="invisible"/>
|
||||
<com.google.android.material.divider.MaterialDivider
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -130,15 +131,14 @@
|
||||
android:textColor="?android:textColorPrimary" />
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/register"
|
||||
style="@style/MwmWidget.Button.Accent"
|
||||
style="@style/MwmWidget.M3.Button"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/margin_base"
|
||||
android:background="@drawable/button_editor_light"
|
||||
android:padding="@dimen/margin_quarter"
|
||||
android:text="@string/register_at_openstreetmap"
|
||||
android:textAppearance="@style/MwmTextAppearance.Body2"
|
||||
android:textColor="@color/text_dark" />
|
||||
android:textColor="@color/text_dark"
|
||||
app:backgroundTint="@color/bg_editor_light"/>
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
</LinearLayout>
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/btn__download_map"
|
||||
style="@style/MwmWidget.Button.Primary"
|
||||
style="@style/MwmWidget.M3.Button.Primary"
|
||||
android:layout_marginTop="@dimen/margin_half"
|
||||
android:text="@string/downloader_download_map"/>
|
||||
</LinearLayout>
|
||||
@@ -85,7 +85,7 @@
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/btn__select_map"
|
||||
style="@style/MwmWidget.Button.Primary"
|
||||
style="@style/MwmWidget.M3.Button.Primary"
|
||||
android:layout_marginTop="@dimen/margin_half"
|
||||
android:text="@string/search_select_map"/>
|
||||
</LinearLayout>
|
||||
|
||||
@@ -45,13 +45,15 @@
|
||||
android:maxLines="6" />
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<Button
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/send_note_button"
|
||||
style="@style/MwmWidget.Button.Accent"
|
||||
style="@style/MwmWidget.M3.Button.Primary"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:background="?accentButtonBackground"
|
||||
android:layout_marginTop="@dimen/margin_base"
|
||||
android:enabled="false"
|
||||
android:text="@string/editor_report_problem_send_button" />
|
||||
android:enabled="true"
|
||||
android:text="@string/editor_report_problem_send_button"
|
||||
app:backgroundTint="@null"/>
|
||||
</LinearLayout>
|
||||
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingBottom="@dimen/margin_base_plus"
|
||||
@@ -8,10 +9,12 @@
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/btn__add_time"
|
||||
style="@style/MwmWidget.Button.Primary"
|
||||
style="@style/MwmWidget.M3.Button.Primary"
|
||||
android:layout_gravity="center"
|
||||
android:enabled="false"
|
||||
android:background="?accentButtonBackground"
|
||||
android:padding="@dimen/margin_base"
|
||||
android:text="@string/editor_time_add"/>
|
||||
android:text="@string/editor_time_add"
|
||||
app:backgroundTint="@null"/>
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
@@ -13,35 +13,35 @@
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="0.5"/>
|
||||
|
||||
<!-- Speed -->
|
||||
<!-- ETA (Estimated Time of Arrival) -->
|
||||
<LinearLayout
|
||||
android:id="@+id/speed_view_container"
|
||||
android:id="@+id/eta_view_container"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/speed_cams_bg"
|
||||
android:gravity="center"
|
||||
android:minWidth="@dimen/nav_numbers_side_min_width">
|
||||
|
||||
<!-- ETA value -->
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/speed_value"
|
||||
android:id="@+id/eta_value"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:includeFontPadding="false"
|
||||
android:lines="1"
|
||||
android:textAppearance="@style/MwmTextAppearance.NavMenu.Number"
|
||||
tools:text="999" />
|
||||
tools:text="99:99" />
|
||||
|
||||
<!-- Speed -->
|
||||
<!-- ETA AM/PM -->
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/speed_dimen"
|
||||
android:id="@+id/eta_am_pm"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:includeFontPadding="false"
|
||||
android:lines="1"
|
||||
android:textAppearance="@style/MwmTextAppearance.NavMenu.Number.Dimension"
|
||||
tools:background="#20FF0000"
|
||||
tools:text="km/h" />
|
||||
tools:text="AM/PM" />
|
||||
</LinearLayout>
|
||||
|
||||
<Space
|
||||
@@ -103,14 +103,14 @@
|
||||
</LinearLayout>
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/time_estimate"
|
||||
android:id="@+id/disused_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:includeFontPadding="false"
|
||||
android:lines="1"
|
||||
android:textAlignment="center"
|
||||
android:textAppearance="@style/MwmTextAppearance.NavMenu.Number.Dimension"
|
||||
tools:text="99:99 AM" />
|
||||
tools:text="----" />
|
||||
</LinearLayout>
|
||||
|
||||
<Space
|
||||
|
||||
@@ -124,13 +124,26 @@
|
||||
app:lanesEditModeLanesCount="5"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<app.organicmaps.widget.CurrentSpeedView
|
||||
android:id="@+id/nav_current_speed"
|
||||
style="@style/MwmWidget.CurrentSpeed"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="60dp"
|
||||
android:layout_margin="@dimen/margin_half"
|
||||
app:layout_constraintEnd_toEndOf="@id/nav_next_turn_container"
|
||||
app:layout_constraintStart_toStartOf="@id/nav_next_turn_container"
|
||||
app:layout_constraintTop_toBottomOf="@id/nav_next_turn_container"/>
|
||||
|
||||
<app.organicmaps.widget.SpeedLimitView
|
||||
android:id="@+id/nav_speed_limit"
|
||||
style="@style/MwmWidget.SpeedLimit"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="60dp"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp"
|
||||
android:layout_margin="@dimen/margin_half"
|
||||
app:layout_constraintEnd_toEndOf="@id/nav_next_turn_container"
|
||||
app:layout_constraintStart_toStartOf="@id/nav_next_turn_container"
|
||||
app:layout_constraintTop_toBottomOf="@id/nav_next_turn_container" />
|
||||
app:layout_constraintTop_toBottomOf="@id/nav_current_speed"
|
||||
android:translationY="-23dp"
|
||||
android:translationX="-23dp"
|
||||
android:translationZ="1dp"/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
@@ -89,21 +89,22 @@
|
||||
android:paddingStart="0dp"
|
||||
android:paddingEnd="@dimen/altitude_chart_container_padding_left">
|
||||
|
||||
<Button
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/btn__cancel"
|
||||
style="@style/MwmWidget.Button"
|
||||
style="@style/Widget.Material3.Button.TextButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:text="@string/cancel"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textAppearance="@style/MwmTextAppearance.Body1"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<Button
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/btn__plan"
|
||||
style="@style/MwmWidget.Button.Primary"
|
||||
style="@style/MwmWidget.M3.Button.Primary"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
android:clipChildren="false">
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/downloader_button"
|
||||
style="@style/MwmWidget.Button.Primary"
|
||||
style="@style/MwmWidget.M3.Button.Primary"
|
||||
android:layout_width="180dp"
|
||||
android:layout_gravity="center"
|
||||
android:visibility="gone"
|
||||
|
||||
@@ -11,9 +11,23 @@
|
||||
android:id="@+id/tv__bookmark_notes"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/margin_base"
|
||||
android:layout_marginBottom="@dimen/margin_half"
|
||||
android:layout_marginEnd="@dimen/margin_base"
|
||||
android:layout_marginStart="@dimen/margin_base"
|
||||
android:layout_marginTop="@dimen/margin_base"
|
||||
android:textAppearance="?android:attr/textAppearance"
|
||||
tools:text="Long, long text Long, long text Long, long text Long, long text Long, long text Long, long text "/>
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/tv__bookmark_edit"
|
||||
style="@style/PlacePageMetadataText.Button"
|
||||
android:gravity="center"
|
||||
android:layout_height="@dimen/height_block_base"
|
||||
android:background="?clickableBackground"
|
||||
android:paddingEnd="@dimen/margin_base"
|
||||
android:paddingStart="@dimen/margin_base"
|
||||
android:text="@string/placepage_edit_bookmark_button"/>
|
||||
|
||||
<include
|
||||
layout="@layout/divider_horizontal"/>
|
||||
</LinearLayout>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Button
|
||||
<com.google.android.material.button.MaterialButton
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/start"
|
||||
style="@style/MwmWidget.Button.Primary"
|
||||
style="@style/MwmWidget.M3.Button.Primary"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:minWidth="@dimen/start_button_width"
|
||||
|
||||
@@ -216,7 +216,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">Проверете силата на звука или системните настройки за преобразуване на текст в реч, ако сега не чувате гласа.</string>
|
||||
<!-- Settings «Route» category: «Tts unavailable» subtitle -->
|
||||
@@ -804,4 +804,5 @@
|
||||
<string name="editor_line_social_network">LINE</string>
|
||||
<string name="app_site_url">https://comaps.app/</string>
|
||||
<string name="saved">Запазено</string>
|
||||
<string name="about_headline">Отворен проект, захранван от общността</string>
|
||||
</resources>
|
||||
|
||||
@@ -884,4 +884,5 @@
|
||||
<string name="delete_track_dialog_title">Odstranit %s?</string>
|
||||
<string name="hours_confirmed_time_ago">Potvrzeno %s</string>
|
||||
<string name="existence_confirmed_time_ago">Existence potvrzena %s</string>
|
||||
<string name="pref_tts_no_system_tts_short">Nenalezen žádný modul pro převod textu na řeč, zkontrolujte nastavení aplikace</string>
|
||||
</resources>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<!-- Search box placeholder text; Used when searching on the map itself, not when searching for a map -->
|
||||
<string name="search_map">Auf der Karte suchen</string>
|
||||
<!-- Location services are disabled by user alert - message -->
|
||||
<string name="location_is_disabled_long_text">Standortdienste sind für dieses Gerät oder App deaktiviert. Bitte aktivieren Sie diese in den Einstellungen.</string>
|
||||
<string name="location_is_disabled_long_text">Standortdienste sind für dieses Gerät oder diese App deaktiviert. Bitte aktivieren Sie diese in den Einstellungen.</string>
|
||||
<!-- A dialog title, that warns a user that Precise Location is disabled and suggests to turn it on -->
|
||||
<string name="limited_accuracy">Begrenzte Genauigkeit</string>
|
||||
<!-- A dialog text, that warns a user that Precise Location is disabled and suggests to turn it on -->
|
||||
@@ -225,7 +225,7 @@
|
||||
<!-- Settings «Route» category: «Test Voice Directions» title -->
|
||||
<string name="pref_tts_test_voice_title">Teste Sprachanweisungen</string>
|
||||
<!-- Settings «Route» category: Pop-up message when clicking «Test Voice Directions» -->
|
||||
<string name="pref_tts_playing_test_voice">Überprüfe die Lautstärke oder die Text-To-Speech Einstellungen des Systems, wenn du die Stimme jetzt nicht hören kannst</string>
|
||||
<string name="pref_tts_playing_test_voice">Überprüfe die Lautstärke oder die Text-To-Speech-Einstellungen des Systems, wenn du die Stimme jetzt nicht hören kannst</string>
|
||||
<!-- Settings «Route» category: «Tts unavailable» subtitle -->
|
||||
<string name="pref_tts_unavailable">Nicht verfügbar</string>
|
||||
<string name="pref_map_auto_zoom">Auto-Zoom</string>
|
||||
@@ -256,7 +256,7 @@
|
||||
<!-- Toast text when compass calibration may improve the correctness of the current position arrow -->
|
||||
<string name="compass_calibration_required">Bewegen Sie das Telefon in einer Achterbewegung, um den Kompass zu kalibrieren und die Pfeilrichtung auf der Karte festzulegen.</string>
|
||||
<!-- Toast text when user hides UI with a long tap anywhere on the map -->
|
||||
<string name="long_tap_toast">Tippe erneut lange auf die Karte, um das Interface zu sehen</string>
|
||||
<string name="long_tap_toast">Tippe erneut lange auf die Karte, um die Benutzeroberfläche zu sehen</string>
|
||||
<!-- Update all button text -->
|
||||
<string name="downloader_update_all_button">Alle aktualisieren</string>
|
||||
<!-- Cancel all button text -->
|
||||
@@ -346,10 +346,10 @@
|
||||
<string name="dialog_routing_cant_build_route">Route konnte nicht erstellt werden</string>
|
||||
<string name="dialog_routing_change_start_or_end">Bitte passen Sie Ihren Startpunkt oder Ihr Ziel an.</string>
|
||||
<string name="dialog_routing_change_start">Startpunkt anpassen</string>
|
||||
<string name="dialog_routing_start_not_determined">Route wurde nicht erstellt. Startpunkt kann nicht gefunden werden.</string>
|
||||
<string name="dialog_routing_start_not_determined">Route wurde nicht erstellt. Startpunkt konnte nicht gefunden werden.</string>
|
||||
<string name="dialog_routing_select_closer_start">Bitte wählen Sie einen Startpunkt, der näher an einer Straße liegt.</string>
|
||||
<string name="dialog_routing_change_end">Ziel anpassen</string>
|
||||
<string name="dialog_routing_end_not_determined">Route wurde nicht erstellt. Ziel kann nicht gefunden werden.</string>
|
||||
<string name="dialog_routing_end_not_determined">Route wurde nicht erstellt. Ziel konnte nicht gefunden werden.</string>
|
||||
<string name="dialog_routing_select_closer_end">Bitte wählen Sie einen Zielort näher an einer Straße</string>
|
||||
<string name="dialog_routing_change_intermediate">Der Zwischenstopp konnte nicht gefunden werden</string>
|
||||
<string name="dialog_routing_intermediate_not_determined">Bitte passen Sie Ihren Zwischenstopp an</string>
|
||||
@@ -358,7 +358,7 @@
|
||||
<string name="dialog_routing_try_again">Bitte versuchen Sie es erneut</string>
|
||||
<string name="not_now">Nicht jetzt</string>
|
||||
<string name="dialog_routing_download_and_build_cross_route">Möchten Sie die Karte herunterladen und eine bessere Route erstellen, die mehr als eine Karte umfasst?</string>
|
||||
<string name="dialog_routing_download_cross_route">Laden Sie zusätzliche Karten herunter, um eine bessere Route zu erstellen, die die Grenzen dieser Karte überschreitet.</string>
|
||||
<string name="dialog_routing_download_cross_route">Laden Sie zusätzliche Karten herunter, um eine bessere Route zu erstellen, welche die Grenzen dieser Karte überschreitet.</string>
|
||||
<!-- SECTION: Strings for downloading map from search -->
|
||||
<string name="search_without_internet_advertisement">Um mit der Suche und dem Erstellen von Routen zu beginnen, laden Sie bitte die Karte herunter. Sie benötigen danach keine Internetverbindung mehr.</string>
|
||||
<string name="search_select_map">Karte auswählen</string>
|
||||
@@ -395,18 +395,18 @@
|
||||
<string name="editor_time_add_closed">Schließzeiten hinzufügen</string>
|
||||
<string name="editor_time_title">Öffnungszeiten</string>
|
||||
<string name="editor_time_advanced">Erweiterter Modus</string>
|
||||
<string name="editor_time_simple">Einfachmodus</string>
|
||||
<string name="editor_time_simple">Einfacher Modus</string>
|
||||
<string name="editor_hours_closed">Schließzeiten</string>
|
||||
<string name="editor_example_values">Beispiele</string>
|
||||
<string name="editor_correct_mistake">Fehler korrigieren</string>
|
||||
<string name="editor_add_select_location">Standort auswählen</string>
|
||||
<string name="editor_report_problem_desription_1">Bitte beschreiben Sie das Problem detailliert, damit die OpenStreetMap-Community den Fehler korrigieren kann.</string>
|
||||
<string name="editor_report_problem_desription_2">Oder kümmern Sie sich selbst darum auf https://www.openstreetmap.org/</string>
|
||||
<string name="editor_report_problem_desription_2">Oder korrigieren Sie es selbst auf https://www.openstreetmap.org/</string>
|
||||
<string name="editor_report_problem_send_button">Senden</string>
|
||||
<string name="editor_report_problem_title">Problem</string>
|
||||
<string name="editor_report_problem_no_place_title">Der Ort existiert nicht</string>
|
||||
<string name="editor_report_problem_under_construction_title">Wegen Wartung geschlossen</string>
|
||||
<string name="editor_report_problem_duplicate_place_title">Doppelter Ort</string>
|
||||
<string name="editor_report_problem_no_place_title">Dieser Ort existiert nicht</string>
|
||||
<string name="editor_report_problem_under_construction_title">Wegen Bauarbeiten geschlossen</string>
|
||||
<string name="editor_report_problem_duplicate_place_title">Doppelt vorhanderer Ort</string>
|
||||
<string name="autodownload">Karten automatisch herunterladen</string>
|
||||
<!-- Place Page opening hours text -->
|
||||
<string name="daily">Täglich</string>
|
||||
@@ -416,7 +416,7 @@
|
||||
<string name="opens_in">Öffnet in %s</string>
|
||||
<string name="closes_in">Schließt in %s</string>
|
||||
<string name="closed">Geschlossen</string>
|
||||
<string name="edit_opening_hours">Geschäftszeiten bearbeiten</string>
|
||||
<string name="edit_opening_hours">Öffnungszeiten bearbeiten</string>
|
||||
<string name="no_osm_account">Kein Konto bei OpenStreetMap?</string>
|
||||
<string name="register_at_openstreetmap">Bei OpenStreetMap registrieren</string>
|
||||
<string name="login">Bei OpenStreetMap anmelden</string>
|
||||
@@ -444,7 +444,7 @@
|
||||
<string name="select_cuisine">Küche auswählen</string>
|
||||
<!-- login text field -->
|
||||
<string name="email_or_username">Email oder Benutzername</string>
|
||||
<string name="editor_add_phone">Telefon hinzufügen</string>
|
||||
<string name="editor_add_phone">Telefonnummer hinzufügen</string>
|
||||
<string name="level">Stockwerk</string>
|
||||
<!-- Building level -->
|
||||
<string name="level_value_generic">Stock: %s</string>
|
||||
@@ -476,8 +476,8 @@
|
||||
<!-- Downloaded 10 **of** 20 <- it is that "of" -->
|
||||
<string name="downloader_of">%1$d von %2$d</string>
|
||||
<string name="download_over_mobile_header">Über eine Mobilfunknetzverbindung herunterladen?</string>
|
||||
<string name="download_over_mobile_message">Das könnte mit einigen Tarifen oder beim Roaming sehr teuer werden</string>
|
||||
<string name="error_enter_correct_house_number">Richtige Hausnummer eingeben</string>
|
||||
<string name="download_over_mobile_message">Das könnte je nach Tarif oder beim Roaming sehr teuer werden</string>
|
||||
<string name="error_enter_correct_house_number">Gültige Hausnummer eingeben</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">Das Gebäude kann nicht mehr als %d Etagen haben</string>
|
||||
<string name="editor_zip_code">Postleitzahl</string>
|
||||
@@ -527,7 +527,7 @@
|
||||
<string name="error_enter_correct_line_page">Geben Sie eine gültige LINE-Webadresse oder LINE ID ein</string>
|
||||
<string name="placepage_add_place_button">Ort zu OpenStreetMap hinzufügen</string>
|
||||
<!-- Displayed when saving some edits to the map to warn against publishing personal data -->
|
||||
<string name="editor_share_to_all_dialog_title">An alle Benutzer senden?</string>
|
||||
<string name="editor_share_to_all_dialog_title">An alle Nutzer*innen senden?</string>
|
||||
<!-- Dialog before publishing the modifications to the public map. -->
|
||||
<string name="editor_share_to_all_dialog_message_1">Stellen Sie sicher, dass Sie keine persönlichen oder privaten Daten eingegeben haben</string>
|
||||
<string name="editor_share_to_all_dialog_message_2">Freiwillige von OpenStreetMap werden die Änderungen prüfen und sich bei Fragen mit Ihnen in Verbindung setzen</string>
|
||||
@@ -558,7 +558,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>
|
||||
<!-- User selected the destination by pressing Route To, but the current position is unknown. User needs to select a starting point of a route using search or by tapping on the map and then pressing "Route From". -->
|
||||
<string name="routing_add_start_point">Verwende die Suche oder tippe auf die Karte, um einen Routenstartpunkt hinzuzufügen</string>
|
||||
@@ -589,7 +589,7 @@
|
||||
<string name="bookmarks_error_title_empty_list_name">Der Name darf nicht leer sein</string>
|
||||
<string name="bookmarks_error_message_empty_list_name">Bitte geben Sie den Listennamen ein</string>
|
||||
<string name="bookmarks_new_list_hint">Neue Liste</string>
|
||||
<string name="bookmarks_error_title_list_name_already_taken">Dieser Name ist bereits vergeben</string>
|
||||
<string name="bookmarks_error_title_list_name_already_taken">Dieser Name wird bereits verwendet</string>
|
||||
<string name="bookmarks_error_message_list_name_already_taken">Bitte wähle einen anderen Namen</string>
|
||||
<string name="please_wait">Bitte warten…</string>
|
||||
<string name="phone_number">Telefonnummer</string>
|
||||
@@ -619,9 +619,9 @@
|
||||
<string name="speedcams_alert_title">Blitzer</string>
|
||||
<string name="place_description_title">Ortsbeschreibung</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">Karten werden geladen</string>
|
||||
<string name="notification_channel_downloader">Laden von Karten</string>
|
||||
<!-- "Speed cameras" settings menu option (should be short! no more than 47-50 chars) to warn a driver if there is a risk of exceeding the speed limit -->
|
||||
<string name="pref_tts_speedcams_auto">Warnen wenn zu schnell</string>
|
||||
<string name="pref_tts_speedcams_auto">Warnen bei Geschwindigkeitsübertretung</string>
|
||||
<!-- Speed camera settings menu option - Always warn (about speedcams) -->
|
||||
<string name="pref_tts_speedcams_always">Immer warnen</string>
|
||||
<!-- Speed camera settings menu option - Never warn (about speedcams) -->
|
||||
@@ -701,7 +701,7 @@
|
||||
<string name="select_list">Wählen Sie eine Liste</string>
|
||||
<string name="transit_not_found">Die U-Bahn-Navigation ist in dieser Region noch nicht verfügbar</string>
|
||||
<string name="dialog_pedestrian_route_is_long_header">Keine U-Bahn-Route gefunden</string>
|
||||
<string name="dialog_pedestrian_route_is_long_message">Wählen Sie einen zu einer U-Bahn-Station nähergelegenen Start- oder Endpunkt</string>
|
||||
<string name="dialog_pedestrian_route_is_long_message">Wählen Sie einen Start- oder Endpunkt näher an einer U-Bahn-Station</string>
|
||||
<string name="button_layer_isolines">Höhenlinien</string>
|
||||
<string name="isolines_activation_error_dialog">Um die Höhenlinien nutzen zu können, aktualisieren Sie die Karte des betreffenden Gebiets oder laden Sie diese herunter</string>
|
||||
<string name="isolines_location_error_dialog">Topographieebene ist für dieses Gebiet noch nicht verfügbar</string>
|
||||
@@ -745,7 +745,7 @@
|
||||
<!-- App tip #02 -->
|
||||
<string name="app_tip_02">Gefällt Ihnen unsere App? Bitte spenden Sie, um die Entwicklung zu unterstützen! Gefällt es Ihnen noch nicht? Bitte lassen Sie uns wissen warum und wir werden das Problem beheben!</string>
|
||||
<!-- App tip #03 -->
|
||||
<string name="app_tip_03">Wenn Sie einen Softwareentwickler kennen, können Sie ihn oder sie bitten, eine Funktion zu implementieren, die Sie benötigen.</string>
|
||||
<string name="app_tip_03">Wenn Sie eine*n Softwareentwickler*in kennen, können Sie ihn oder sie bitten, eine Funktion zu implementieren, die Sie benötigen.</string>
|
||||
<!-- App tip #04 -->
|
||||
<string name="app_tip_04">Tippen Sie irgendwo auf die Karte, um etwas auszuwählen. Tippen Sie lange, um die Oberfläche aus- und wieder einzublenden.</string>
|
||||
<!-- App tip #05 -->
|
||||
@@ -850,7 +850,7 @@
|
||||
<string name="saved">Gespeichert</string>
|
||||
<string name="pref_left_button_disable">Deaktivieren</string>
|
||||
<string name="editor_building_levels">Etagen (inkl. Erdgeschoss, ohne Dach)</string>
|
||||
<string name="error_enter_correct_level">Geben Sie eine gültige Etagen Nummer ein</string>
|
||||
<string name="error_enter_correct_level">Geben Sie eine gültige Stockwerk-Nummer ein</string>
|
||||
<string name="editor_level">Etage (0 ist Erdgeschoss)</string>
|
||||
<string name="clear">Löschen</string>
|
||||
<string name="vehicle">Fahrzeug</string>
|
||||
@@ -860,26 +860,26 @@
|
||||
<string name="pedestrian">Fußgänger</string>
|
||||
<string name="bookmark_color">Lesezeichenfarbe</string>
|
||||
<string name="about_help">Über & Hilfe</string>
|
||||
<string name="panoramax">Panoramax Bild</string>
|
||||
<string name="pref_backup_summary">Sichere automatisch in einen Ordner auf deinem Gerät</string>
|
||||
<string name="pref_backup_now_summary">Sicherung sofort erstellen</string>
|
||||
<string name="pref_backup_now_summary_ok">Sicherung erfolgreich abgeschlossen</string>
|
||||
<string name="pref_backup_now_summary_empty_lists">Keine Lesezeichen und Tracks zum Sichern</string>
|
||||
<string name="pref_backup_now_summary_failed">Sicherung fehlgeschlagen</string>
|
||||
<string name="pref_backup_now_summary_folder_unavailable">Der Sicherungsordner ist nicht verfügbar</string>
|
||||
<string name="panoramax">Panoramax-Bild</string>
|
||||
<string name="pref_backup_summary">Backup automatisch in einem Ordner auf deinem Gerät erstellen</string>
|
||||
<string name="pref_backup_now_summary">Backup sofort erstellen</string>
|
||||
<string name="pref_backup_now_summary_ok">Backup erfolgreich abgeschlossen</string>
|
||||
<string name="pref_backup_now_summary_empty_lists">Keine Lesezeichen und Tracks für Backup vorhanden</string>
|
||||
<string name="pref_backup_now_summary_failed">Backup fehlgeschlagen</string>
|
||||
<string name="pref_backup_now_summary_folder_unavailable">Der Backup-Ordner ist nicht verfügbar</string>
|
||||
<string name="pref_backup_location_summary_initial">Bitte wähle zuerst einen Ordner und erteile die Berechtigung</string>
|
||||
<string name="pref_backup_history_title">Anzahl zu speichernder Sicherungen</string>
|
||||
<string name="pref_backup_interval_title">Automatische Sicherung</string>
|
||||
<string name="pref_backup_history_title">Anzahl zu speichernder Backups</string>
|
||||
<string name="pref_backup_interval_title">Automatisches Backup</string>
|
||||
<string name="backup_interval_every_day">Täglich</string>
|
||||
<string name="backup_interval_manual_only">Aus (nur manuell)</string>
|
||||
<string name="pref_backup_title">Sicherung von Lesezeichen und Tracks</string>
|
||||
<string name="pref_backup_status_summary_success">Letzte erfolgreiche Sicherung</string>
|
||||
<string name="pref_backup_title">Backup von Lesezeichen und Tracks</string>
|
||||
<string name="pref_backup_status_summary_success">Letztes erfolgreiches Backup</string>
|
||||
<string name="dialog_report_error_with_logs">Bitte sende uns einen Fehlerbericht:\n - in den Einstellungen \"Protokollierung aktivieren\"\n - das Problem reproduzieren\n - im Bildschirm \"Über & Hilfe\" drücke den \"App-Fehler melden\"-Knopf und sende via E-Mail oder Chat\n - die Protokollierung deaktivieren</string>
|
||||
<string name="dialog_report_error_missing_folder">Der ausgewählte Sicherungsort ist nicht verfügbar oder beschreibbar. Bitte wähle einen anderen Ort.</string>
|
||||
<string name="pref_backup_now_title">Jetzt sichern</string>
|
||||
<string name="pref_backup_location_title">Sicherungsort</string>
|
||||
<string name="dialog_report_error_missing_folder">Der ausgewählte Backup-Ort ist nicht verfügbar oder beschreibbar. Bitte wähle einen anderen Ort.</string>
|
||||
<string name="pref_backup_now_title">Backup jetzt erstellen</string>
|
||||
<string name="pref_backup_location_title">Ort für Backup</string>
|
||||
<string name="backup_interval_every_week">Wöchentlich</string>
|
||||
<string name="pref_backup_now_summary_progress">Sicherung wird durchgeführt…</string>
|
||||
<string name="pref_backup_now_summary_progress">Backup wird durchgeführt…</string>
|
||||
<string name="open_now">Jetzt geöffnet</string>
|
||||
<string name="at">um %s</string>
|
||||
<string name="closed_now">Jetzt geschlossen</string>
|
||||
@@ -889,4 +889,5 @@
|
||||
<string name="delete_track_dialog_title">%s löschen?</string>
|
||||
<string name="existence_confirmed_time_ago">Existenz bestätigt %s</string>
|
||||
<string name="hours_confirmed_time_ago">Bestätigt %s</string>
|
||||
<string name="pref_tts_no_system_tts_short">Kein Text-zu-Sprache-Modul gefunden, überprüfe die App-Einstellungen</string>
|
||||
</resources>
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
<!-- Text in About screen -->
|
||||
<string name="about_headline">Proyecto abierto impulsado por la comunidad</string>
|
||||
<!-- Text in About screen -->
|
||||
<string name="about_proposition_1">• Fácil de utilizar y depurado</string>
|
||||
<string name="about_proposition_1">• Fácil de utilizar y completo</string>
|
||||
<!-- Text in About screen -->
|
||||
<string name="about_proposition_2">• Enfocado en la privacidad y sin anuncios</string>
|
||||
<!-- Text in About screen -->
|
||||
@@ -103,7 +103,7 @@
|
||||
<!-- Search category for cafes, bars, restaurants; any changes should be duplicated in categories.txt @category_eat! -->
|
||||
<string name="category_eat">Dónde comer</string>
|
||||
<!-- Search category for grocery stores; any changes should be duplicated in categories.txt @category_food! -->
|
||||
<string name="category_food">Provisiones</string>
|
||||
<string name="category_food">Productos de alimentación</string>
|
||||
<!-- 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! -->
|
||||
@@ -248,7 +248,7 @@
|
||||
<!-- Button in the main menu -->
|
||||
<string name="donate">Donar</string>
|
||||
<!-- Button in the main Help dialog -->
|
||||
<string name="how_to_support_us">Apoye el proyecto</string>
|
||||
<string name="how_to_support_us">Hazte voluntari@ y mejora CoMaps</string>
|
||||
<!-- Button in the main Help dialog -->
|
||||
<string name="copyright">Derechos de autor</string>
|
||||
<!-- Text in menu + Button in the main Help dialog -->
|
||||
@@ -468,7 +468,7 @@
|
||||
<string name="editor_edit_place_category_title">Categoría</string>
|
||||
<string name="detailed_problem_description">Descripción detallada del problema</string>
|
||||
<string name="editor_report_problem_other_title">Un problema diferente</string>
|
||||
<string name="placepage_add_business_button">Añadir organización</string>
|
||||
<string name="placepage_add_business_button">Añadir empresa</string>
|
||||
<string name="message_invalid_feature_position">No se puede ubicar ningún objeto aquí</string>
|
||||
<!-- 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>
|
||||
@@ -492,7 +492,7 @@
|
||||
<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">Tu historial de ediciones</string>
|
||||
<string name="editor_osm_notes">Tus notas de datos cartográficos</string>
|
||||
<string name="editor_osm_notes">Tus notas de del mapa</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>
|
||||
@@ -892,4 +892,7 @@
|
||||
<string name="osm_note_toast">Una nota será enviada a OpenStreetMap</string>
|
||||
<string name="delete_track_dialog_title">Eliminar %s?</string>
|
||||
<string name="existence_confirmed_time_ago">Existencia confirmada %s</string>
|
||||
<string name="hours_confirmed_time_ago">Confirmado %s</string>
|
||||
<string name="share_track">Compartir traza</string>
|
||||
<string name="pref_tts_no_system_tts_short">No se ha encontrado ningún motor de texto-a-voz, comprueba la configuración de la aplicación</string>
|
||||
</resources>
|
||||
|
||||
@@ -884,4 +884,5 @@
|
||||
<string name="delete_track_dialog_title">Kas kustutame: %s?</string>
|
||||
<string name="existence_confirmed_time_ago">Olemasolu on kontrollitud %s</string>
|
||||
<string name="hours_confirmed_time_ago">Kontrollitud %s</string>
|
||||
<string name="pref_tts_no_system_tts_short">Ühtegi kõnesünteesimootorit ei leidu, palun kontrolli rakenduse seadistusi</string>
|
||||
</resources>
|
||||
|
||||
@@ -886,4 +886,7 @@
|
||||
<string name="osm_note_hint">Vaihtoehtoisesti voit jättää huomion OpenStreetMap yhteisölle, jotta joku muu voi lisätä tai korjata paikan tiedot.</string>
|
||||
<string name="delete_track_dialog_title">Poista %s?</string>
|
||||
<string name="share_track">Jaa Reitti</string>
|
||||
<string name="hours_confirmed_time_ago">Vahvistettu %s</string>
|
||||
<string name="existence_confirmed_time_ago">Olemassaolo vahvistettu %s</string>
|
||||
<string name="pref_tts_no_system_tts_short">Tekstistä puheeksi -moottoria ei löytynyt, tarkista sovelluksen asetukset</string>
|
||||
</resources>
|
||||
|
||||
@@ -165,7 +165,7 @@
|
||||
<!-- Warning message when doing search around current position -->
|
||||
<string name="unknown_current_position">Votre position n\'a pas encore été déterminée</string>
|
||||
<!-- Alert message that we can't run Map Storage settings due to some reasons. -->
|
||||
<string name="cant_change_this_setting">Désolé, les paramètres de stockage dee cartes sont actuellement désactivés.</string>
|
||||
<string name="cant_change_this_setting">Désolé, le stockage des cartes n\'est pas activé dans les paramètres actuellement</string>
|
||||
<!-- Alert message that downloading is in progress. -->
|
||||
<string name="downloading_is_active">Le téléchargement de la carte est en cours</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. -->
|
||||
@@ -337,7 +337,7 @@
|
||||
<string name="dialog_routing_disclaimer_priority">— Les conditions de circulation, le code de la route et les panneaux de signalisation ont la priorité sur les conseils de navigation ;</string>
|
||||
<string name="dialog_routing_disclaimer_precision">— La carte peut être erronée et l\'itinéraire proposé n\'est pas forcément optimal pour arriver à destination ;</string>
|
||||
<string name="dialog_routing_disclaimer_recommendations">— L\'itinéraire proposé doit être considéré comme une simple recommandation ;</string>
|
||||
<string name="dialog_routing_disclaimer_borders">— Soyez vigilants à proximité des zones frontalières : les itinéraires générés par l\'application peuvent parfois franchir les frontières entre états dans des zones interdites ;</string>
|
||||
<string name="dialog_routing_disclaimer_borders">— Faites attention à proximité des zones frontalières : les itinéraires calculés par l\'application peuvent emprunter des zones interdites.</string>
|
||||
<string name="dialog_routing_disclaimer_beware">Restez vigilants et soyez prudents sur la route !</string>
|
||||
<string name="dialog_routing_check_gps">Vérifiez le signal GPS</string>
|
||||
<string name="dialog_routing_error_location_not_found">Impossible de créer l\'itinéraire. Les coordonnées GPS actuelles n\'ont pas pu être déterminées.</string>
|
||||
@@ -346,10 +346,10 @@
|
||||
<string name="dialog_routing_location_unknown_turn_on">Impossible de déterminer les coordonnées GPS actuelles. Activez les services de localisation pour calculer l\'itinéraire.</string>
|
||||
<string name="dialog_routing_unable_locate_route">Impossible de localiser l\'itinéraire</string>
|
||||
<string name="dialog_routing_cant_build_route">Impossible de créer l\'itinéraire</string>
|
||||
<string name="dialog_routing_change_start_or_end">Veuillez ajuster votre point de départ ou votre destination</string>
|
||||
<string name="dialog_routing_change_start_or_end">Veuillez ajuster votre point de départ ou votre destination.</string>
|
||||
<string name="dialog_routing_change_start">Modifiez votre point de départ</string>
|
||||
<string name="dialog_routing_start_not_determined">Impossible de localiser le point de départ. L\'itinéraire n\'a pas pu être créé.</string>
|
||||
<string name="dialog_routing_select_closer_start">Choisissez un point de départ à proximité d\'une route</string>
|
||||
<string name="dialog_routing_select_closer_start">Choisissez un point de départ à proximité d\'une route.</string>
|
||||
<string name="dialog_routing_change_end">Ajustez la destination</string>
|
||||
<string name="dialog_routing_end_not_determined">Impossible de localiser la destination. L\'itinéraire n\'a pas pu être créé.</string>
|
||||
<string name="dialog_routing_select_closer_end">Choisissez un lieu de destination à proximité d\'une route</string>
|
||||
@@ -372,7 +372,7 @@
|
||||
<string name="history">Historique</string>
|
||||
<string name="search_not_found">Oups, aucun résultat trouvé</string>
|
||||
<!-- The message when user did not find anything in the search. -->
|
||||
<string name="search_not_found_query">Téléchargez la région dans laquelle vous effectuez votre recherche ou essayez d\'ajouter le nom d\'une ville ou d\'un village proche</string>
|
||||
<string name="search_not_found_query">Téléchargez la région dans laquelle vous effectuez votre recherche ou essayez d\'ajouter le nom d\'une ville ou d\'un village proche.</string>
|
||||
<string name="search_history_title">Historique de recherche</string>
|
||||
<string name="search_history_text">Affichez vos dernières recherches</string>
|
||||
<string name="clear_search">Effacer l\'historique de recherche</string>
|
||||
@@ -461,7 +461,7 @@
|
||||
<string name="downloader_no_space_message">Veuillez supprimer les données inutiles</string>
|
||||
<string name="editor_login_error_dialog">Erreur de connexion</string>
|
||||
<string name="editor_profile_changes">Modifications vérifiées</string>
|
||||
<string name="editor_focus_map_on_location">Déplacez la carte pour placer la croix à l\'emplacement du lieu ou de l\'entreprise</string>
|
||||
<string name="editor_focus_map_on_location">Déplacez la carte pour positionner la croix à l\'emplacement du lieu ou de l\'entreprise.</string>
|
||||
<string name="editor_edit_place_title">Modification</string>
|
||||
<string name="editor_add_place_title">Ajout</string>
|
||||
<string name="editor_edit_place_name_hint">Nom du lieu</string>
|
||||
@@ -476,7 +476,7 @@
|
||||
<string name="osm_presentation">Données OpenStreetMap créées par la communauté en date du %s. Pour en savoir plus sur la façon de modifier et de mettre à jour la carte, consultez le site OpenStreetMap.org</string>
|
||||
<!-- OSM explanation on Android login screen -->
|
||||
<string name="login_osm_presentation">OpenStreetMap.org (OSM) est un projet communautaire visant à créer une carte libre et ouverte. C\'est la principale source de données cartographiques de CoMaps et son fonctionnement est similaire à celui de Wikipédia. Vous pouvez ajouter ou modifier des lieux et ils deviennent accessibles à des millions d\'utilisateurs dans le monde entier. \nRejoignez la communauté et aidez-nous à créer une meilleure carte pour tout le monde !</string>
|
||||
<string name="login_to_make_edits_visible">Créez un compte OpenStreetMap ou connectez-vous pour publier vos modifications de carte dans le monde entier.</string>
|
||||
<string name="login_to_make_edits_visible">Créez un compte OpenStreetMap ou connectez-vous pour publier vos modifications de carte et les diffuser au monde entier</string>
|
||||
<!-- Downloaded 10 **of** 20 <- it is that "of" -->
|
||||
<string name="downloader_of">%1$d de %2$d</string>
|
||||
<string name="download_over_mobile_header">Télécharger avec une connexion réseau cellulaire ?</string>
|
||||
@@ -534,7 +534,7 @@
|
||||
<string name="editor_share_to_all_dialog_title">Souhaitez-vous l’envoyer à tous les utilisateurs ?</string>
|
||||
<!-- Dialog before publishing the modifications to the public map. -->
|
||||
<string name="editor_share_to_all_dialog_message_1">Assurez-vous de n’avoir pas saisi de données personnelles</string>
|
||||
<string name="editor_share_to_all_dialog_message_2">Les contributeurs d\'OpenStreetMap vérifieront vos modifications et vous contacteront s\'ils ont des questions.</string>
|
||||
<string name="editor_share_to_all_dialog_message_2">Les cartographes OpenStreetMap vérifieront vos modifications et vous contacteront en cas de questions</string>
|
||||
<!-- Shown as toast when starting the recent track recording -->
|
||||
<string name="track_recording">Enregistreur de traces</string>
|
||||
<!-- For the first routing -->
|
||||
@@ -550,7 +550,7 @@
|
||||
<string name="mobile_data_description">Une connexion Internet est nécessaire pour recevoir les mises à jour de cartes et pour envoyer vos modifications</string>
|
||||
<string name="mobile_data_option_never">Ne jamais utiliser</string>
|
||||
<string name="mobile_data_option_ask">Toujours demander</string>
|
||||
<string name="traffic_update_maps_text">Pour afficher les données de circulation, les cartes doivent être mises à jour.</string>
|
||||
<string name="traffic_update_maps_text">Pour afficher le traffic, les cartes doivent être mises à jour</string>
|
||||
<string name="big_font">Augmenter la taille de police sur la carte</string>
|
||||
<string name="traffic_update_app">Veuillez mettre à jour CoMaps</string>
|
||||
<!-- "traffic" as in "road congestion" -->
|
||||
@@ -647,7 +647,7 @@
|
||||
<string name="avoid_ferry">Éviter les ferries</string>
|
||||
<string name="avoid_motorways">Éviter les autoroutes</string>
|
||||
<string name="unable_to_calc_alert_title">Impossible de calculer l\'itinéraire</string>
|
||||
<string name="unable_to_calc_alert_subtitle">Malheureusement, nous n\'avons pas pu créer l\'itinéraire avec les options sélectionnées. Modifiez les paramètres et réessayez</string>
|
||||
<string name="unable_to_calc_alert_subtitle">Malheureusement aucun itinéraire n\'a pu être calculé soit en raison d\'un manque de données OpenStreetMap soit à cause des options de routage choisies. Modifiez les paramètres de routage et réessayez.</string>
|
||||
<string name="define_to_avoid_btn">Définissez les routes à éviter</string>
|
||||
<string name="change_driving_options_btn">Paramètres d\'itinéraire activés</string>
|
||||
<string name="toll_road">Route à péage</string>
|
||||
@@ -824,7 +824,7 @@
|
||||
<!-- Message for the toast when saving the track recording is finished but nothing to save. -->
|
||||
<string name="track_recording_toast_nothing_to_save">L\'itinéraire est vide - il n\'y a rien à sauvegarder</string>
|
||||
<!-- Error message when there are no File Manager apps installed to select a folder when importing Bookmarks and Tracks -->
|
||||
<string name="error_no_file_manager_app">Impossible d\'afficher la boîte de dialogue de sélection des dossiers car aucune application appropriée n\'est installée sur votre appareil. Veuillez installer une application de gestion de fichiers et réessayer</string>
|
||||
<string name="error_no_file_manager_app">Impossible d\'afficher la fenêtre de sélection des dossiers car aucune application n\'a été trouvée sur votre appareil. Veuillez installer une application de gestion de fichiers puis réessayer.</string>
|
||||
<string name="choose_color">Choisir la couleur</string>
|
||||
<string name="edit_track">Modifier la trace</string>
|
||||
<string name="uri_open_location_failed">Aucune application installée ne permet d\'ouvrir l\'emplacement</string>
|
||||
@@ -894,4 +894,5 @@
|
||||
<string name="delete_track_dialog_title">Supprimer %s ?</string>
|
||||
<string name="existence_confirmed_time_ago">Existance confirmée %s</string>
|
||||
<string name="hours_confirmed_time_ago">Confirmé %s</string>
|
||||
<string name="pref_tts_no_system_tts_short">Impossible de lire ce texte à voix haute, vérifiez les paramètres de l\'application</string>
|
||||
</resources>
|
||||
|
||||
@@ -621,4 +621,5 @@
|
||||
<string name="hours_confirmed_time_ago">Confirmado %s</string>
|
||||
<string name="existence_confirmed_time_ago">Existencia confirmada %s</string>
|
||||
<string name="share_track">Compartir ruta</string>
|
||||
<string name="pref_tts_no_system_tts_short">Non se atopa un motor texto-a-fala, comproba os axustes da app</string>
|
||||
</resources>
|
||||
|
||||
@@ -252,7 +252,7 @@
|
||||
<string name="help">Hilf</string>
|
||||
<string name="faq">Hüüfigi Frage und Antworte</string>
|
||||
<string name="donate">Spende</string>
|
||||
<string name="how_to_support_us">Unterstütz s Projekt</string>
|
||||
<string name="how_to_support_us">Freiwillig helfe und CoMaps verbessere</string>
|
||||
<string name="copyright">Copyright</string>
|
||||
<string name="report_a_bug">App-Fehler melde</string>
|
||||
<string name="compass_calibration_recommended">Verbesser d Pfiilrichtig, indem du s Telefon inere Achterbewegig bewegsch, zum de Kompass z kalibriere.</string>
|
||||
@@ -617,4 +617,9 @@
|
||||
<string name="at">am %s</string>
|
||||
<string name="osm_note_hint">Oder hinterlaa alternativ en Hiiwiis für d OpenStreetMap Community, sodass öpper andersch en Ort hinzuefüege oder korrigiere cha.</string>
|
||||
<string name="osm_note_toast">En Hiiwiis wird zu OpenStreetMap gschickt</string>
|
||||
<string name="share_track">Strecki teile</string>
|
||||
<string name="delete_track_dialog_title">%s lösche?</string>
|
||||
<string name="existence_confirmed_time_ago">Existenz bestätigt %s</string>
|
||||
<string name="hours_confirmed_time_ago">Bestätigt %s</string>
|
||||
<string name="pref_tts_no_system_tts_short">Keis Text-to-Speech-Modul gfunde, überprüef d App-Iistellige</string>
|
||||
</resources>
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
<string name="back">Nazad</string>
|
||||
<string name="download_has_failed">Preuzimanje neuspješno. Dotaknite za ponovni pokušaj.</string>
|
||||
<string name="cancel">Odustani</string>
|
||||
<string name="delete">Obriši</string>
|
||||
<string name="delete">Izbriši</string>
|
||||
<string name="kilometres">Kilometara</string>
|
||||
<string name="downloading">Preuzimanje…</string>
|
||||
<string name="download_maps">Preuzmi Karte</string>
|
||||
<string name="download_maps">Skini karte</string>
|
||||
<string name="miles">Milje</string>
|
||||
<string name="later">Kasnije</string>
|
||||
<string name="search">Traži</string>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<string name="delete">Törlés</string>
|
||||
<string name="download_maps">Térképek letöltése</string>
|
||||
<!-- Settings/Downloader - info for country when download fails -->
|
||||
<string name="download_has_failed">Nem sikerült letölteni, próbáld meg újra</string>
|
||||
<string name="download_has_failed">Nem sikerült letölteni, próbálja újra</string>
|
||||
<!-- Settings/Downloader - info for country which started downloading -->
|
||||
<string name="downloading">Letöltés…</string>
|
||||
<!-- Choose measurement on first launch alert - choose metric system button -->
|
||||
@@ -23,7 +23,7 @@
|
||||
<!-- Search box placeholder text; Used when searching on the map itself, not when searching for a map -->
|
||||
<string name="search_map">Keresés a térképen</string>
|
||||
<!-- Location services are disabled by user alert - message -->
|
||||
<string name="location_is_disabled_long_text">Jelenleg az eszköz vagy alkalmazás helymeghatározási szolgáltatásai le vannak tiltva. Engedélyezze őket a Beállításokban.</string>
|
||||
<string name="location_is_disabled_long_text">Jelenleg az eszköz vagy alkalmazás helymeghatározási szolgáltatásai le vannak tiltva. Engedélyezze őket a beállításokban.</string>
|
||||
<!-- A dialog title, that warns a user that Precise Location is disabled and suggests to turn it on -->
|
||||
<string name="limited_accuracy">Korlátozott pontosság</string>
|
||||
<!-- A dialog text, that warns a user that Precise Location is disabled and suggests to turn it on -->
|
||||
@@ -70,7 +70,7 @@
|
||||
<!-- Should be used in the bookmarks-only context, see bookmarks_and_tracks if tracks are also implied. -->
|
||||
<string name="bookmarks">Könyvjelzők</string>
|
||||
<!-- "Bookmarks and Tracks" dialog title, also sync it with iphone/plist.txt -->
|
||||
<string name="bookmarks_and_tracks">Könyvjelzők és nyomvonalak</string>
|
||||
<string name="bookmarks_and_tracks">Könyvjelzők és útvonalak</string>
|
||||
<!-- Add bookmark dialog - bookmark name -->
|
||||
<string name="name">Név</string>
|
||||
<!-- Editor title above street and house number, duplicates [type.building.address] in types_strings.txt -->
|
||||
@@ -259,7 +259,7 @@
|
||||
<!-- Downloaded maps list header -->
|
||||
<string name="downloader_downloaded_subtitle">Letöltve</string>
|
||||
<!-- Country queued for download -->
|
||||
<string name="downloader_queued">Sorbaállítva</string>
|
||||
<string name="downloader_queued">Várólistához adva</string>
|
||||
<string name="downloader_near_me_subtitle">A közelben</string>
|
||||
<!-- In maps downloader and country place page shows how many maps are downloaded / to download, e.g. "Maps: 3 of 10" -->
|
||||
<string name="downloader_status_maps">Térképek</string>
|
||||
@@ -459,12 +459,12 @@
|
||||
<!-- Text in About and OSM Login screens. First %@ is replaced by a local, human readable date. -->
|
||||
<string name="osm_presentation">A közösségi OpenStreetMap adatok frissítésének időpontja: %s. Tudjon meg többet a térkép szerkesztéséről és frissítéséről az OpenStreetMap.org oldalon</string>
|
||||
<!-- OSM explanation on Android login screen -->
|
||||
<string name="login_osm_presentation">Az OpenStreetMap.org (OSM) egy közösségi projekt, amelynek célja egy ingyenes és nyílt térkép létrehozása. Ez az CoMaps alkalmazás térképadatainak fő forrása, és a Wikipédiához hasonlóan működik. Helyeket adhat hozzá vagy szerkeszthet, és azok világszerte felhasználók milliói számára válnak elérhetővé. \nCsatlakozzon a közösséghez, és segítsen egy jobb térképet készíteni mindenki számára!</string>
|
||||
<string name="login_osm_presentation">Az OpenStreetMap.org (OSM) egy közösségi projekt, amelynek célja egy ingyenes és nyílt térkép létrehozása. Ez az CoMaps alkalmazás térképadatainak fő forrása, és a Wikipédiához hasonlóan működik. Helyeket adhat hozzá vagy szerkeszthet, és azok világszerte felhasználók milliói számára válnak elérhetővé. \nCsatlakozzon a közösséghez, és segítsen jobb térképet készíteni mindenki számára!</string>
|
||||
<string name="login_to_make_edits_visible">Hozzon létre egy OpenStreetMap-fiókot, vagy jelentkezzen be, hogy a világ számára közzétehesse az Ön térképszerkesztéseit</string>
|
||||
<!-- Downloaded 10 **of** 20 <- it is that "of" -->
|
||||
<string name="downloader_of">%1$d / %2$d</string>
|
||||
<string name="download_over_mobile_header">Biztosan letölti mobilhálózati kapcsolaton keresztül?</string>
|
||||
<string name="download_over_mobile_message">Ez egyes díjcsomagok vagy roaming esetén jelentős költségekkel járhat.</string>
|
||||
<string name="download_over_mobile_message">Ez egyes díjcsomagok vagy roaming esetén jelentős költségekkel járhat</string>
|
||||
<string name="error_enter_correct_house_number">Adjon meg egy érvényes házszámot</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">Ez az épület legfeljebb %d emeletes lehet</string>
|
||||
@@ -473,7 +473,7 @@
|
||||
<!-- Title for OSM note section in the editor -->
|
||||
<string name="editor_other_info">Megjegyzés az OpenStreetMap önkénteseinek (nem kötelező)</string>
|
||||
<!-- Hint of the input field in the OSM note section of the editor -->
|
||||
<string name="editor_note_hint">Írja le a térképen található hibákat vagy olyan dolgokat, amelyeket nem lehet az CoMaps segítségével szerkeszteni</string>
|
||||
<string name="editor_note_hint">Írja le a térképen található hibákat vagy olyan dolgokat, amelyeket nem lehet a CoMaps segítségével szerkeszteni</string>
|
||||
<!-- Information about OSM at the top of the editing page -->
|
||||
<string name="editor_about_osm">A szerkesztései feltöltődnek a nyilvános <a href="https://wiki.openstreetmap.org/wiki/Hu:Névjegy">OpenStreetMap</a> adatbázisba. Ne adjon hozzá személyes vagy szerzői jogvédelem alatt álló információkat.</string>
|
||||
<string name="editor_more_about_osm">További részletek az OpenStreetMap adatbázisról</string>
|
||||
@@ -485,7 +485,7 @@
|
||||
<string name="editor_category_unsuitable_title">Nem találja a megfelelő kategóriát?</string>
|
||||
<string name="editor_category_unsuitable_text">Az CoMaps csak egyszerű pontkategóriák hozzáadását teszi lehetővé, azaz nem tartalmaz városokat, utakat, tavakat, épületek körvonalait stb., az ilyen kategóriákat közvetlenül az <a href="https://www.openstreetmap.org">OpenStreetMap.org</a> oldalon adhatja hozzá. A részletes, lépésről lépésre történő útmutatásért tekintse meg az <a href="https://www.comaps.app/support/advanced-map-editing/">útmutatónkat</a>.</string>
|
||||
<string name="downloader_no_downloaded_maps_title">Még nem töltött le térképet</string>
|
||||
<string name="downloader_no_downloaded_maps_message">Térkép letöltése offline kereséshez és navigáláshoz.</string>
|
||||
<string name="downloader_no_downloaded_maps_message">Térképek letöltése internetkapcsolat nélküli kereséshez és navigáláshoz</string>
|
||||
<!-- abbreviation for kilometers per hour -->
|
||||
<string name="kilometers_per_hour">km/h</string>
|
||||
<string name="miles_per_hour">mf/h</string>
|
||||
@@ -509,8 +509,8 @@
|
||||
<!-- Displayed when saving some edits to the map to warn against publishing personal data -->
|
||||
<string name="editor_share_to_all_dialog_title">Szeretné elküldeni az összes felhasználónak?</string>
|
||||
<!-- Dialog before publishing the modifications to the public map. -->
|
||||
<string name="editor_share_to_all_dialog_message_1">Győződjön meg arról, hogy nem ad meg semmilyen személyes információt.</string>
|
||||
<string name="editor_share_to_all_dialog_message_2">Az OpenStreetMap szerkesztői ellenőrzik a változásokat, és felveszik Önnel a kapcsolatot, ha kérdéseik vannak.</string>
|
||||
<string name="editor_share_to_all_dialog_message_1">Győződjön meg arról, hogy nem ad meg semmilyen magánjellegű vagy személyes adatokat</string>
|
||||
<string name="editor_share_to_all_dialog_message_2">Az OpenStreetMap szerkesztői ellenőrzik a változásokat, és felveszik Önnel a kapcsolatot, ha bármilyen kérdésük van</string>
|
||||
<string name="navigation_stop_button">Megállítás</string>
|
||||
<!-- Shown as toast when starting the recent track recording -->
|
||||
<string name="track_recording">Nyomvonal rögzítése</string>
|
||||
@@ -524,10 +524,10 @@
|
||||
<string name="mobile_data_option_not_today">Ma ne használja</string>
|
||||
<string name="mobile_data">Mobilinternet</string>
|
||||
<!-- NOTE to translators: please synchronize your translation with the English one. -->
|
||||
<string name="mobile_data_description">Mobilinternet szükséges a térképfrissítési értesítésekhez, valamint a helyszínekre és könyvjelzőkre vonatkozó részletes információk megjelenítéséhez.</string>
|
||||
<string name="mobile_data_description">A térképfrissítési értesítésekhez és a szerkesztések feltöltéséhez mobilinternetre van szükség</string>
|
||||
<string name="mobile_data_option_never">Soha ne használja</string>
|
||||
<string name="mobile_data_option_ask">Mindig kérdezzen rá</string>
|
||||
<string name="traffic_update_maps_text">Forgalmi adatok megjelenítéséhez frissíteni kell a térképeket.</string>
|
||||
<string name="traffic_update_maps_text">A forgalmi adatok megjelenítéséhez frissíteni kell a térképeket</string>
|
||||
<string name="big_font">Betűméret növelése a térképen</string>
|
||||
<string name="traffic_update_app">Frissítse az CoMaps alkalmazást</string>
|
||||
<!-- "traffic" as in "road congestion" -->
|
||||
@@ -537,7 +537,7 @@
|
||||
<string name="feedback_general">Általános visszajelzés</string>
|
||||
<string name="prefs_languages_information">Az CoMaps TTS-rendszert használ a hangnavigációhoz. Sok androidos eszköz használja a Google TTS-t; töltse le vagy frissítse a Google Play áruházból (https://play.google.com/store/apps/details?id=com.google.android.tts)</string>
|
||||
<string name="prefs_languages_information_off">Egyes nyelveknél másik beszédszintetizátort vagy további nyelvi csomagot kell telepítenie az alkalmazás-áruházból (Google Play, Galaxy Store, App Gallery, FDroid). \nNyissa meg az eszköz beállításait → Nyelv és bevitel → Beszéd → Szöveg-beszéd átalakító kimenet. \nItt kezelheti a beszédszintézis beállításokat (például: nyelvi csomag letöltése a kapcsolat nélküli használathoz) és másik szövegfelolvasót jelölhet ki.</string>
|
||||
<string name="prefs_languages_information_off_link">További tájékoztatást találhat még ebben az útmutatóban.</string>
|
||||
<string name="prefs_languages_information_off_link">Ebben az útmutatóban további tájékoztatást talál</string>
|
||||
<string name="transliteration_title">Átírás latin betűkre</string>
|
||||
<string name="learn_more">Tudjon meg többet</string>
|
||||
<!-- User selected the destination by pressing Route To, but the current position is unknown. User needs to select a starting point of a route using search or by tapping on the map and then pressing "Route From". -->
|
||||
@@ -562,7 +562,7 @@
|
||||
</plurals>
|
||||
<string name="bookmarks_create_new_group">Új lista létrehozása</string>
|
||||
<!-- Bookmark categories screen, button that opens folder selection dialog to import KML/KMZ/GPX/KMB files -->
|
||||
<string name="bookmarks_import">Könyvjelzők és nyomvonalak importálása</string>
|
||||
<string name="bookmarks_import">Könyvjelzők és útvonalak importálása</string>
|
||||
<string name="bookmarks_error_message_share_general">Nem lehet megosztani egy alkalmazáshiba miatt</string>
|
||||
<string name="bookmarks_error_title_share_empty">Megosztási hiba</string>
|
||||
<string name="bookmarks_error_message_share_empty">Üres lista nem osztható meg</string>
|
||||
@@ -580,8 +580,8 @@
|
||||
</plurals>
|
||||
<string name="restore">Visszaállítás</string>
|
||||
<plurals name="tracks">
|
||||
<item quantity="one">%d nyomvonal</item>
|
||||
<item quantity="other">%d nyomvonal</item>
|
||||
<item quantity="one">%d útvonal</item>
|
||||
<item quantity="other">%d útvonal</item>
|
||||
</plurals>
|
||||
<!-- Settings privacy group in settings screen -->
|
||||
<string name="privacy">Adatvédelem</string>
|
||||
@@ -607,11 +607,11 @@
|
||||
<!-- Speed camera settings menu option - Never warn (about speedcams) -->
|
||||
<string name="pref_tts_speedcams_never">Soha ne figyelmeztessen</string>
|
||||
<string name="power_managment_title">Energiatakarékos mód</string>
|
||||
<string name="power_managment_description">Próbálja meg csökkenteni az energiafelhasználást bizonyos funkciók rovására.</string>
|
||||
<string name="power_managment_description">Megpróbálja csökkenteni az energiafelhasználást bizonyos funkciók rovására</string>
|
||||
<string name="power_managment_setting_never">Soha</string>
|
||||
<string name="power_managment_setting_auto">Amikor az akkumulátor lemerül</string>
|
||||
<string name="power_managment_setting_manual_max">Mindig</string>
|
||||
<string name="enable_logging_warning_message">Ha ideiglenesen engedélyezi ezt az opciót, akkor a „Súgó” párbeszédpanel „Hibajelentés” menüpontjának használatával rögzítheti és kézzel küldheti el nekünk a problémával kapcsolatos részletes diagnosztikai naplókat. A naplók tartalmazhatnak helyadatokat.</string>
|
||||
<string name="enable_logging_warning_message">Ha ideiglenesen engedélyezi ezt a lehetőséget, akkor rögzítheti, és a „A CoMaps névjegye” képernyőn a „HIBA JELENTÉSE” gombra katintva elküldheti nekünk a hibával, problémával kapcsolatos részletes diagnosztikai naplókat. A naplók tartalmazhatnak helyadatokat.</string>
|
||||
<string name="driving_options_title">Útvonaltervezési beállítások</string>
|
||||
<!-- Recommended length for CarPlay and Android Auto is around 25-27 characters -->
|
||||
<string name="avoid_tolls">Díjköteles utak elkerülése</string>
|
||||
@@ -753,7 +753,7 @@
|
||||
<string name="browser_not_available">A webböngésző nem érhető el</string>
|
||||
<string name="volume">Hangerő</string>
|
||||
<!-- Bookmark categories screen, button that opens share dialog to export all bookmarks and tracks -->
|
||||
<string name="bookmarks_export">Az összes könyvjelző és nyomvonal exportálása</string>
|
||||
<string name="bookmarks_export">Az összes könyvjelző és útvonal exportálása</string>
|
||||
<!-- button in (app) TTS settings, to open the system TTS settings. -->
|
||||
<string name="pref_tts_open_system_settings">Beszédszintézis-beállítások</string>
|
||||
<!-- toast displayed when pressing the "Speech synthesis system settings" button, and the system settings aren't found. -->
|
||||
@@ -785,9 +785,9 @@
|
||||
<!-- Title for the "Stop Without Saving" action for the alert when saving a track recording. -->
|
||||
<string name="continue_recording">Rögzítés folytatása</string>
|
||||
<!-- Title for the alert when saving a track recording. -->
|
||||
<string name="track_recording_alert_title">Elmenti a könyvjelzők és nyomvonalakba?</string>
|
||||
<string name="track_recording_alert_title">Elmenti a könyvjelzők és útvonalak közé?</string>
|
||||
<!-- Message for the toast when saving the track recording is finished but nothing to save. -->
|
||||
<string name="track_recording_toast_nothing_to_save">A nyomvonal üres – nincs mit menteni</string>
|
||||
<string name="track_recording_toast_nothing_to_save">Az útvonal üres – nincs mit menteni</string>
|
||||
<!-- Error message when there are no File Manager apps installed to select a folder when importing Bookmarks and Tracks -->
|
||||
<string name="error_no_file_manager_app">Nem lehet megjeleníteni a mappaválasztó párbeszédpanelt, mert nincs megfelelő alkalmazás telepítve az eszközén. Telepítsen egy fájlkezelő alkalmazást, és próbálja meg újra.</string>
|
||||
<string name="choose_color">Válasszon színt</string>
|
||||
@@ -810,7 +810,7 @@
|
||||
<string name="facebook">Facebook</string>
|
||||
<string name="closes_in">Bezár %s múlva</string>
|
||||
<string name="opens_in">Kinyit %s múlva</string>
|
||||
<string name="current_location_unknown_error_title">A jelenlegi helyzet ismeretlen.</string>
|
||||
<string name="current_location_unknown_error_title">A jelenlegi helyzet ismeretlen</string>
|
||||
<string name="disk_error">Nem lehet mappát létrehozni és fájlokat áthelyezni az eszköz belső memóriájában vagy az SD-kártyán</string>
|
||||
<string name="disk_error_title">Lemezhiba</string>
|
||||
<string name="twitter">X (Twitter)</string>
|
||||
@@ -839,4 +839,46 @@
|
||||
<string name="closed_now">Most zárva van</string>
|
||||
<string name="existence_confirmed_time_ago">A létezése ellenőrizve és megerősítve %s</string>
|
||||
<string name="hours_confirmed_time_ago">Ellenőrizve és megerősítve %s</string>
|
||||
<string name="editor_level">Emelet (0 a földszint)</string>
|
||||
<string name="error_enter_correct_level">Adja meg az emeletek számát</string>
|
||||
<string name="editor_building_levels">Emeletek (beleértve a földszintet, kivéve a tetőt)</string>
|
||||
<string name="error_enter_correct_fediverse_page">Adjon meg egy érvényes Mastodon felhasználónevet vagy webcímet</string>
|
||||
<string name="osm_note_hint">Vagy írjon egy feljegyzést az OpenStreetMap közösségnek, hogy valaki más hozzáadhassa vagy kijavíthassa itt a helyet.</string>
|
||||
<string name="error_enter_correct_bluesky_page">Adjon meg egy érvényes Bluesky felhasználónevet vagy webcímet</string>
|
||||
<string name="osm_note_toast">A feljegyzés elküldésre kerül az OpenStreetMap közösséghez</string>
|
||||
<string name="pref_left_button_disable">Letiltás</string>
|
||||
<string name="codeberg">Codeberg</string>
|
||||
<string name="pref_backup_now_summary_progress">A biztonsági mentés folyamatban van…</string>
|
||||
<string name="pref_backup_now_summary">Készítsen biztonsági mentést most</string>
|
||||
<string name="pref_backup_now_summary_ok">A biztonsági mentés sikeresen befejeződött</string>
|
||||
<string name="pref_backup_now_summary_empty_lists">Nincsenek könyvjelzők és útvonalak a biztonsági mentéshez</string>
|
||||
<string name="pref_backup_now_title">Biztonsági mentés most</string>
|
||||
<string name="pref_backup_location_summary_initial">Válasszon ki egy mappát és adja meg az írási/olvasási engedélyt</string>
|
||||
<string name="pref_left_button_title">A bal oldali gomb beállítása</string>
|
||||
<string name="pref_backup_title">Könyvjelzők és útvonalak mentése</string>
|
||||
<string name="pref_backup_summary">Automatikus biztonsági mentés az eszközön lévő mappába</string>
|
||||
<string name="pref_backup_now_summary_folder_unavailable">A biztonsági mentés mappája nem elérhető</string>
|
||||
<string name="pref_backup_status_summary_success">Az utolsó sikeres biztonsági mentés</string>
|
||||
<string name="pref_backup_location_title">A biztonsági mentés mappája</string>
|
||||
<string name="pref_backup_history_title">A megőrzendő biztonsági mentések száma</string>
|
||||
<string name="backup_interval_every_week">Hetente</string>
|
||||
<string name="pref_backup_interval_title">Automatikus biztonsági mentés</string>
|
||||
<string name="backup_interval_every_day">Naponta</string>
|
||||
<string name="pref_backup_now_summary_failed">Nem sikerült a biztonsági mentés</string>
|
||||
<string name="backup_interval_manual_only">Ki (csak kézileg)</string>
|
||||
<string name="dialog_report_error_missing_folder">A biztonsági mentés kiválasztott mappája nem érhető el, vagy nem írható. Válasszon másik mappát.</string>
|
||||
<string name="at">ekkor: %s</string>
|
||||
<string name="open_now">Most nyitva van</string>
|
||||
<string name="delete_track_dialog_title">%s törlése?</string>
|
||||
<string name="clear">Törlés</string>
|
||||
<string name="route_type">Az útvonal típusa</string>
|
||||
<string name="vehicle">Gépjármű</string>
|
||||
<string name="pedestrian">Gyalogos</string>
|
||||
<string name="bicycle">Kerékpár</string>
|
||||
<string name="ruler">Vonalzó</string>
|
||||
<string name="bookmark_color">A könyvjelző színe</string>
|
||||
<string name="about_help">Névjegy és segítség</string>
|
||||
<string name="share_track">Útvonal megosztása</string>
|
||||
<string name="pref_tts_no_system_tts_short">Nem található szövegfelovasási szolgáltatás (TTS), ellenőrizze az alkalmazás beállításait a „Hangutasítások” müpontban</string>
|
||||
<string name="dialog_report_error_with_logs">Kérjük, küldjön hibajelentést:\n - „Naplózás engedélyezése” a beállításokban\n - reprodukálja a hibát, problémát\n - „A CoMaps névjegye” képernyőn nyomja meg a „HIBA JELENTÉSE” gombot, és küldje el e-mailben vagy chaten keresztül.\n - naplózás kikapcsolása</string>
|
||||
</resources>
|
||||
|
||||
@@ -36,24 +36,24 @@
|
||||
<string name="try_again">Riprova</string>
|
||||
<string name="about_menu_title">Informazioni su CoMaps</string>
|
||||
<!-- Text in About screen -->
|
||||
<string name="about_headline">Progetto Aperto e sviluppato dalla comunità</string>
|
||||
<string name="about_headline">Progetto aperto e sviluppato dalla comunità</string>
|
||||
<!-- Text in About screen -->
|
||||
<string name="about_proposition_1">• Facile da usare e curata</string>
|
||||
<!-- Text in About screen -->
|
||||
<string name="about_proposition_2">• Attenta alla Privacy e senza pubblicità</string>
|
||||
<!-- Text in About screen -->
|
||||
<string name="about_proposition_3">• Usabile senza connessione, veloce e occupa poco spazio</string>
|
||||
<string name="about_proposition_3">• Utilizzabile senza connessione, veloce e occupa poco spazio</string>
|
||||
<!-- Text in About screen -->
|
||||
<string name="about_developed_by_enthusiasts">Applicazione open-source, senza scopo di lucro e trasparente nel processo decisionale e nelle gestione delle finanze.</string>
|
||||
<string name="about_developed_by_enthusiasts">Applicazione open-source, senza scopo di lucro e trasparente nel processo decisionale e nella gestione delle finanze.</string>
|
||||
<!-- The button that opens system location settings -->
|
||||
<string name="location_settings">Impostazioni della posizione</string>
|
||||
<string name="close">Chiudi</string>
|
||||
<string name="unsupported_phone">L\'app necessita di OpenGL con accelerazione hardware. Purtroppo, il tuo dispositivo non è supportato.</string>
|
||||
<string name="download">Scarica</string>
|
||||
<!-- Used in DownloadResources startup screen -->
|
||||
<string name="disconnect_usb_cable">Scollega il cavo USB o inserisci la scheda di memoria per poter utilizzare CoMaps</string>
|
||||
<string name="disconnect_usb_cable">Scollega il cavo USB o inserisci la scheda SD per poter utilizzare CoMaps</string>
|
||||
<!-- Used in DownloadResources startup screen -->
|
||||
<string name="not_enough_free_space_on_sdcard">Libera prima dello spazio sulla scheda SD/ memoria USB per utilizzare l\'app</string>
|
||||
<string name="not_enough_free_space_on_sdcard">Libera prima dello spazio sulla scheda SD/memoria USB per utilizzare l\'app</string>
|
||||
<string name="download_resources">Prima di iniziare è necessario scaricare la mappa generale del mondo sul tuo dispositivo. \nLa dimensione del download è di %s.</string>
|
||||
<string name="download_resources_continue">Vai alla mappa</string>
|
||||
<string name="downloading_country_can_proceed">Sto scaricando %1$s (%2$s). Ora puoi \nprocedere con la mappa.</string>
|
||||
@@ -117,11 +117,11 @@
|
||||
<!-- Search category for entertainment; any changes should be duplicated in categories.txt @category_entertainment! -->
|
||||
<string name="category_entertainment">Intrattenimento</string>
|
||||
<!-- Search category for ATMs; any changes should be duplicated in categories.txt @category_atm! -->
|
||||
<string name="category_atm">Bancomat</string>
|
||||
<string name="category_atm">Bancomat ATM</string>
|
||||
<!-- Search category for nightclubs/bars; any changes should be duplicated in categories.txt @category_nightlife! -->
|
||||
<string name="category_nightlife">Vita notturna</string>
|
||||
<!-- Search category for water park/disneyland/playground/toys store; any changes should be duplicated in categories.txt @category_children! -->
|
||||
<string name="category_children">Divertimento in famiglia</string>
|
||||
<string name="category_children">Vacanza in famiglia</string>
|
||||
<!-- Search category for banks; any changes should be duplicated in categories.txt @category_bank! -->
|
||||
<string name="category_bank">Banca</string>
|
||||
<!-- Search category for pharmacies; any changes should be duplicated in categories.txt @category_pharmacy! -->
|
||||
@@ -139,7 +139,7 @@
|
||||
<!-- Search category for water; any changes should be duplicated in categories.txt @category_water! also used to sort bookmarks by type -->
|
||||
<string name="category_water">Acqua</string>
|
||||
<!-- Search category for RV facilities; any changes should be duplicated in categories.txt @category_rv! -->
|
||||
<string name="category_rv">Per camper</string>
|
||||
<string name="category_rv">Struttura per camper</string>
|
||||
<!-- SECTION: Other translations -->
|
||||
<!-- Notes field in Bookmarks view -->
|
||||
<string name="description">Informazioni</string>
|
||||
@@ -159,7 +159,7 @@
|
||||
<!-- resource for context menu -->
|
||||
<string name="edit">Modifica</string>
|
||||
<!-- Warning message when doing search around current position -->
|
||||
<string name="unknown_current_position">La tua posizione non è stata ancora determinata</string>
|
||||
<string name="unknown_current_position">La tua posizione non è stata ancora stabilita</string>
|
||||
<!-- Alert message that we can't run Map Storage settings due to some reasons. -->
|
||||
<string name="cant_change_this_setting">Le impostazioni di archiviazione delle mappe sono disabilitate al momento</string>
|
||||
<!-- Alert message that downloading is in progress. -->
|
||||
@@ -232,7 +232,7 @@
|
||||
<!-- Text in About menu, opens CoMaps news website -->
|
||||
<string name="news">Notizie</string>
|
||||
<!-- Settings: Send feedback button and dialog title -->
|
||||
<string name="feedback">Feedback</string>
|
||||
<string name="feedback">Opinioni</string>
|
||||
<!-- Text in menu -->
|
||||
<string name="rate_the_app">Vota l\'app</string>
|
||||
<!-- Text in menu -->
|
||||
@@ -242,7 +242,7 @@
|
||||
<!-- Button in the main menu -->
|
||||
<string name="donate">Dona</string>
|
||||
<!-- Button in the main Help dialog -->
|
||||
<string name="how_to_support_us">Sostieni il progetto</string>
|
||||
<string name="how_to_support_us">Volontariato e migliorare CoMaps</string>
|
||||
<!-- Button in the main Help dialog -->
|
||||
<string name="copyright">Copyright</string>
|
||||
<!-- Text in menu + Button in the main Help dialog -->
|
||||
@@ -325,7 +325,7 @@
|
||||
<!-- gray color -->
|
||||
<string name="gray">Grigio</string>
|
||||
<!-- blue gray color -->
|
||||
<string name="blue_gray">Grigiazzurro</string>
|
||||
<string name="blue_gray">Grigio azzurro</string>
|
||||
<!-- SECTION: Routing dialogs strings -->
|
||||
<string name="dialog_routing_disclaimer_title">Quando segui il percorso, ricorda che:</string>
|
||||
<string name="dialog_routing_disclaimer_priority">— Le condizioni stradali, il codice della strada e la segnaletica hanno sempre la precedenza sulle indicazioni del navigatore;</string>
|
||||
@@ -885,4 +885,9 @@
|
||||
<string name="at">alle %s</string>
|
||||
<string name="osm_note_hint">In alternativa lascia una nota per la community di OpenStreetMap, così un altro utente potrà aggiungere o sistemare questo posto.</string>
|
||||
<string name="osm_note_toast">La nota verrà mandata a OpenStreetMap</string>
|
||||
<string name="hours_confirmed_time_ago">Confermato %s</string>
|
||||
<string name="existence_confirmed_time_ago">Esistenza confermata %s</string>
|
||||
<string name="share_track">Traccia condivisa</string>
|
||||
<string name="delete_track_dialog_title">Eliminare %s?</string>
|
||||
<string name="pref_tts_no_system_tts_short">Motore testo - parlato non trovato, controlla le impostazioni dell\'app</string>
|
||||
</resources>
|
||||
|
||||
@@ -232,7 +232,7 @@
|
||||
<!-- Button in the main menu -->
|
||||
<string name="donate">Paaukoti</string>
|
||||
<!-- Button in the main Help dialog -->
|
||||
<string name="how_to_support_us">Paremti projektą</string>
|
||||
<string name="how_to_support_us">Prisidėti prie „CoMaps“ tobulinimo</string>
|
||||
<!-- Button in the main Help dialog -->
|
||||
<string name="copyright">Autorių teisės</string>
|
||||
<!-- Text in menu + Button in the main Help dialog -->
|
||||
@@ -861,4 +861,11 @@
|
||||
<string name="open_now">Dabar atidaryta</string>
|
||||
<string name="closed_now">Dabar uždaryta</string>
|
||||
<string name="at">%s val.</string>
|
||||
<string name="share_track">Dalintis trasa</string>
|
||||
<string name="delete_track_dialog_title">Pašalinti %s?</string>
|
||||
<string name="osm_note_hint">Arba, jeigu norite, galite palikti pastabą „OpenStreetMap“ bendruomenei, kad kas nors kitas pridėtų ar pakoreguotų šią vietą.</string>
|
||||
<string name="hours_confirmed_time_ago">Patvirtinta %s</string>
|
||||
<string name="existence_confirmed_time_ago">Egzistavimas patvirtintas %s</string>
|
||||
<string name="pref_tts_no_system_tts_short">Neaptikta jokia šnekos sintezės sistema, patikrinkite programėlės nustatymus</string>
|
||||
<string name="osm_note_toast">Pastaba bus nusiųsta į „OpenStreetMap“</string>
|
||||
</resources>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<string name="delete">Dzēst</string>
|
||||
<string name="download_maps">Lejupielādēt kartes</string>
|
||||
<!-- Settings/Downloader - info for country when download fails -->
|
||||
<string name="download_has_failed">Lejupielāde neizdevās. Uzklikšķiniet, lai mēģinātu vēlreiz.</string>
|
||||
<string name="download_has_failed">Lejupielāde neizdevās. Piesist, lai mēģinātu vēlreiz</string>
|
||||
<!-- Settings/Downloader - info for country which started downloading -->
|
||||
<string name="downloading">Lejupielādē…</string>
|
||||
<!-- Choose measurement on first launch alert - choose metric system button -->
|
||||
@@ -25,9 +25,9 @@
|
||||
<!-- Location services are disabled by user alert - message -->
|
||||
<string name="location_is_disabled_long_text">Šobrīd ierīcē visi atrašanās vietas pakalpojumi vai to nodrošinošās programmas ir izslēgtas. Ieslēdziet tās iestatījumos.</string>
|
||||
<!-- A dialog title, that warns a user that Precise Location is disabled and suggests to turn it on -->
|
||||
<string name="limited_accuracy">Piekļuve precīzai atrašanās vietai ir ierobežota.</string>
|
||||
<string name="limited_accuracy">Ierobežota precizitāte</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">Lai nodrošinātu pareizu navigāciju, ieslēdziet iestatījumos \"Precīzo\" atrašanās vietas noteikšanu.</string>
|
||||
<string name="precise_location_is_disabled_long_text">Lai nodrošinātu pareizu navigāciju, iestatījumos jāiespējo “Precīza atrašanās vieta”</string>
|
||||
<!-- View and button titles for accessibility -->
|
||||
<string name="zoom_to_country">Rādīt kartē</string>
|
||||
<!-- Message to display at the center of the screen when the country download has failed -->
|
||||
@@ -36,13 +36,13 @@
|
||||
<string name="try_again">Mēģināt vēlreiz</string>
|
||||
<string name="about_menu_title">Par „CoMaps“</string>
|
||||
<!-- Text in About screen -->
|
||||
<string name="about_proposition_1">• Nesatur reklāmas, izsekošanu un nevāc datus</string>
|
||||
<string name="about_proposition_1">• Vienkārši izmantojama un noslīpēta</string>
|
||||
<!-- Text in About screen -->
|
||||
<string name="about_proposition_2">• Neizlādē bateriju, darbojas bez interneta pieslēguma</string>
|
||||
<string name="about_proposition_2">• Vērsta uz privātumu un bez reklāmām</string>
|
||||
<!-- Text in About screen -->
|
||||
<string name="about_proposition_3">• Bezsaistē, ātri un kompakti</string>
|
||||
<!-- Text in About screen -->
|
||||
<string name="about_developed_by_enthusiasts">Atvērtā pirmkoda programma, ko veidojuši entuziasti un brīvprātīgie.</string>
|
||||
<string name="about_developed_by_enthusiasts">Pilnībā atvērts pirmkods, bezpeļņas, caurskatāma lēmumu pieņemšana un naudas plūsma.</string>
|
||||
<!-- The button that opens system location settings -->
|
||||
<string name="location_settings">Atrašanās vietas iestatījumi</string>
|
||||
<string name="close">Aizvērt</string>
|
||||
@@ -82,7 +82,7 @@
|
||||
<!-- Header of settings activity where user defines storage path -->
|
||||
<string name="maps_storage">Kartes saglabāšanas vieta</string>
|
||||
<!-- Detailed description of Maps Storage settings button -->
|
||||
<string name="maps_storage_summary">Norādiet mapi, kurā lejupielādēt kartes.</string>
|
||||
<string name="maps_storage_summary">Atlasīt mapi, kurā lejupielādēt kartes</string>
|
||||
<!-- E.g. "Downloaded maps: 500Mb" in Maps Storage settings -->
|
||||
<string name="maps_storage_downloaded">Lejupielādētās kartes</string>
|
||||
<!-- Free space out of total storage size in Maps Storage settings, e.g. "300 MB free of 2 GB" -->
|
||||
@@ -163,9 +163,9 @@
|
||||
<!-- Warning message when doing search around current position -->
|
||||
<string name="unknown_current_position">Jūsu atrašanās vieta vēl nav noteikta</string>
|
||||
<!-- Alert message that we can't run Map Storage settings due to some reasons. -->
|
||||
<string name="cant_change_this_setting">Atvainojamies, bet kartes saglabāšanas iestatījumi šobrīd ir izslēgti.</string>
|
||||
<string name="cant_change_this_setting">Atvainojamies, karšu krātuves iestatījumi šobrīd ir atspējoti</string>
|
||||
<!-- Alert message that downloading is in progress. -->
|
||||
<string name="downloading_is_active">Notiek kartes lejupielāde.</string>
|
||||
<string name="downloading_is_active">Notiek kartes lejupielāde</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">Apskatiet manu atrašanās vietu „CoMaps“ lietotnē! %1$s vai %2$s Vai Jums nav nesaistes kartes? Lejupielādējiet to: https://www.comaps.app/download/</string>
|
||||
<!-- Subject for emailed bookmark -->
|
||||
@@ -221,9 +221,9 @@
|
||||
<!-- Settings «Route» category: «Tts language» title -->
|
||||
<string name="pref_tts_language_title">Balss valoda</string>
|
||||
<!-- Settings «Route» category: «Test Voice Directions» title -->
|
||||
<string name="pref_tts_test_voice_title">Pārbaudīt balss norādes (TTS, teksta pārvēršana runā)</string>
|
||||
<string name="pref_tts_test_voice_title">Pārbaudīt balss norādes</string>
|
||||
<!-- Settings «Route» category: Pop-up message when clicking «Test Voice Directions» -->
|
||||
<string name="pref_tts_playing_test_voice">Ja nedzirdat balsi, pārbaudiet skaļumu vai teksta pārvēršanas runā iestatījumus.</string>
|
||||
<string name="pref_tts_playing_test_voice">Jāpārbauda skaļums vai sistēmas teksta pārveidošanas runā iestatījumi, ja tagad nav dzirdama balss</string>
|
||||
<!-- Settings «Route» category: «Tts unavailable» subtitle -->
|
||||
<string name="pref_tts_unavailable">Nav pieejama</string>
|
||||
<string name="pref_map_auto_zoom">Automātisks mērogs</string>
|
||||
@@ -246,7 +246,7 @@
|
||||
<!-- Button in the main menu -->
|
||||
<string name="donate">Ziedot</string>
|
||||
<!-- Button in the main Help dialog -->
|
||||
<string name="how_to_support_us">Atbalstiet projektu</string>
|
||||
<string name="how_to_support_us">Iesaistīties un uzlabot CoMaps</string>
|
||||
<!-- Button in the main Help dialog -->
|
||||
<string name="copyright">Autortiesības</string>
|
||||
<!-- Text in menu + Button in the main Help dialog -->
|
||||
@@ -271,7 +271,7 @@
|
||||
<string name="downloader_download_all_button">Lejupielādēt visus</string>
|
||||
<string name="downloader_downloading">Lejupielādē:</string>
|
||||
<!-- Displayed in a dialog that appears when a user tries to delete a map while the app is in the follow route mode -->
|
||||
<string name="downloader_delete_map_while_routing_dialog">Lai dzēstu karti, apturiet navigāciju.</string>
|
||||
<string name="downloader_delete_map_while_routing_dialog">Lai izdzēstu karti, lūgums apturēt navigāciju</string>
|
||||
<!-- PointsInDifferentMWM -->
|
||||
<string name="routing_failed_cross_mwm_building">Maršrutus var izveidot, ja atrodas vienas reģiona kartes robežās.</string>
|
||||
<!-- Context menu item for downloader. -->
|
||||
@@ -283,9 +283,9 @@
|
||||
<!-- Item in context menu. -->
|
||||
<string name="downloader_update_map">Atjaunināt karti</string>
|
||||
<!-- Preference title -->
|
||||
<string name="google_play_services">„Google Play“ vietas noteikšanas pakalpojumi</string>
|
||||
<string name="google_play_services">Google Fused atrašanās vietu pakalpojums</string>
|
||||
<!-- Preference text -->
|
||||
<string name="pref_use_google_play">Ātri nosakiet atrašanās vietu, izmantojot „Bluetooth“, „WiFi“ vai mobilo tīklu</string>
|
||||
<string name="pref_use_google_play">Īpašniecisks pakalpojums, kas apvieno GPS, Wi-Fi, mobilo sakaru tīklus u.c., lai pareizāk noteiktu atrašanās vietu. Tas var savienoties ar Google serveriem.</string>
|
||||
<!-- Preference title -->
|
||||
<!-- Preference description -->
|
||||
<!-- Text for routing error dialog -->
|
||||
@@ -343,18 +343,18 @@
|
||||
<string name="dialog_routing_location_turn_on">Ieslēgt vietas noteikšanas servisus</string>
|
||||
<string name="dialog_routing_location_unknown_turn_on">Neizdodas noteikt pašreizējās GPS koordinātes. Ieslēdziet atrašanās vietas servisus, lai aprēķināt maršrutu.</string>
|
||||
<string name="dialog_routing_unable_locate_route">Neizdevās noteikt maršrutu</string>
|
||||
<string name="dialog_routing_cant_build_route">Neizdevās izveidot maršrutu.</string>
|
||||
<string name="dialog_routing_cant_build_route">Nevar izveidot maršrutu</string>
|
||||
<string name="dialog_routing_change_start_or_end">Precizējiet savu sākuma punktu vai galamērķi.</string>
|
||||
<string name="dialog_routing_change_start">Precizēt sākumpunktu</string>
|
||||
<string name="dialog_routing_start_not_determined">Maršruts nav izveidots. Neizdodas noteikt sākuma punktu.</string>
|
||||
<string name="dialog_routing_select_closer_start">Atlasiet sākuma punktu tuvāk pie ceļa.</string>
|
||||
<string name="dialog_routing_change_end">Precizēt galamērķi</string>
|
||||
<string name="dialog_routing_end_not_determined">Maršruts nav izveidots. Neizdodas noteikt galamērķi.</string>
|
||||
<string name="dialog_routing_select_closer_end">Atlasiet galamērķa punktu pēc iespējas tuvāk ceļam.</string>
|
||||
<string name="dialog_routing_change_intermediate">Neizdevās noteikt starppunktu.</string>
|
||||
<string name="dialog_routing_intermediate_not_determined">Labojiet starppunktu.</string>
|
||||
<string name="dialog_routing_select_closer_end">Lūgums atlasīt galamērķi, kas atrodas tuvāk ceļam</string>
|
||||
<string name="dialog_routing_change_intermediate">Nevar noteikt starppunktu</string>
|
||||
<string name="dialog_routing_intermediate_not_determined">Lūgums pielāgot starppunktu</string>
|
||||
<string name="dialog_routing_system_error">Sistēmas kļūda</string>
|
||||
<string name="dialog_routing_application_error">Kļūdas dēļ neizdevās izveidot maršrutu.</string>
|
||||
<string name="dialog_routing_application_error">Lietotnes kļūdas dēļ nevar izvaidot maršrutu</string>
|
||||
<string name="dialog_routing_try_again">Mēģiniet vēlreiz</string>
|
||||
<string name="not_now">Ne tagad</string>
|
||||
<string name="dialog_routing_download_and_build_cross_route">Vai vēlaties lejupielādēt karti un izveidot piemērotāku maršrutu, kas ietver vairāk par vienu karti?</string>
|
||||
@@ -368,11 +368,11 @@
|
||||
<string name="hide">Slēpt</string>
|
||||
<string name="categories">Kategorijas</string>
|
||||
<string name="history">Vēsture</string>
|
||||
<string name="search_not_found">Nekas nav atrasts.</string>
|
||||
<string name="search_not_found">Ak vai, nekas nav atrasts</string>
|
||||
<!-- The message when user did not find anything in the search. -->
|
||||
<string name="search_not_found_query">Lejupielādējiet reģionu, kurā meklēt, vai mēģiniet pievienot tuvumā esošas apdzīvotas vietas nosaukumu.</string>
|
||||
<string name="search_history_title">Meklēšanas vēsture</string>
|
||||
<string name="search_history_text">Apskatiet meklēšanas vēsturi.</string>
|
||||
<string name="search_history_text">Apskatīt savus nesenos meklējumus</string>
|
||||
<string name="clear_search">Notīrīt vēsturi</string>
|
||||
<!-- Place Page link to Wikipedia article (if map object has it). -->
|
||||
<string name="read_in_wikipedia">Vikipēdija</string>
|
||||
@@ -380,7 +380,7 @@
|
||||
<string name="p2p_start">Sākt</string>
|
||||
<string name="p2p_from_here">Doties iz</string>
|
||||
<string name="p2p_to_here">Doties turp</string>
|
||||
<string name="p2p_only_from_current">Navigācija ir pieejama tikai no jūsu pašreizējās atrašanās vietas.</string>
|
||||
<string name="p2p_only_from_current">Navigācija ir pieejama tikai no pašreizējās atrašanās vietas</string>
|
||||
<string name="p2p_reroute_from_current">Vai vēlaties plānot maršrutu no savas pašreizējās atrašanās vietas?</string>
|
||||
<!-- Edit open hours/set time and minutes dialog -->
|
||||
<string name="next_button">Tālāk</string>
|
||||
@@ -394,7 +394,7 @@
|
||||
<string name="editor_time_allday">Visu dienu (24 stundas)</string>
|
||||
<string name="editor_time_open">Atvērts</string>
|
||||
<string name="editor_time_close">Slēgts</string>
|
||||
<string name="editor_time_add_closed">Pievienot laiku, kad nestrādā</string>
|
||||
<string name="editor_time_add_closed">Pievienot ārpus darba laiku</string>
|
||||
<string name="editor_time_title">Darba laiks</string>
|
||||
<string name="editor_time_advanced">Paplašinātais režīms</string>
|
||||
<string name="editor_time_simple">Parastais režīms</string>
|
||||
@@ -450,14 +450,14 @@
|
||||
<string name="level">Stāvs</string>
|
||||
<!-- Building level -->
|
||||
<string name="level_value_generic">Stāvi virs zemes: %s</string>
|
||||
<string name="downloader_delete_map_dialog">Kopā ar karti dzēsīsies visas jūsu veiktās kartes izmaiņas.</string>
|
||||
<string name="downloader_delete_map_dialog">Kopā ar karti tiks izdzēsti visi Tavi kartes labojumi</string>
|
||||
<string name="downloader_update_maps">Atjaunināt kartes</string>
|
||||
<string name="downloader_mwm_migration_dialog">Lai izveidotu maršrutu, atjauniniet visas kartes un plānojiet maršrutu no jauna.</string>
|
||||
<string name="downloader_search_field_hint">Atrast karti</string>
|
||||
<string name="common_check_internet_connection_dialog">Pārliecinieties, ka ierīce ir savienota ar internetu.</string>
|
||||
<string name="common_check_internet_connection_dialog">Lūgums pārliecināties, ka ierīce ir savienota ar internetu</string>
|
||||
<string name="downloader_no_space_title">Trūkst vietas</string>
|
||||
<string name="downloader_no_space_message">Dzēsiet liekos datus</string>
|
||||
<string name="editor_login_error_dialog">Ierakstīšanās kļūda.</string>
|
||||
<string name="editor_login_error_dialog">Pieteikšanās kļūda</string>
|
||||
<string name="editor_profile_changes">Apstiprinātas izmaiņas</string>
|
||||
<string name="editor_focus_map_on_location">Velciet karti, lai novietotu krustiņu objekta vai iestādes atrašanās vietā.</string>
|
||||
<string name="editor_edit_place_title">Rediģēšana</string>
|
||||
@@ -471,19 +471,19 @@
|
||||
<string name="placepage_add_business_button">Pievienot iestādi</string>
|
||||
<string name="message_invalid_feature_position">Šeit objekti nevar atrasties</string>
|
||||
<!-- Text in About and OSM Login screens. First %@ is replaced by a local, human readable date. -->
|
||||
<string name="osm_presentation">Kopienas veidotie „OpenStreetMap“ dati, %s. Uzziniet vairāk par to, kā piedalīties kartes rediģēšanā un uzlabošanā vietnē „OpenStreetMap.org“.</string>
|
||||
<string name="osm_presentation">Kopienas veidotie OpenStreetMap dati, %s. Uzzināt vairāk par to, kā labot un atjaunināt karti, var OpenStreetMap.org</string>
|
||||
<!-- OSM explanation on Android login screen -->
|
||||
<string name="login_osm_presentation">OpenStreetMap.org (OSM) ir kopienas projekts, kura mērķis ir izveidot atvērtajos datos balstītu karti, kura ir pieejama bez maksas. Tas ir CoMaps galvenais karšu datu avots un darbojas līdzīgi kā Vikipēdija. Jūs varat pievienot vai rediģēt vietas, un tās kļūst pieejamas miljoniem lietotāju visā pasaulē.\nPievienojieties kopienai, lai palīdzētu izveidot labāku karti visiem!</string>
|
||||
<string name="login_to_make_edits_visible">Izveidojiet OpenStreetMap kontu vai piesakieties, lai publicētu savas kartes rediģējumus visā pasaulē.</string>
|
||||
<string name="login_to_make_edits_visible">Izveido OpenStreetMap kontu vai piesakies, lai padarītu savus karšu labojumus pieejamus visiem</string>
|
||||
<!-- Downloaded 10 **of** 20 <- it is that "of" -->
|
||||
<string name="downloader_of">%1$d no %2$d</string>
|
||||
<string name="download_over_mobile_header">Vai lejupielādēt arī mobilajā tīklā?</string>
|
||||
<string name="download_over_mobile_message">Ja lietojat ierobežotus datus vai viesabonēšanu, tas var izmaksāt dārgi.</string>
|
||||
<string name="download_over_mobile_message">Tas varētu būt samērā dārgi ar dažiem plāniem vai viesabonēšanā</string>
|
||||
<string name="error_enter_correct_house_number">Ierakstiet derīgu ēkas numuru</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">Stāvu skaits nedrīkst pārsniegt %d</string>
|
||||
<string name="editor_zip_code">Pasta indekss</string>
|
||||
<string name="error_enter_correct_zip_code">Ierakstiet pasta indeksu</string>
|
||||
<string name="error_enter_correct_zip_code">Jāievada derīgs pasta kods</string>
|
||||
<string name="editor_more_about_osm">Vairāk par „OpenStreetMap“</string>
|
||||
<string name="editor_osm_history">Tava kartes izmaiņu vēsture</string>
|
||||
<string name="editor_osm_notes">Tavas kartes datu piezīmes</string>
|
||||
@@ -493,8 +493,8 @@
|
||||
<string name="editor_category_unsuitable_title">Vai neatrodat atbilstošu kategoriju?</string>
|
||||
<string name="editor_category_unsuitable_text">„CoMaps“ ļauj pievienot tikai vienkāršu punktu kategorijas, proti, nevarat pievienot pilsētas, ceļus, ezerus, ēku aprises u.tml. Šādas kategorijas lūdzam pievienot tiešā veidā <a href="https://www.openstreetmap.org">OpenStreetMap.org</a>. Lai uzzinātu, kā to izdarīt, sekojiet norādēm <a href="https://www.comaps.app/support/advanced-map-editing/">rokasgrāmatā</a>.</string>
|
||||
<string name="downloader_no_downloaded_maps_title">Ierīcē nav lejupielādētu karšu</string>
|
||||
<string name="downloader_no_downloaded_maps_message">Lai darbotos nesaistes navigācija un meklēšana, lejupielādējiet kartes.</string>
|
||||
<string name="current_location_unknown_error_title">Pašreizējā vieta nav zināma.</string>
|
||||
<string name="downloader_no_downloaded_maps_message">Lejupielādē kartes, lai meklētu un saņemtu pārvietošanās norādes bezsaistē</string>
|
||||
<string name="current_location_unknown_error_title">Pašreizējā atrašanās vieta nav zināma</string>
|
||||
<!-- abbreviation for kilometers per hour -->
|
||||
<string name="kilometers_per_hour">km/h</string>
|
||||
<string name="miles_per_hour">mph</string>
|
||||
@@ -525,8 +525,8 @@
|
||||
<!-- Displayed when saving some edits to the map to warn against publishing personal data -->
|
||||
<string name="editor_share_to_all_dialog_title">Vai vēlaties to nosūtīt visiem lietotājiem?</string>
|
||||
<!-- Dialog before publishing the modifications to the public map. -->
|
||||
<string name="editor_share_to_all_dialog_message_1">Pārliecinieties, ka neievadījāt nekādus privātus vai personīgus datus.</string>
|
||||
<string name="editor_share_to_all_dialog_message_2">„OpenStreetMap“ redaktori pārskatīs veiktās izmaiņas un jautājumu gadījumā ar jums sazināsies.</string>
|
||||
<string name="editor_share_to_all_dialog_message_1">Jāpārliecinās, ka neievadīji nekādus privātus vai personīgus datus</string>
|
||||
<string name="editor_share_to_all_dialog_message_2">OpenStreetMap redaktori pārbaudīs veiktās izmaiņas, un sazināsies ar Tevi, ja viņiem būs kādi jautājumi</string>
|
||||
<string name="navigation_stop_button">Apturēt</string>
|
||||
<!-- Shown as toast when starting the recent track recording -->
|
||||
<string name="track_recording">Maršruta reģistrēšana</string>
|
||||
@@ -540,10 +540,10 @@
|
||||
<string name="mobile_data_option_not_today">Šodien neizmantot</string>
|
||||
<string name="mobile_data">Mobilie dati</string>
|
||||
<!-- NOTE to translators: please synchronize your translation with the English one. -->
|
||||
<string name="mobile_data_description">Kartes atjauninājumu paziņojumiem un rediģējumu augšupielādēšanai ir nepieciešami mobilie dati.</string>
|
||||
<string name="mobile_data_description">Karšu atjauninājumu paziņojumiem un labojumu augšupielādēšanai ir nepieciešami mobilie dati</string>
|
||||
<string name="mobile_data_option_never">Nekad neizmantot</string>
|
||||
<string name="mobile_data_option_ask">Jautāt vienmēr</string>
|
||||
<string name="traffic_update_maps_text">Lai parādītu satiksmes datus, kartes ir jāatjaunina.</string>
|
||||
<string name="traffic_update_maps_text">Lai attēlotu satiksmes datus, ir jāatjaunina kartes</string>
|
||||
<string name="big_font">Palielināt fonta lielumu kartē</string>
|
||||
<string name="traffic_update_app">Atjauniniet „CoMaps“</string>
|
||||
<!-- "traffic" as in "road congestion" -->
|
||||
@@ -553,7 +553,7 @@
|
||||
<string name="feedback_general">Vispārīgas atsauksmes</string>
|
||||
<string name="prefs_languages_information">Balss norādēm lietotne izmanto teksta pārveides runā sistēmu (TTS). Daudzas „Android“ ierīces izmanto „Google TTS“, ko varat lejupielādēt un atjaunināt „Google Play“ veikalā (https://play.google.com/store/apps/details?id=com.google.android.tts)</string>
|
||||
<string name="prefs_languages_information_off">Dažām valodām nepieciešams instalēt runas sintezatoru vai papildu valodas paku, kas parasti atrodama lietotņu veikalā („Google Play“, „Galaxy Store“, „App Gallery“, „FDroid“). \nAtveriet ierīces iestatījumus → Valoda un ievade → Runa → Teksta pārveide runā. \nTe varat pārvaldīt runas sintēzes iestatījumus (piemēram, lejupielādēt valodas paku lietošanai nesaistē, kā arī varat nomainīt dzini teksta pārvēršanai runā.</string>
|
||||
<string name="prefs_languages_information_off_link">Vairāk informācijas atradīsiet šajā pamācībā</string>
|
||||
<string name="prefs_languages_information_off_link">Lai iegūtu vairāk informācijas, lūgums ieskatīties šajās norādēs</string>
|
||||
<string name="transliteration_title">Transliterācija uz latīņu alfabētu</string>
|
||||
<string name="learn_more">Uzzināt vairāk</string>
|
||||
<!-- User selected the destination by pressing Route To, but the current position is unknown. User needs to select a starting point of a route using search or by tapping on the map and then pressing "Route From". -->
|
||||
@@ -626,7 +626,7 @@
|
||||
<!-- Speed camera settings menu option - Never warn (about speedcams) -->
|
||||
<string name="pref_tts_speedcams_never">Nekad nebrīdināt</string>
|
||||
<string name="power_managment_title">Energotaupības režīms</string>
|
||||
<string name="power_managment_description">Mēģināt samazināt enerģijas patēriņu, izslēdzot atsevišķas funkcijas.</string>
|
||||
<string name="power_managment_description">Mēģināt samazināt jaudas patēriņu uz dažu iespēju rēķina</string>
|
||||
<string name="power_managment_setting_never">Nekad</string>
|
||||
<string name="power_managment_setting_auto">Kad ir zems uzlādes līmenis</string>
|
||||
<string name="power_managment_setting_manual_max">Vienmēr</string>
|
||||
@@ -820,4 +820,5 @@
|
||||
<string name="editor_line_social_network">LINE</string>
|
||||
<string name="app_site_url">https://comaps.app/</string>
|
||||
<string name="saved">Saglabāts</string>
|
||||
<string name="about_headline">Atvērts projekts, kuru darbina kopiena</string>
|
||||
</resources>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<!-- A dialog title, that warns a user that Precise Location is disabled and suggests to turn it on -->
|
||||
<string name="limited_accuracy">Begrenset nøyaktighet</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">For å sikre nøyaktig navigering aktiverer du Precise Location i innstillingene.</string>
|
||||
<string name="precise_location_is_disabled_long_text">For å sikre nøyaktig navigering aktiverer du Precise Location i innstillingene</string>
|
||||
<!-- View and button titles for accessibility -->
|
||||
<string name="zoom_to_country">Vis på kartet</string>
|
||||
<!-- Message to display at the center of the screen when the country download has failed -->
|
||||
|
||||
@@ -554,7 +554,7 @@
|
||||
<!-- Settings: "Send general feedback" button -->
|
||||
<string name="feedback_general">Algemene feedback</string>
|
||||
<string name="prefs_languages_information">We gebruiken het TTS-systeem voor gesproken instructies. Vele Android toestellen gebruiken Google TTS, u kunt het downloaden of bijwerken in Google Play (https://play.google.com/store/apps/details?id=com.google.android.tts)</string>
|
||||
<string name="prefs_languages_information_off">Voor sommige talen dient u een andere spraaksynthesesoftware of een aanvullende taalpakket te installeren van de app store (Google Play, Galaxy Store, App Gallery, FDroid). \nOpen de instellingen van uw toestel → Taal en invoer → Spraak → Uitvoer voor tekst-naar-spraak. \nHier kunt u instellingen voor spraaksynthese beheren (bijvoorbeeld taalpakket downloaden voor offline gebruik) en een andere tekst-naar-spraak engine selecteren.</string>
|
||||
<string name="prefs_languages_information_off">Voor sommige talen dient u een andere spraaksynthesesoftware of een aanvullende taalpakket te installeren van de app store (Google Play, Galaxy Store, App Gallery, FDroid). \nOpen de instellingen van uw toestel → Taal en invoer → Spraak → Uitvoer voor tekst-naar-spraak. \nHier kunt u instellingen voor spraaksynthese beheren (bijvoorbeeld taalpakket downloaden voor offline gebruik) en een andere tekst-naar-spraak processor selecteren.</string>
|
||||
<string name="prefs_languages_information_off_link">Gelieve deze handleiding te lezen voor meer informatie</string>
|
||||
<string name="transliteration_title">Transliteratie in het Latijnse alfabet</string>
|
||||
<string name="learn_more">Meer informatie</string>
|
||||
@@ -888,4 +888,5 @@
|
||||
<string name="delete_track_dialog_title">%s verwijderen?</string>
|
||||
<string name="existence_confirmed_time_ago">Bestaan bevestigd %s</string>
|
||||
<string name="hours_confirmed_time_ago">Bevestigd %s</string>
|
||||
<string name="pref_tts_no_system_tts_short">Geen tekst-naar-spraak processor gevonden, controleer de app-instellingen</string>
|
||||
</resources>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<string name="delete">Usuń</string>
|
||||
<string name="download_maps">Pobierz mapy</string>
|
||||
<!-- Settings/Downloader - info for country when download fails -->
|
||||
<string name="download_has_failed">Nie udało się pobrać. Proszę nacisnąć, aby spróbować ponownie.</string>
|
||||
<string name="download_has_failed">Nie udało się pobrać. Naciśnij, aby spróbować ponownie</string>
|
||||
<!-- Settings/Downloader - info for country which started downloading -->
|
||||
<string name="downloading">Pobieranie…</string>
|
||||
<!-- Choose measurement on first launch alert - choose metric system button -->
|
||||
@@ -167,7 +167,7 @@
|
||||
<!-- Alert message that we can't run Map Storage settings due to some reasons. -->
|
||||
<string name="cant_change_this_setting">Przepraszamy, ustawienia pamięci mapy są aktualnie wyłączone.</string>
|
||||
<!-- Alert message that downloading is in progress. -->
|
||||
<string name="downloading_is_active">Trwa pobieranie mapy kraju.</string>
|
||||
<string name="downloading_is_active">Trwa pobieranie mapy</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">Hej, spójrz na moją aktualną lokalizację w CoMaps! %1$s lub %2$s Nie masz map offline? Pobierz tutaj: https://www.comaps.app/download/</string>
|
||||
<!-- Subject for emailed bookmark -->
|
||||
@@ -223,7 +223,7 @@
|
||||
<!-- Settings «Route» category: «Tts language» title -->
|
||||
<string name="pref_tts_language_title">Język komunikatów</string>
|
||||
<!-- Settings «Route» category: «Test Voice Directions» title -->
|
||||
<string name="pref_tts_test_voice_title">Testuj wskazówki głosowe (TTS, Text-To-Speech)</string>
|
||||
<string name="pref_tts_test_voice_title">Testuj wskazówki głosowe</string>
|
||||
<!-- Settings «Route» category: Pop-up message when clicking «Test Voice Directions» -->
|
||||
<string name="pref_tts_playing_test_voice">Jeśli nie słyszysz głosu, sprawdź głośność lub systemowe ustawienia zamiany tekstu na mowę.</string>
|
||||
<!-- Settings «Route» category: «Tts unavailable» subtitle -->
|
||||
@@ -393,7 +393,7 @@
|
||||
<string name="editor_time_add">Dodaj harmonogram</string>
|
||||
<string name="editor_time_delete">Usuń harmonogram</string>
|
||||
<!-- Text for allday switch. -->
|
||||
<string name="editor_time_allday">Całą dobę (24 godziny)</string>
|
||||
<string name="editor_time_allday">Całodobowo (24 godziny)</string>
|
||||
<string name="editor_time_open">Otwarte</string>
|
||||
<string name="editor_time_close">Zamknięte</string>
|
||||
<string name="editor_time_add_closed">Dodaj godziny zamknięcia</string>
|
||||
@@ -628,7 +628,7 @@
|
||||
<!-- 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">Pobieranie map</string>
|
||||
<!-- "Speed cameras" settings menu option (should be short! no more than 47-50 chars) to warn a driver if there is a risk of exceeding the speed limit -->
|
||||
<string name="pref_tts_speedcams_auto">Aby ostrzec Cię przed przekroczeniem prędkości</string>
|
||||
<string name="pref_tts_speedcams_auto">Ostrzegaj przy przekraczaniu prędkości</string>
|
||||
<!-- Speed camera settings menu option - Always warn (about speedcams) -->
|
||||
<string name="pref_tts_speedcams_always">Zawsze ostrzegaj</string>
|
||||
<!-- Speed camera settings menu option - Never warn (about speedcams) -->
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<!-- Location services are disabled by user alert - message -->
|
||||
<string name="location_is_disabled_long_text">No momento, todos os Serviços de Localização deste dispositivo ou aplicativo estão desativados. Ative-os nas Configurações.</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">Para garantir uma navegação precisa, ative a opção \"Melhorar Precisão de local\" nas configurações</string>
|
||||
<string name="precise_location_is_disabled_long_text">Para garantir uma navegação precisa, ative a Localização Precisa nas configurações</string>
|
||||
<!-- View and button titles for accessibility -->
|
||||
<string name="zoom_to_country">Mostrar no mapa</string>
|
||||
<!-- Message to display at the center of the screen when the country download has failed -->
|
||||
@@ -159,9 +159,9 @@
|
||||
<!-- Warning message when doing search around current position -->
|
||||
<string name="unknown_current_position">A sua localização ainda não foi determinada</string>
|
||||
<!-- Alert message that we can't run Map Storage settings due to some reasons. -->
|
||||
<string name="cant_change_this_setting">Lamentamos, as configurações do armazenamento do mapa estão desativadas</string>
|
||||
<string name="cant_change_this_setting">Desculpe, as configurações de armazenamento de mapas estão desabilitadas no momento</string>
|
||||
<!-- Alert message that downloading is in progress. -->
|
||||
<string name="downloading_is_active">O download do mapa está atualmente em progresso</string>
|
||||
<string name="downloading_is_active">O download do mapa está em andamento</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">Veja onde estou agora. Abra o link: %1$s ou %2$s Não tem mapas offline instalados? Baixe aqui: https://www.comaps.app/download/</string>
|
||||
<!-- Subject for emailed bookmark -->
|
||||
@@ -211,7 +211,7 @@
|
||||
<!-- Settings «Route» category: «Test Voice Directions» title -->
|
||||
<string name="pref_tts_test_voice_title">Testar orientação por voz</string>
|
||||
<!-- Settings «Route» category: Pop-up message when clicking «Test Voice Directions» -->
|
||||
<string name="pref_tts_playing_test_voice">Verifique o volume ou as configurações de conversão de texto em fala do sistema se você não estiver ouvindo a voz agora</string>
|
||||
<string name="pref_tts_playing_test_voice">Verifique o volume ou as configurações do sistema de conversão de texto em fala se você não estiver ouvindo a voz agora</string>
|
||||
<!-- Settings «Route» category: «Tts unavailable» subtitle -->
|
||||
<string name="pref_tts_unavailable">Não disponível</string>
|
||||
<string name="pref_map_auto_zoom">Zoom automático</string>
|
||||
@@ -249,7 +249,7 @@
|
||||
<string name="downloader_download_all_button">Baixar tudo</string>
|
||||
<string name="downloader_downloading">Baixando:</string>
|
||||
<!-- Displayed in a dialog that appears when a user tries to delete a map while the app is in the follow route mode -->
|
||||
<string name="downloader_delete_map_while_routing_dialog">Favor parar a navegação para apagar o mapa</string>
|
||||
<string name="downloader_delete_map_while_routing_dialog">Para apagar o mapa, pare a navegação</string>
|
||||
<!-- PointsInDifferentMWM -->
|
||||
<string name="routing_failed_cross_mwm_building">Só podem ser criadas rotas que estejam completamente contidas em um único mapa.</string>
|
||||
<!-- Context menu item for downloader. -->
|
||||
@@ -436,12 +436,12 @@
|
||||
<string name="error_enter_correct_zip_code">Insira um CEP válido</string>
|
||||
<!-- Information about OSM at the top of the editing page -->
|
||||
<string name="editor_about_osm">As suas edições são enviadas à base de dados pública <a href="https://wiki.openstreetmap.org/wiki/Pt:Sobre_o_OpenStreetMap">OpenStreetMap</a>. Não adicione informações pessoais ou protegidas por direitos autorais.</string>
|
||||
<string name="editor_more_about_osm">Mais sobre OpenStreetMap</string>
|
||||
<string name="editor_more_about_osm">Mais sobre o OpenStreetMap</string>
|
||||
<string name="editor_osm_history">Seu histórico de edição</string>
|
||||
<string name="editor_osm_notes">Suas notas de dados do mapa</string>
|
||||
<string name="editor_category_unsuitable_title">Você não encontra uma categoria adequada?</string>
|
||||
<string name="editor_category_unsuitable_title">Não encontra uma categoria adequada?</string>
|
||||
<string name="editor_category_unsuitable_text">O CoMaps permite que você adicione apenas categorias de pontos simples, o que significa que não há cidades, estradas, lagos, contornos de edifícios etc. Por favor, adicione essas categorias diretamente no <a href="https://www.openstreetmap.org">OpenStreetMap.org</a>. Consulte nosso <a href="https://www.comaps.app/support/advanced-map-editing/">guia</a> para obter instruções detalhadas passo a passo.</string>
|
||||
<string name="downloader_no_downloaded_maps_title">Você não fez o download de nenhum mapa</string>
|
||||
<string name="downloader_no_downloaded_maps_title">Você não baixou nenhum mapa</string>
|
||||
<string name="downloader_no_downloaded_maps_message">Baixe mapas para pesquisar e navegar offline</string>
|
||||
<string name="current_location_unknown_error_title">A localização atual é desconhecida</string>
|
||||
<!-- abbreviation for kilometers per hour -->
|
||||
@@ -570,7 +570,7 @@
|
||||
<!-- Recommended length for CarPlay and Android Auto is around 25-27 characters -->
|
||||
<string name="avoid_tolls">Evitar pedágios</string>
|
||||
<!-- Recommended length for CarPlay and Android Auto is around 25-27 characters -->
|
||||
<string name="avoid_unpaved">Evitar não-pavimentadas</string>
|
||||
<string name="avoid_unpaved">Evitar não pavimentadas</string>
|
||||
<!-- Recommended length for CarPlay and Android Auto is around 25-27 characters -->
|
||||
<string name="avoid_ferry">Evitar balsas</string>
|
||||
<string name="avoid_motorways">Evitar rodovias</string>
|
||||
@@ -579,7 +579,7 @@
|
||||
<string name="define_to_avoid_btn">Definir as estradas a serem evitadas</string>
|
||||
<string name="change_driving_options_btn">Opções de direção ativadas</string>
|
||||
<string name="toll_road">Pedágio</string>
|
||||
<string name="unpaved_road">Pista não pavimentada</string>
|
||||
<string name="unpaved_road">Via não pavimentada</string>
|
||||
<string name="ferry_crossing">Balsa</string>
|
||||
<!-- A generic "Yes" button in dialogs -->
|
||||
<string name="yes">Sim</string>
|
||||
@@ -855,7 +855,7 @@
|
||||
<string name="backup_interval_manual_only">Desligado (apenas manual)</string>
|
||||
<string name="dialog_report_error_missing_folder">A localização de backup selecionada está indisponível ou não permite escrita. Por favor, selecione outra localização.</string>
|
||||
<string name="dialog_report_error_with_logs">Por favor, nos envie um relatório de erro:\n - Habilite \"Ativar registros de execução\" nas configurações\n - reproduza o problema\n - na tela \"Sobre & Ajuda\", pressione o botão \"Relatar um problema\" e envie via email ou chat\n - desative os registros de execução</string>
|
||||
<string name="panoramax">Imagem Panoramax</string>
|
||||
<string name="panoramax">Imagem do Panoramax</string>
|
||||
<string name="open_now">Aberto agora</string>
|
||||
<string name="closed_now">Fechado agora</string>
|
||||
<string name="at">às %s</string>
|
||||
@@ -865,4 +865,5 @@
|
||||
<string name="share_track">Compartilhar trilha</string>
|
||||
<string name="existence_confirmed_time_ago">Existência confirmada %s</string>
|
||||
<string name="hours_confirmed_time_ago">Confirmado %s</string>
|
||||
<string name="pref_tts_no_system_tts_short">Nenhum mecanismo de conversão de texto em voz encontrado, verifique as configurações do aplicativo</string>
|
||||
</resources>
|
||||
|
||||
@@ -881,4 +881,5 @@
|
||||
<string name="delete_track_dialog_title">Apagar %s?</string>
|
||||
<string name="existence_confirmed_time_ago">Existência confirmada %s</string>
|
||||
<string name="hours_confirmed_time_ago">Confirmado %s</string>
|
||||
<string name="pref_tts_no_system_tts_short">Nenhuma máquina de ‘text-to-speech’ foi encnotrada, verifique as definições da aplicação</string>
|
||||
</resources>
|
||||
|
||||
@@ -167,7 +167,7 @@
|
||||
<!-- Alert message that we can't run Map Storage settings due to some reasons. -->
|
||||
<string name="cant_change_this_setting">Извините, выбор места размещения карт сейчас недоступен</string>
|
||||
<!-- Alert message that downloading is in progress. -->
|
||||
<string name="downloading_is_active">Идет процесс загрузки карты.</string>
|
||||
<string name="downloading_is_active">Идет процесс скачивание карты</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">Смотри где я сейчас! Жми %1$s или %2$s Нету автономных карт? Скачай тут https://www.comaps.app/download/</string>
|
||||
<!-- Subject for emailed bookmark -->
|
||||
@@ -248,7 +248,7 @@
|
||||
<!-- Button in the main menu -->
|
||||
<string name="donate">Поддержать деньгами</string>
|
||||
<!-- Button in the main Help dialog -->
|
||||
<string name="how_to_support_us">Помочь проекту</string>
|
||||
<string name="how_to_support_us">Помочь и улучшить CoMaps</string>
|
||||
<!-- Button in the main Help dialog -->
|
||||
<string name="copyright">Копирайт</string>
|
||||
<!-- Text in menu + Button in the main Help dialog -->
|
||||
@@ -273,7 +273,7 @@
|
||||
<string name="downloader_download_all_button">Загрузить все</string>
|
||||
<string name="downloader_downloading">Загружается:</string>
|
||||
<!-- Displayed in a dialog that appears when a user tries to delete a map while the app is in the follow route mode -->
|
||||
<string name="downloader_delete_map_while_routing_dialog">Чтобы удалить карту, пожалуйста, остановите навигацию.</string>
|
||||
<string name="downloader_delete_map_while_routing_dialog">Чтобы удалить карту, пожалуйста, остановите ведение</string>
|
||||
<!-- PointsInDifferentMWM -->
|
||||
<string name="routing_failed_cross_mwm_building">Маршрут может быть проложен только внутри карты одного региона.</string>
|
||||
<!-- Context menu item for downloader. -->
|
||||
@@ -345,18 +345,18 @@
|
||||
<string name="dialog_routing_location_turn_on">Включите режим определения геопозиции</string>
|
||||
<string name="dialog_routing_location_unknown_turn_on">Текущая геопозиция не определена. Для построения маршрута включите режим определения геопозиции.</string>
|
||||
<string name="dialog_routing_unable_locate_route">Маршрут не найден</string>
|
||||
<string name="dialog_routing_cant_build_route">Не получилось построить маршрут.</string>
|
||||
<string name="dialog_routing_cant_build_route">Не получилось построить путь</string>
|
||||
<string name="dialog_routing_change_start_or_end">Пожалуйста, измените начальную или конечную точку маршрута.</string>
|
||||
<string name="dialog_routing_change_start">Измените начальную точку маршрута</string>
|
||||
<string name="dialog_routing_start_not_determined">Маршрут не построен. Не определена начальная точка маршрута.</string>
|
||||
<string name="dialog_routing_select_closer_start">Пожалуйста, выберите начальную точку маршрута ближе к дороге.</string>
|
||||
<string name="dialog_routing_change_end">Измените конечную точку маршрута</string>
|
||||
<string name="dialog_routing_end_not_determined">Маршрут не построен. Не определена конечная точка маршрута.</string>
|
||||
<string name="dialog_routing_select_closer_end">Пожалуйста, выберите конечную точку маршрута ближе к дороге.</string>
|
||||
<string name="dialog_routing_change_intermediate">Не определена промежуточная точка маршрута.</string>
|
||||
<string name="dialog_routing_intermediate_not_determined">Пожалуйста, измените промежуточную точку маршрута.</string>
|
||||
<string name="dialog_routing_select_closer_end">Пожалуйста, выберите конечную точку пути ближе к дороге</string>
|
||||
<string name="dialog_routing_change_intermediate">Не определена промежуточная точка пути</string>
|
||||
<string name="dialog_routing_intermediate_not_determined">Пожалуйста, измените промежуточную точку пути</string>
|
||||
<string name="dialog_routing_system_error">Системная ошибка</string>
|
||||
<string name="dialog_routing_application_error">Не удалось проложить маршрут из-за ошибки приложения.</string>
|
||||
<string name="dialog_routing_application_error">Не удалось проложить путь из-за ошибки приложения</string>
|
||||
<string name="dialog_routing_try_again">Попробуйте снова</string>
|
||||
<string name="not_now">Не сейчас</string>
|
||||
<string name="dialog_routing_download_and_build_cross_route">Загрузить карту и построить более оптимальный маршрут с пересечением границы карты?</string>
|
||||
@@ -456,7 +456,7 @@
|
||||
<string name="downloader_update_maps">Обновите карты</string>
|
||||
<string name="downloader_mwm_migration_dialog">Для построения маршрутов необходимо обновить все карты и построить маршрут заново.</string>
|
||||
<string name="downloader_search_field_hint">Найти карту</string>
|
||||
<string name="common_check_internet_connection_dialog">Проверьте настройки и убедитесь, что устройство подключено к интернету.</string>
|
||||
<string name="common_check_internet_connection_dialog">Проверьте настройки и убедитесь, что устройство подключено к интернету</string>
|
||||
<string name="downloader_no_space_title">Недостаточно места</string>
|
||||
<string name="downloader_no_space_message">Удалите ненужные данные</string>
|
||||
<string name="editor_login_error_dialog">Не удалось войти</string>
|
||||
@@ -476,11 +476,11 @@
|
||||
<string name="osm_presentation">Созданные сообществом данные OpenStreetMap по состоянию на %s. Узнайте больше о том, как редактировать и обновлять карту на сайте OpenStreetMap.org</string>
|
||||
<!-- OSM explanation on Android login screen -->
|
||||
<string name="login_osm_presentation">OpenStreetMap.org (OSM) - это открытый проект сообщества по созданию бесплатной карты. Он является основным источником картографических данных в CoMaps и работает как Википедия. Кто угодно может добавлять или редактировать места, которые позже увидят миллионы пользователей по всему миру. \nПрисоединяйтесь к сообществу и помогите сделать лучшую карту для всех!</string>
|
||||
<string name="login_to_make_edits_visible">Создайте учетную запись OpenStreetMap или войдите в нее, чтобы опубликовать свои правки на карте для всего мира.</string>
|
||||
<string name="login_to_make_edits_visible">Создайте учётную запись OpenStreetMap или войдите в неё, чтобы опубликовать свои правки на карте для всего мира</string>
|
||||
<!-- Downloaded 10 **of** 20 <- it is that "of" -->
|
||||
<string name="downloader_of">%1$d из %2$d</string>
|
||||
<string name="download_over_mobile_header">Загрузить через сотовую связь?</string>
|
||||
<string name="download_over_mobile_message">На некоторых тарифных планах или в роуминге это может привести к значительным расходам.</string>
|
||||
<string name="download_over_mobile_message">На некоторых тарифных планах или в роуминге это может привести к значительным расходам</string>
|
||||
<string name="error_enter_correct_house_number">Введите корректный номер дома</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">Количество этажей не должно превышать %d</string>
|
||||
@@ -501,7 +501,7 @@
|
||||
<string name="editor_category_unsuitable_title">Нет подходящей категории?</string>
|
||||
<string name="editor_category_unsuitable_text">CoMaps позволяет добавлять на карту только простые типы объектов, то есть никаких городов, дорог, озер, контуров зданий. Пожалуйста, добавляйте такие категории на сайте <a href="https://www.openstreetmap.org">OpenStreetMap.org</a>. Также рекомендуем ознакомиться с нашими <a href="https://www.comaps.app/support/advanced-map-editing/">подробными пошаговыми инструкциями и другими приложениями для редактирования карты</a>.</string>
|
||||
<string name="downloader_no_downloaded_maps_title">У вас нет загруженных карт</string>
|
||||
<string name="downloader_no_downloaded_maps_message">Загрузите необходимые карты, чтобы находить места и пользоваться навигацией без интернета.</string>
|
||||
<string name="downloader_no_downloaded_maps_message">Скачайте необходимые карты, чтобы находить места и пользоваться ведением без интернета</string>
|
||||
<string name="current_location_unknown_error_title">Текущее местоположение неизвестно</string>
|
||||
<!-- abbreviation for kilometers per hour -->
|
||||
<string name="kilometers_per_hour">км/ч</string>
|
||||
@@ -534,7 +534,7 @@
|
||||
<string name="editor_share_to_all_dialog_title">Отправить всем пользователям?</string>
|
||||
<!-- Dialog before publishing the modifications to the public map. -->
|
||||
<string name="editor_share_to_all_dialog_message_1">Убедитесь, что вы не указали никаких личных данных</string>
|
||||
<string name="editor_share_to_all_dialog_message_2">Редакторы OpenStreetMap проверят изменения и свяжутся с вами, если у них возникнут вопросы.</string>
|
||||
<string name="editor_share_to_all_dialog_message_2">Редакторы OpenStreetMap проверят изменения и свяжутся с вами, если у них возникнут вопросы</string>
|
||||
<string name="navigation_stop_button">Cтоп</string>
|
||||
<!-- Shown as toast when starting the recent track recording -->
|
||||
<string name="track_recording">Запись трека</string>
|
||||
@@ -548,10 +548,10 @@
|
||||
<string name="mobile_data_option_not_today">Не использовать сегодня</string>
|
||||
<string name="mobile_data">Мобильный интернет</string>
|
||||
<!-- NOTE to translators: please synchronize your translation with the English one. -->
|
||||
<string name="mobile_data_description">Мобильный интернет требуется для уведомлений об обновлении карты и для отображения более подробной информации о местах и метках.</string>
|
||||
<string name="mobile_data_option_never">Никогда не использовать</string>
|
||||
<string name="mobile_data_description">Мобильный интернет требуется для уведомлений об обновлении карты и для отображения более подробной информации о местах и метках</string>
|
||||
<string name="mobile_data_option_never">Никогда</string>
|
||||
<string name="mobile_data_option_ask">Всегда спрашивать</string>
|
||||
<string name="traffic_update_maps_text">Для отображения пробок необходимо обновить карты.</string>
|
||||
<string name="traffic_update_maps_text">Для отображения пробок необходимо обновить карты</string>
|
||||
<string name="big_font">Увеличить шрифт на карте</string>
|
||||
<string name="traffic_update_app">Обновите CoMaps</string>
|
||||
<!-- "traffic" as in "road congestion" -->
|
||||
@@ -623,8 +623,8 @@
|
||||
<string name="bookmarks_empty_list_title">Список пустой</string>
|
||||
<string name="bookmarks_empty_list_message">Чтобы добавить метку, нажмите на место на карте, а затем на иконку звёздочки</string>
|
||||
<string name="category_desc_more">…ещё</string>
|
||||
<string name="export_file">Экспорт KMZ</string>
|
||||
<string name="export_file_gpx">Экспорт GPX</string>
|
||||
<string name="export_file">Экспортировать в KMZ</string>
|
||||
<string name="export_file_gpx">Экспортировать в GPX</string>
|
||||
<string name="delete_list">Удалить список</string>
|
||||
<string name="speedcams_alert_title">Камеры скорости</string>
|
||||
<string name="place_description_title">Описание места</string>
|
||||
@@ -637,10 +637,10 @@
|
||||
<!-- Speed camera settings menu option - Never warn (about speedcams) -->
|
||||
<string name="pref_tts_speedcams_never">Никогда не предупреждать</string>
|
||||
<string name="power_managment_title">Режим энергосбережения</string>
|
||||
<string name="power_managment_description">Попробовать уменьшить потребление заряда аккумулятора за счёт отключения некоторых функций.</string>
|
||||
<string name="power_managment_description">Попробовать уменьшить потребление заряда батареи за счёт отключения некоторых возможностей</string>
|
||||
<string name="power_managment_setting_never">Никогда</string>
|
||||
<string name="power_managment_setting_auto">Авто</string>
|
||||
<string name="power_managment_setting_manual_max">Максимальное энергосбережение</string>
|
||||
<string name="power_managment_setting_auto">При низком заряде</string>
|
||||
<string name="power_managment_setting_manual_max">Всегда</string>
|
||||
<string name="enable_logging_warning_message">Эта настройка включается для записи действий в целях диагностики, чтобы помочь нашей команде выявить проблемы с приложением. Включайте ее только на время для отправки детальной информации о неполадках, обнаруженных в приложении, через кнопку «Сообщить о проблеме». Логи могут включать данные о местоположении.</string>
|
||||
<string name="driving_options_title">Настройки объезда</string>
|
||||
<!-- Recommended length for CarPlay and Android Auto is around 25-27 characters -->
|
||||
|
||||
@@ -242,7 +242,7 @@
|
||||
<!-- Button in the main menu -->
|
||||
<string name="donate">Донација</string>
|
||||
<!-- Button in the main Help dialog -->
|
||||
<string name="how_to_support_us">Подржи пројекат</string>
|
||||
<string name="how_to_support_us">Волонтирај и унапреди CoMaps</string>
|
||||
<!-- Text in menu + Button in the main Help dialog -->
|
||||
<string name="report_a_bug">Пријавите проблем</string>
|
||||
<!-- Toast text when compass calibration may improve the correctness of the current position arrow -->
|
||||
@@ -880,4 +880,11 @@
|
||||
<string name="open_now">Сада је отворено</string>
|
||||
<string name="at">на %s</string>
|
||||
<string name="about_headline">Отворени пројекат који покреће заједница</string>
|
||||
<string name="delete_track_dialog_title">Обрисати %s?</string>
|
||||
<string name="share_track">Подели путању</string>
|
||||
<string name="existence_confirmed_time_ago">Проверено да постоји %s</string>
|
||||
<string name="hours_confirmed_time_ago">Проверено %s</string>
|
||||
<string name="pref_tts_no_system_tts_short">Није пронађен програм за претварање текста у говор, проверите подешавања апликације</string>
|
||||
<string name="osm_note_hint">Или оставите напомену OpenStreetMap заједници да би неко други могао да дода или паправи ово место.</string>
|
||||
<string name="osm_note_toast">Напомена ће бити послата на OpenStreetMap</string>
|
||||
</resources>
|
||||
|
||||
@@ -843,7 +843,7 @@
|
||||
<string name="app_site_url">https://comaps.app/tr/</string>
|
||||
<string name="instagram_url">https://www.instagram.com/comaps.app/</string>
|
||||
<string name="codeberg">Codeberg</string>
|
||||
<string name="telegram_url">https://t.me/CoMapsApp/</string>
|
||||
<string name="telegram_url">https://t.me/CoMaps_TR</string>
|
||||
<string name="pref_left_button_title">Sol alt tuş ataması</string>
|
||||
<string name="pref_left_button_disable">Devre dışı</string>
|
||||
<string name="error_enter_correct_fediverse_page">Gireceğiniz Mastodon kullanıcı adı ve adresi halihazırda mevcut olmalı</string>
|
||||
|
||||
@@ -225,7 +225,7 @@
|
||||
<!-- Settings «Route» category: «Test Voice Directions» title -->
|
||||
<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">如果您现在听不到声音,请检查音量或系统文本转语音设置</string>
|
||||
<string name="pref_tts_playing_test_voice">如果您现在听不到声音,请检查音量或系统文字转语音设置</string>
|
||||
<!-- Settings «Route» category: «Tts unavailable» subtitle -->
|
||||
<string name="pref_tts_unavailable">不可用</string>
|
||||
<string name="pref_map_auto_zoom">自动缩放</string>
|
||||
@@ -891,4 +891,5 @@
|
||||
<string name="delete_track_dialog_title">是否删除%s?</string>
|
||||
<string name="hours_confirmed_time_ago">已于%s确认</string>
|
||||
<string name="share_track">分享轨迹</string>
|
||||
<string name="pref_tts_no_system_tts_short">未找到文字转语音引擎,请检查应用设置</string>
|
||||
</resources>
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
<declare-styleable name="SpeedLimitView">
|
||||
<attr name="speedLimitBackgroundColor" format="color" />
|
||||
<attr name="speedLimitBorderColor" format="color" />
|
||||
<attr name="speedLimitUnlimitedBorderColor" format="color" />
|
||||
<attr name="speedLimitUnlimitedStripeColor" format="color" />
|
||||
<attr name="speedLimitAlertColor" format="color" />
|
||||
<attr name="speedLimitTextColor" format="color" />
|
||||
<attr name="speedLimitTextAlertColor" format="color" />
|
||||
@@ -11,6 +13,14 @@
|
||||
<attr name="speedLimitEditModeAlert" format="boolean" />
|
||||
</declare-styleable>
|
||||
|
||||
<declare-styleable name="CurrentSpeedView">
|
||||
<attr name="currentSpeedBackgroundColor" format="color" />
|
||||
<attr name="currentSpeedBorderColor" format="color" />
|
||||
<attr name="currentSpeedTextColor" format="color" />
|
||||
<!-- These values are used only in edit mode -->
|
||||
<attr name="currentSpeedEditModeCurrentSpeed" format="integer" />
|
||||
</declare-styleable>
|
||||
|
||||
<declare-styleable name="LanesView">
|
||||
<attr name="lanesActiveLaneTintColor" format="reference" />
|
||||
<attr name="lanesInactiveLaneTintColor" format="color" />
|
||||
|
||||
@@ -941,4 +941,5 @@
|
||||
<!-- Title of the bottom sheet when sharing the track -->
|
||||
<string name="share_track">Share Track</string>
|
||||
<string name="delete_track_dialog_title">Delete %s?</string>
|
||||
<string name="pref_tts_no_system_tts_short">No text-to-speech engine found, check the app settings</string>
|
||||
</resources>
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
<item name="speedLimitBorderColor">@color/base_red</item>
|
||||
</style>
|
||||
|
||||
<style name="MwmWidget.CurrentSpeed">
|
||||
<item name="speedLimitBorderColor">@color/black_primary</item>
|
||||
</style>
|
||||
|
||||
<style name="MwmWidget.FrameLayout"/>
|
||||
|
||||
<style name="MwmWidget.Downloader"/>
|
||||
@@ -386,4 +390,18 @@
|
||||
<style name="MwmWidget.SwitchPreferenceCompat" parent="Preference.SwitchPreferenceCompat.Material">
|
||||
<item name="android:widgetLayout">@layout/preference_switch</item>
|
||||
</style>
|
||||
|
||||
<style name="MwmWidget.M3.Button" parent="Widget.Material3.Button">
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:textColor">?accentButtonTextColor</item>
|
||||
<item name="backgroundTint">@null</item>
|
||||
<item name="android:textAllCaps">false</item>
|
||||
<item name="cornerRadius">20dp</item>
|
||||
<item name="android:textSize">16sp</item>
|
||||
</style>
|
||||
|
||||
<style name="MwmWidget.M3.Button.Primary" parent="@style/MwmWidget.M3.Button">
|
||||
<item name="backgroundTint">?colorSecondary</item>
|
||||
</style>
|
||||
</resources>
|
||||
|
||||
@@ -144,7 +144,7 @@ project.afterEvaluate {
|
||||
|
||||
final taskName = gradle.startParameter.taskNames
|
||||
|
||||
if (['assemble', 'bundle', 'compile', 'install'].any{taskName.any{task->task.startsWith(it)}}) {
|
||||
if (['assemble', 'bundle', 'compile', 'install', 'run'].any{taskName.any{task->task.startsWith(it)}}) {
|
||||
exec {
|
||||
workingDir '../..'
|
||||
|
||||
|
||||
@@ -26,13 +26,14 @@ set(SRC
|
||||
app/organicmaps/sdk/search/SearchEngine.cpp
|
||||
app/organicmaps/sdk/search/SearchRecents.cpp
|
||||
app/organicmaps/sdk/routing/JunctionInfo.hpp
|
||||
app/organicmaps/sdk/routing/LaneInfo.cpp
|
||||
app/organicmaps/sdk/routing/LaneInfo.hpp
|
||||
app/organicmaps/sdk/routing/RouteMarkData.hpp
|
||||
app/organicmaps/sdk/routing/RouteMarkType.hpp
|
||||
app/organicmaps/sdk/routing/RoutePointInfo.hpp
|
||||
app/organicmaps/sdk/routing/RouteRecommendationType.hpp
|
||||
app/organicmaps/sdk/routing/RoutingInfo.hpp
|
||||
app/organicmaps/sdk/routing/RoutingOptions.cpp
|
||||
app/organicmaps/sdk/routing/SingleLaneInfo.hpp
|
||||
app/organicmaps/sdk/routing/TransitRouteInfo.hpp
|
||||
app/organicmaps/sdk/routing/TransitStepInfo.hpp
|
||||
app/organicmaps/sdk/ChoosePositionMode.cpp
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
#include "LaneInfo.hpp"
|
||||
|
||||
#include "app/organicmaps/sdk/core/jni_helper.hpp"
|
||||
|
||||
#include <vector>
|
||||
|
||||
namespace
|
||||
{
|
||||
jobject ToJavaLaneWay(JNIEnv * env, routing::turns::lanes::LaneWay const & laneWay)
|
||||
{
|
||||
static jclass const laneWayClass = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/routing/LaneWay");
|
||||
jfieldID fieldID =
|
||||
env->GetStaticFieldID(laneWayClass, DebugPrint(laneWay).c_str(), "Lapp/organicmaps/sdk/routing/LaneWay;");
|
||||
return env->GetStaticObjectField(laneWayClass, fieldID);
|
||||
}
|
||||
} // namespace
|
||||
|
||||
jobjectArray CreateLanesInfo(JNIEnv * env, routing::turns::lanes::LanesInfo const & lanes)
|
||||
{
|
||||
if (lanes.empty())
|
||||
return nullptr;
|
||||
|
||||
static jclass const laneWayClass = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/routing/LaneWay");
|
||||
static jclass const laneInfoClass = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/routing/LaneInfo");
|
||||
auto const lanesSize = static_cast<jsize>(lanes.size());
|
||||
jobjectArray jLanes = env->NewObjectArray(lanesSize, laneInfoClass, nullptr);
|
||||
ASSERT(jLanes, (jni::DescribeException()));
|
||||
// Java signature : LaneInfo(LaneWay[] laneWays, LaneWay activeLane)
|
||||
static jmethodID const ctorLaneInfoID = jni::GetConstructorID(
|
||||
env, laneInfoClass, "([Lapp/organicmaps/sdk/routing/LaneWay;Lapp/organicmaps/sdk/routing/LaneWay;)V");
|
||||
|
||||
for (jsize j = 0; j < lanesSize; ++j)
|
||||
{
|
||||
auto const laneWays = lanes[j].laneWays.GetActiveLaneWays();
|
||||
auto const laneWaysSize = static_cast<jsize>(laneWays.size());
|
||||
jni::TScopedLocalObjectArrayRef jLaneWays(env, env->NewObjectArray(laneWaysSize, laneWayClass, nullptr));
|
||||
ASSERT(jLanes, (jni::DescribeException()));
|
||||
for (jsize i = 0; i < laneWaysSize; ++i)
|
||||
{
|
||||
jni::TScopedLocalRef jLaneWay(env, ToJavaLaneWay(env, laneWays[i]));
|
||||
env->SetObjectArrayElement(jLaneWays.get(), i, jLaneWay.get());
|
||||
}
|
||||
jni::TScopedLocalRef jLaneInfo(env, env->NewObject(laneInfoClass, ctorLaneInfoID, jLaneWays.get(),
|
||||
ToJavaLaneWay(env, lanes[j].recommendedWay)));
|
||||
ASSERT(jLaneInfo.get(), (jni::DescribeException()));
|
||||
env->SetObjectArrayElement(jLanes, j, jLaneInfo.get());
|
||||
}
|
||||
|
||||
return jLanes;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "routing/lanes/lane_info.hpp"
|
||||
|
||||
jobjectArray CreateLanesInfo(JNIEnv * env, routing::turns::lanes::LanesInfo const & lanes);
|
||||
@@ -1,7 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "app/organicmaps/sdk/core/jni_helper.hpp"
|
||||
#include "app/organicmaps/sdk/routing/SingleLaneInfo.hpp"
|
||||
#include "app/organicmaps/sdk/routing/LaneInfo.hpp"
|
||||
#include "app/organicmaps/sdk/util/Distance.hpp"
|
||||
|
||||
#include "map/routing_manager.hpp"
|
||||
@@ -13,12 +13,13 @@ jobject CreateRoutingInfo(JNIEnv * env, routing::FollowingInfo const & info, Rou
|
||||
// String currentStreet, String nextStreet, String nextNextStreet,
|
||||
// double completionPercent, int vehicleTurnOrdinal, int
|
||||
// vehicleNextTurnOrdinal, int pedestrianTurnOrdinal, int exitNum,
|
||||
// int totalTime, SingleLaneInfo[] lanes)
|
||||
// int totalTime, LaneInfo[] lanes, double speedLimitMps, boolean speedLimitExceeded,
|
||||
// boolean shouldPlayWarningSignal)
|
||||
static jmethodID const ctorRouteInfoID =
|
||||
jni::GetConstructorID(env, klass,
|
||||
"(Lapp/organicmaps/sdk/util/Distance;Lapp/organicmaps/sdk/util/Distance;"
|
||||
"Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;DIIIII"
|
||||
"[Lapp/organicmaps/sdk/routing/SingleLaneInfo;DZZ)V");
|
||||
"[Lapp/organicmaps/sdk/routing/LaneInfo;DZZ)V");
|
||||
|
||||
jobjectArray jLanes = CreateLanesInfo(env, info.m_lanes);
|
||||
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "app/organicmaps/sdk/core/jni_helper.hpp"
|
||||
|
||||
#include "routing/following_info.hpp"
|
||||
|
||||
#include <vector>
|
||||
|
||||
jobjectArray CreateLanesInfo(JNIEnv * env, std::vector<routing::FollowingInfo::SingleLaneInfoClient> const & lanes)
|
||||
{
|
||||
if (lanes.empty())
|
||||
return nullptr;
|
||||
|
||||
static jclass const laneClass = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/routing/SingleLaneInfo");
|
||||
auto const lanesSize = static_cast<jsize>(lanes.size());
|
||||
jobjectArray jLanes = env->NewObjectArray(lanesSize, laneClass, nullptr);
|
||||
ASSERT(jLanes, (jni::DescribeException()));
|
||||
static jmethodID const ctorSingleLaneInfoID = jni::GetConstructorID(env, laneClass, "([BZ)V");
|
||||
|
||||
for (jsize j = 0; j < lanesSize; ++j)
|
||||
{
|
||||
auto const laneSize = static_cast<jsize>(lanes[j].m_lane.size());
|
||||
jni::TScopedLocalByteArrayRef singleLane(env, env->NewByteArray(laneSize));
|
||||
ASSERT(singleLane.get(), (jni::DescribeException()));
|
||||
env->SetByteArrayRegion(singleLane.get(), 0, laneSize, lanes[j].m_lane.data());
|
||||
|
||||
jni::TScopedLocalRef singleLaneInfo(
|
||||
env, env->NewObject(laneClass, ctorSingleLaneInfoID, singleLane.get(), lanes[j].m_isRecommended));
|
||||
ASSERT(singleLaneInfo.get(), (jni::DescribeException()));
|
||||
env->SetObjectArrayElement(jLanes, j, singleLaneInfo.get());
|
||||
}
|
||||
|
||||
return jLanes;
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package app.organicmaps.sdk.routing;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
public final class LaneInfo
|
||||
{
|
||||
public final LaneWay[] mLaneWays;
|
||||
public final LaneWay mActiveLaneWay;
|
||||
|
||||
public LaneInfo(@NonNull LaneWay[] laneWays, LaneWay activeLane)
|
||||
{
|
||||
mLaneWays = laneWays;
|
||||
mActiveLaneWay = activeLane;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("LaneInfo{activeLaneWay=").append(mActiveLaneWay.toString()).append(", laneWays=[");
|
||||
for (LaneWay i : mLaneWays)
|
||||
sb.append(" ").append(i);
|
||||
sb.append("]}");
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
@@ -3,25 +3,20 @@ package app.organicmaps.sdk.routing;
|
||||
import androidx.annotation.DrawableRes;
|
||||
import app.organicmaps.sdk.R;
|
||||
|
||||
/**
|
||||
* IMPORTANT : Order of enum values MUST BE the same
|
||||
* with native LaneWay enum (see routing/turns.hpp for details).
|
||||
* Information for every lane is composed of some number values below.
|
||||
* For example, a lane may have THROUGH and RIGHT values.
|
||||
*/
|
||||
public enum LaneWay
|
||||
{
|
||||
NONE(R.drawable.ic_turn_straight),
|
||||
REVERSE(R.drawable.ic_turn_uleft),
|
||||
SHARP_LEFT(R.drawable.ic_turn_left_sharp),
|
||||
LEFT(R.drawable.ic_turn_left),
|
||||
SLIGHT_LEFT(R.drawable.ic_turn_left_slight),
|
||||
MERGE_TO_RIGHT(R.drawable.ic_turn_right_slight),
|
||||
THROUGH(R.drawable.ic_turn_straight),
|
||||
MERGE_TO_LEFT(R.drawable.ic_turn_left_slight),
|
||||
SLIGHT_RIGHT(R.drawable.ic_turn_right_slight),
|
||||
RIGHT(R.drawable.ic_turn_right),
|
||||
SHARP_RIGHT(R.drawable.ic_turn_right_sharp);
|
||||
None(R.drawable.ic_turn_straight),
|
||||
ReverseLeft(R.drawable.ic_turn_uleft),
|
||||
SharpLeft(R.drawable.ic_turn_left_sharp),
|
||||
Left(R.drawable.ic_turn_left),
|
||||
MergeToLeft(R.drawable.ic_turn_left_slight),
|
||||
SlightLeft(R.drawable.ic_turn_left_slight),
|
||||
Through(R.drawable.ic_turn_straight),
|
||||
SlightRight(R.drawable.ic_turn_right_slight),
|
||||
MergeToRight(R.drawable.ic_turn_right_slight),
|
||||
Right(R.drawable.ic_turn_right),
|
||||
SharpRight(R.drawable.ic_turn_right_sharp),
|
||||
ReverseRight(R.drawable.ic_turn_uright);
|
||||
|
||||
public final int mTurnRes;
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package app.organicmaps.sdk.routing;
|
||||
|
||||
import androidx.annotation.Keep;
|
||||
import androidx.annotation.Nullable;
|
||||
import app.organicmaps.sdk.util.Distance;
|
||||
|
||||
// Called from JNI.
|
||||
@@ -25,7 +26,8 @@ public final class RoutingInfo
|
||||
public final CarDirection carDirection;
|
||||
public final CarDirection nextCarDirection;
|
||||
public final int exitNum;
|
||||
public final SingleLaneInfo[] lanes;
|
||||
@Nullable
|
||||
public final LaneInfo[] lanes;
|
||||
// For pedestrian routing.
|
||||
public final PedestrianTurnDirection pedestrianTurnDirection;
|
||||
// Current speed limit in meters per second.
|
||||
@@ -37,7 +39,7 @@ public final class RoutingInfo
|
||||
private RoutingInfo(Distance distToTarget, Distance distToTurn, String currentStreet, String nextStreet,
|
||||
String nextNextStreet, double completionPercent, int vehicleTurnOrdinal,
|
||||
int vehicleNextTurnOrdinal, int pedestrianTurnOrdinal, int exitNum, int totalTime,
|
||||
SingleLaneInfo[] lanes, double speedLimitMps, boolean speedLimitExceeded,
|
||||
@Nullable LaneInfo[] lanes, double speedLimitMps, boolean speedLimitExceeded,
|
||||
boolean shouldPlayWarningSignal)
|
||||
{
|
||||
this.distToTarget = distToTarget;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user