Compare commits

...

52 Commits

Author SHA1 Message Date
Mihail Mitrofanov
d8ddf5a0ae [android]: Backup geo tags and tracks to local folder
This commit adds backup of user data to a local folder on the device.

Features:
* Turn on/off regular backup
* Choose new or existing folder for saving backup
* Set how often backup runs
* Set how many backups to keep
* Create backup manually

Signed-off-by: Mihail Mitrofanov <mk.mitrofanov@outlook.com>
2025-06-27 23:55:49 +07:00
Harry Bond
1e32df193d [Android] fix speed limit indicator activating when driving exactly at speed limit
the displayed speed is rounded, but the speedLimitExceeded check isn't, resulting in what appears to be incorrect activations. Fixed by rounding in speedLimitExceeded also.
fixes #544

Signed-off-by: Harry Bond <me@hbond.xyz>
2025-06-27 23:54:30 +07:00
Eivind Samseth
fca61732b7 [styles] Regenerate
Signed-off-by: Eivind Samseth <eisa01@gmail.com>
2025-06-27 23:52:16 +07:00
Eivind Samseth
8053d2f4a5 [styles] Remove path designated bicycle on level z14 as requested by review
Signed-off-by: Eivind Samseth <eisa01@gmail.com>
2025-06-27 23:51:39 +07:00
Eivind Samseth
7bfe507e57 [styles] Regenerate
Signed-off-by: Eivind Samseth <eisa01@gmail.com>
2025-06-27 23:51:35 +07:00
Eivind Samseth
1e06e46344 [styles] Render paths and track at same level as footway and cycleway
Signed-off-by: Eivind Samseth <eisa01@gmail.com>
2025-06-27 23:51:02 +07:00
Yannik Bloscheck
f7f73f04b1 [styles] Regenerated files for made pedestrian areas slightly more distinct
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-06-27 18:44:09 +02:00
Yannik Bloscheck
eee299f6cd [styles] Made pedestrian areas slightly more distinct
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-06-27 18:44:09 +02:00
Codeberg Translate
5b43e4ec9b [strings] Update from Codeberg Translate
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Fjuro <git@alius.cz>
Co-authored-by: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
Co-authored-by: Weblate <noreply-mt-weblate@weblate.org>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: ZeljkoBG <zeljkobg@noreply.codeberg.org>
Co-authored-by: artnay <artnay@noreply.codeberg.org>
Co-authored-by: canadagoose <canadagoose@noreply.codeberg.org>
Co-authored-by: openfab <openfab@noreply.codeberg.org>
Co-authored-by: oster5 <oster5@noreply.codeberg.org>
Co-authored-by: oxisol <oxisol@noreply.codeberg.org>
Co-authored-by: projjalm <projjalm@noreply.codeberg.org>
Co-authored-by: sunsand <sunsand@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/be/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/bg/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/bn/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/es/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fa/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hu/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sq/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sw/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/uk/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-descriptions/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/be/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/bg/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/bn/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fa/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hu/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sq/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/uk/
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Apple AppStore description
Translation: CoMaps/Google Play and Huawei AppGallery descriptions
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS UI Strings
2025-06-27 14:43:21 +00:00
Yannik Bloscheck
733c0ae8a8 [strings] Removed unsupported App Store languages
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-06-27 16:42:53 +02:00
Yannik Bloscheck
30ee5c30e1 [strings] Added App Store keywords field
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-06-27 16:42:53 +02:00
Yannik Bloscheck
d562f23256 [strings] Added copyright symbol to App Store copyright field
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-06-27 16:42:53 +02:00
Yannik Bloscheck
ecb44b5ae9 [strings] Removed unused App Store fields
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-06-27 16:42:53 +02:00
Yannik Bloscheck
c49cf48575 [strings] Adjusted German App Store subtitle
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-06-27 16:42:53 +02:00
Yannik Bloscheck
4581907f00 [strings] Put App Store subtitles in actual subtitle field
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-06-27 16:42:53 +02:00
vipo
423d45a1bb Adding to CONTRIBUTORS 2025-06-27 10:41:23 +02:00
vipo
4d8e7c39fd [styles] Changed train station icons to look the same like normal train icons 2025-06-27 10:40:26 +02:00
Jean-Baptiste
273eeed9f3 [android] Migrate download item layouts to Material Components
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-06-27 08:08:43 +02:00
Jean-Baptiste
754748123c [android] Use Material components in settings layout
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-06-27 08:06:42 +02:00
Yannik Bloscheck
b58bacddf1 [ios] Matched translations
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-06-27 05:19:47 +02:00
Yannik Bloscheck
a985bf8349 [ios] Fixed issues with Panoramax button not working as intented
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-06-27 05:19:47 +02:00
Jean-Baptiste
b4f115a8fa [desktop] Add Panoramax link on the place page
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
Co-authored by: Harry Bond <me@hbond.xyz>
2025-06-27 05:19:47 +02:00
Jean-Baptiste
df89761eba [iOS] Add Panoramax link on the place page
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
Co-authored by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-06-27 05:19:47 +02:00
Jean-Baptiste
25e49b0fe1 [android] Add Panoramax link on the place page
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-06-27 05:19:47 +02:00
Jean-Baptiste
6a10cffe51 [generator] Add support of Panoramax tag
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
Co-authored by: Harry Bond <me@hbond.xyz>
2025-06-27 05:19:47 +02:00
Konstantin Pastbin
495167c11f [strings] Fix sights category search for ES
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-06-27 05:17:41 +02:00
Yannik Bloscheck
d44d671550 [ios] Ending search when a route starts
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-06-27 05:13:40 +02:00
Harry Bond
d44d575368 [android] remove help button from settings menu
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-06-27 05:06:31 +02:00
Harry Bond
fbddff009e [android] Rename "Help" ("About CoMaps") to "About & Help"
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-06-27 05:06:31 +02:00
Harry Bond
58bab61890 [android] Hide currently active left button action from hamburger menu
fixes #549
And add "About CoMaps" option in burger menu when using custom buttons
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-06-27 05:06:31 +02:00
Yannik Bloscheck
464b3cf59a [ios] Making sure the whole location button is visible during routing
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-06-26 15:48:26 +02:00
pastk
4a48d43240 Deleted translation using Weblate (Bengali) 2025-06-26 02:53:05 +00:00
Codeberg Translate
d68544de13 [strings] Update from Codeberg Translate
Co-authored-by: 19atlas <19atlas@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Dirk <dirk@noreply.codeberg.org>
Co-authored-by: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: jonas-bonas <jonas-bonas@noreply.codeberg.org>
Co-authored-by: oxisol <oxisol@noreply.codeberg.org>
Co-authored-by: phama <phama@noreply.codeberg.org>
Co-authored-by: projjalm <projjalm@noreply.codeberg.org>
Co-authored-by: yannikbloscheck <yannikbloscheck@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/bn/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fa/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-descriptions/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-descriptions/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-descriptions/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-descriptions/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/bn/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fa/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/zh_Hant/
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Apple AppStore description
Translation: CoMaps/F-Droid app description
Translation: CoMaps/Google Play and Huawei AppGallery descriptions
Translation: CoMaps/iOS UI Strings
2025-06-26 00:46:20 +00:00
Yannik Bloscheck
ae1c975627 [ios] Improved handling of non-default mail clients
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-06-25 13:31:07 +02:00
Yannik Bloscheck
090b7c21fc [ios] Switched OSM Oauth to using a link
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-06-25 13:31:07 +02:00
Yannik Bloscheck
126d4f6373 [ios] Changed color of launch screen to fit new light map style
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-06-25 13:31:07 +02:00
Yannik Bloscheck
78b54acad4 [ios] Switching to iOS 15 as the minimum
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-06-25 13:31:07 +02:00
kavikhalique
35cda6d342 Modified startForeground() method call to adapt for android 14+
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
2025-06-25 11:55:56 +02:00
metehan
1ad5975790 A typo fix for docs / TRANSLATIONS.md
Signed-off-by: metehan <metehan@noreply.codeberg.org>
2025-06-24 22:26:21 +02:00
oxisol
275695b85e Update data/faq.html
Replaced remaining traces of Organic Maps with CoMaps
2025-06-24 15:48:48 +02:00
Codeberg Translate
d8d93bc0cb [strings] Update from Codeberg Translate
Co-authored-by: AnanasSux <ananassux@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Laurent FAVOLE <lfavole@noreply.codeberg.org>
Co-authored-by: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
Co-authored-by: Weblate <noreply-mt-weblate@weblate.org>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: ZeljkoBG <zeljkobg@noreply.codeberg.org>
Co-authored-by: kudlav <kudlav@noreply.codeberg.org>
Co-authored-by: lazlo <lazlo@noreply.codeberg.org>
Co-authored-by: matheusgomesms <matheusgomesms@noreply.codeberg.org>
Co-authored-by: openfab <openfab@noreply.codeberg.org>
Co-authored-by: ovl-005 <ovl-005@noreply.codeberg.org>
Co-authored-by: oxisol <oxisol@noreply.codeberg.org>
Co-authored-by: zyphlar <zyphlar@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/zh_Hant_HK/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/af/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/be/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/bg/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/bn/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/el/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/en_GB/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/es_MX/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fa/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fr_CA/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hu/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/is/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/kab/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/lt/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/lv/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ml/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/mt/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/nb_NO/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sk/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sq/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sw/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/uk/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-descriptions/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plist/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plurals/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/af/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/be/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/bg/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/bn/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/el/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fa/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/lt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/lv/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/nb_NO/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sk/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/zh_Hant/
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Apple AppStore description
Translation: CoMaps/F-Droid app description
Translation: CoMaps/Google Play and Huawei AppGallery descriptions
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS Plist
Translation: CoMaps/iOS Plurals
Translation: CoMaps/iOS UI Strings
2025-06-24 17:31:51 +07:00
Codeberg Translate
2ecdf10fde [strings] Update from Codeberg Translate
Co-authored-by: AnanasSux <ananassux@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Laurent FAVOLE <lfavole@noreply.codeberg.org>
Co-authored-by: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
Co-authored-by: Weblate <noreply-mt-weblate@weblate.org>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: ZeljkoBG <zeljkobg@noreply.codeberg.org>
Co-authored-by: kudlav <kudlav@noreply.codeberg.org>
Co-authored-by: lazlo <lazlo@noreply.codeberg.org>
Co-authored-by: matheusgomesms <matheusgomesms@noreply.codeberg.org>
Co-authored-by: openfab <openfab@noreply.codeberg.org>
Co-authored-by: ovl-005 <ovl-005@noreply.codeberg.org>
Co-authored-by: oxisol <oxisol@noreply.codeberg.org>
Co-authored-by: zyphlar <zyphlar@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/zh_Hant_HK/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/af/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/be/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/bg/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/bn/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/el/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/en_GB/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/es_MX/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fa/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fr_CA/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hu/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/is/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/kab/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/lt/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/lv/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ml/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/mt/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/nb_NO/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sk/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sq/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sw/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/uk/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-descriptions/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plist/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plurals/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/af/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/be/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/bg/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/bn/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/el/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fa/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/lt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/lv/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/nb_NO/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sk/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/zh_Hant/
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Apple AppStore description
Translation: CoMaps/F-Droid app description
Translation: CoMaps/Google Play and Huawei AppGallery descriptions
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS Plist
Translation: CoMaps/iOS Plurals
Translation: CoMaps/iOS UI Strings
2025-06-24 11:59:36 +02:00
Konstantin Pastbin
40164a01d7 [drape] Fix wrong reference
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-06-24 10:23:51 +07:00
x7z4w
d6478a0b4d Fix text cutoff
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-06-23 12:12:15 +02:00
Harry Bond
c04c3b7783 [android] Add content description for customisable left button
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-06-23 03:28:37 +01:00
clover sage
e960e8240c [android] Add content descriptions to android elements
Signed-off-by: clover sage <codeberg.evidence981@simplelogin.com>
2025-06-23 03:27:47 +01:00
clover sage
ef18d2dee8 add self to CONTRIBUTORS
Signed-off-by: clover sage <codeberg.evidence981@simplelogin.com>
2025-06-22 23:45:02 +01:00
Yannik Bloscheck
0cb1372075 [ios] Fix overlooked mistake from adding Blueksy
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-06-22 15:13:57 +02:00
hb0nd
d74f7c1594 [generator] Fix error message
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-06-22 12:36:18 +01:00
Jean-Baptiste
32eefec665 [android] Remove last mentions to beta buildTypes
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-06-22 09:29:05 +02:00
Jean-Baptiste
25ff7aaf97 [android] Migrate routing bottom panel to Material Components
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-06-22 09:27:50 +02:00
Jean-Baptiste
abf19976f6 [android] Migrate last class to MaterialAlertDialog
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-06-22 09:26:52 +02:00
361 changed files with 4188 additions and 1971 deletions

View File

@@ -7,6 +7,10 @@ CoMaps contributors:
(in alphabetic order)
--------------------------------------------------------------------------------
clover sage
Harry Bond <me@hbond.xyz>
vikiawv
--------------------------------------------------------------------------------
Organic Maps (formerly OMaps) contributors:
(in alphabetic order)

View File

@@ -1,8 +1,8 @@
To build, install and run e.g. a Web Debug version on your device/emulator: './gradlew runWebDebug'
Or to compile a redistributable Fdroid Beta apk for testing: './gradlew assembleFdroidBeta'
Or to compile a redistributable Fdroid Test apk for testing: './gradlew assembleFdroidBeta'
Or to build beta apks for all flavors: './gradlew assembleBeta'
Or to build test apks for all flavors: './gradlew assembleBeta'
To see all available build targets './gradlew tasks'

View File

@@ -7,7 +7,6 @@ buildscript {
// Detect flavors from the task name.
def taskName = getGradle().getStartParameter().getTaskRequests().toString().toLowerCase()
def isFdroid = taskName.contains('fdroid')
def isBeta = taskName.contains('beta')
dependencies {
classpath libs.android.tools
@@ -297,7 +296,6 @@ android {
ndk.debugSymbolLevel = 'symbol_table'
}
// TODO(@pastk): rename to "test" everywhere in code
beta {
applicationIdSuffix '.test'
versionNameSuffix '-test'

View File

@@ -0,0 +1 @@
CoMaps - Wandel, fiets, rijdt offline met privacy

View File

@@ -1 +1 @@
CoMaps
CoMaps - Navi mit Datenschutz

View File

@@ -0,0 +1,36 @@
OpenStreetMap verilerine dayanan ve şeffaflık, gizlilik ve kar amacı gütmeyen olma taahhüdüyle güçlendirilen, topluluk tarafından yönetilen ücretsiz ve açık kaynaklı bir harita uygulaması.
Topluluğa katılın ve en iyi harita uygulamasını oluşturmaya yardımcı olun
• Uygulamayı kullanın ve bunu herkese duyurun
• Geri bildirimde bulunun ve sorunları bildirin
• Harita verilerini uygulamada veya OpenStreetMap web sitesinde güncelleyin
<i>Geri bildirimleriniz ve 5 yıldızlı yorumlarınız bizim için en iyi destektir!</i>
‣ <b>Basit ve Cilalı</b>: sadece işe yarayan, kullanımı kolay temel özellikler.
‣ <b>Çevrim dışı odaklı</b>: Cep telefonu hizmetine ihtiyaç duymadan yurtdışı seyahatinizi planlayın ve gezinin, uzun bir yürüyüş sırasında rota noktalarını arayın, vb. Tüm uygulama işlevleri çevrimdışı çalışmak üzere tasarlanmıştır.
‣ <b>Gizliliğe Saygı</b>: Uygulama gizlilik düşünülerek tasarlanmıştır; kişileri tanımlamaz, takip etmez ve kişisel bilgi toplamaz. Reklamsız.
‣ <b>Pilinizden ve Alanınızdan Tasarruf Edin</b>: Diğer navigasyon uygulamaları gibi pilinizi tüketmez. Kompakt haritalar telefonunuzda değerli alan tasarrufu sağlar.
‣ <b>Ücretsiz ve Topluluk Tarafından Oluşturuldu</b>: Sizin gibi insanlar, OpenStreetMap'e yerler ekleyerek, özellikleri test ederek ve geri bildirimde bulunarak ve geliştirme becerilerinizi ve paranızı katkıda bulunarak uygulamanın oluşturulmasına yardımcı oldunuz..
‣ <b>Açık ve Şeffaf Karar Alma ve Finansman, Kar Amacı Gütmeyen ve Tamamen Açık Kaynak.</b>
<b>Ana Özellikleri</b>:
• Google Haritalar'da bulunmayan yerleri içeren indirilebilir detaylı haritalar
• Vurgulanan yürüyüş parkurları, kamp alanları, su kaynakları, zirveler, kontur çizgileriyle açık hava modu gibi
• Yürüyüş yolları ve bisiklet yolları
• Restoranlar, benzin istasyonları, oteller, mağazalar, turistik yerler gibi ilgi çekici noktalar ve daha fazlası
• İsme veya adrese göre veya ilgi noktası kategorisine göre arama yapın
• Yürüyerek, bisikletle veya araçla seyahat edenler için sesli duyurularla navigasyon
• Favori yerlerinizi tek bir dokunuşla yer imlerine ekleyin
• Çevrim dışı Wikipedia makaleleri
• Metro geçiş katmanı ve yönleri
• Rota kaydı
• Yer imlerini ve parkurları KML, KMZ, GPX formatlarında dışa ve içe aktarın
• Geceleri kullanmak için karanlık mod
• Temel bir yerleşik düzenleyici kullanarak herkes için harita verilerini iyileştirin
• Android Auto desteği
Lütfen uygulama sorunlarını bildirin, fikir önerin ve <b><i>comaps.app</i></b> web sitesinde topluluğumuza katılın.
<b>Özgürlük Burada</b>
Yolculuğunuzu keşfedin, gizlilik ve topluluk ön planda tutularak dünyayı keşfedin!

View File

@@ -44,6 +44,7 @@ import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import androidx.lifecycle.ViewModelProvider;
import app.organicmaps.api.Const;
import app.organicmaps.backup.PeriodicBackupRunner;
import app.organicmaps.base.BaseMwmFragmentActivity;
import app.organicmaps.base.OnBackPressListener;
import app.organicmaps.bookmarks.BookmarkCategoriesActivity;
@@ -139,6 +140,7 @@ import static app.organicmaps.leftbutton.LeftButtonsHolder.BUTTON_HELP_CODE;
import static app.organicmaps.leftbutton.LeftButtonsHolder.BUTTON_RECORD_TRACK_CODE;
import static app.organicmaps.leftbutton.LeftButtonsHolder.BUTTON_SETTINGS_CODE;
import static app.organicmaps.util.PowerManagment.POWER_MANAGEMENT_TAG;
import static app.organicmaps.util.concurrency.UiThread.runLater;
public class MwmActivity extends BaseMwmFragmentActivity
implements PlacePageActivationListener,
@@ -253,6 +255,8 @@ public class MwmActivity extends BaseMwmFragmentActivity
@NonNull
private DisplayManager mDisplayManager;
private PeriodicBackupRunner backupRunner;
ManageRouteBottomSheet mManageRouteBottomSheet;
private boolean mRemoveDisplayListener = true;
@@ -607,6 +611,8 @@ public class MwmActivity extends BaseMwmFragmentActivity
*/
if (Map.isEngineCreated())
onRenderingInitializationFinished();
backupRunner = new PeriodicBackupRunner(this);
}
private void onSettingsResult(ActivityResult activityResult)
@@ -838,7 +844,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
@Override
public String getPrefsName()
{
return getString(R.string.help);
return getString(R.string.about_help);
}
@Override
@@ -1352,6 +1358,11 @@ public class MwmActivity extends BaseMwmFragmentActivity
final String backUrl = Framework.nativeGetParsedBackUrl();
if (!TextUtils.isEmpty(backUrl))
Utils.openUri(this, Uri.parse(backUrl), null);
if (backupRunner != null && !backupRunner.isAlreadyChecked() && backupRunner.isTimeToBackup())
{
backupRunner.doBackup();
}
}
@CallSuper
@@ -2584,20 +2595,28 @@ public class MwmActivity extends BaseMwmFragmentActivity
{
if (id.equals(MAIN_MENU_ID))
{
final String activeLeftButton = buttonsHolder.getActiveButtonCode();
ArrayList<MenuBottomSheetItem> items = new ArrayList<>();
items.add(new MenuBottomSheetItem(R.string.placepage_add_place_button, R.drawable.ic_plus, this::onAddPlaceOptionSelected));
items.add(new MenuBottomSheetItem(
R.string.download_maps,
R.drawable.ic_download,
getDownloadMapsCounter(),
this::onDownloadMapsOptionSelected
));
mDonatesUrl = Config.getDonateUrl(getApplicationContext());
if (!TextUtils.isEmpty(mDonatesUrl))
if (!BUTTON_ADD_PLACE_CODE.equals(activeLeftButton))
items.add(new MenuBottomSheetItem(R.string.placepage_add_place_button, R.drawable.ic_plus, this::onAddPlaceOptionSelected));
items.add(new MenuBottomSheetItem(R.string.download_maps, R.drawable.ic_download, getDownloadMapsCounter(), this::onDownloadMapsOptionSelected));
if (!Config.getDonateUrl(getApplicationContext()).isEmpty())
items.add(new MenuBottomSheetItem(R.string.donate, R.drawable.ic_donate, this::onDonateOptionSelected));
items.add(new MenuBottomSheetItem(R.string.settings, R.drawable.ic_settings, this::onSettingsOptionSelected));
items.add(new MenuBottomSheetItem(R.string.start_track_recording, R.drawable.ic_track_recording_off, -1, this::onTrackRecordingOptionSelected));
if (!BUTTON_SETTINGS_CODE.equals(activeLeftButton))
items.add(new MenuBottomSheetItem(R.string.settings, R.drawable.ic_settings, this::onSettingsOptionSelected));
if (!BUTTON_RECORD_TRACK_CODE.equals(activeLeftButton))
items.add(new MenuBottomSheetItem(R.string.start_track_recording, R.drawable.ic_track_recording_off, -1, this::onTrackRecordingOptionSelected));
items.add(new MenuBottomSheetItem(R.string.share_my_location, R.drawable.ic_share, this::onShareLocationOptionSelected));
if (!BUTTON_HELP_CODE.equals(activeLeftButton))
items.add(new MenuBottomSheetItem(R.string.about_help, R.drawable.ic_question_mark, this::showHelp));
return items;
}
return null;

View File

@@ -0,0 +1,114 @@
package app.organicmaps.backup;
import static app.organicmaps.settings.BackupSettingsFragment.MAX_BACKUPS_DEFAULT_COUNT;
import static app.organicmaps.settings.BackupSettingsFragment.MAX_BACKUPS_KEY;
import static app.organicmaps.util.StorageUtils.isFolderWritable;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.net.Uri;
import android.provider.DocumentsContract;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.TextUtils;
import android.text.style.AbsoluteSizeSpan;
import androidx.annotation.NonNull;
import androidx.documentfile.provider.DocumentFile;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import app.organicmaps.R;
import app.organicmaps.util.UiUtils;
import app.organicmaps.util.log.Logger;
public class BackupUtils
{
private static final String BACKUP_PREFIX = "backup_";
private static final String BACKUP_EXTENSION = ".kmz";
private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd_HH-mm-ss").withLocale(Locale.US);
private static final String TAG = BackupUtils.class.getSimpleName();
public static CharSequence formatReadableFolderPath(Context context, @NonNull Uri uri)
{
String docId = DocumentsContract.getTreeDocumentId(uri);
String volumeId;
String subPath = "";
int colonIndex = docId.indexOf(':');
if (colonIndex >= 0)
{
volumeId = docId.substring(0, colonIndex);
subPath = docId.substring(colonIndex + 1);
}
else
{
volumeId = docId;
}
String volumeName;
if ("primary".equalsIgnoreCase(volumeId))
volumeName = context.getString(R.string.maps_storage_shared);
else
volumeName = context.getString(R.string.maps_storage_removable);
SpannableStringBuilder sb = new SpannableStringBuilder();
sb.append(volumeName + ": \n", new AbsoluteSizeSpan(UiUtils.dimen(context, R.dimen.text_size_body_3)), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
sb.append("/" + subPath, new AbsoluteSizeSpan(UiUtils.dimen(context, R.dimen.text_size_body_4)), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
return sb;
}
public static int getMaxBackups(SharedPreferences prefs)
{
String rawValue = prefs.getString(MAX_BACKUPS_KEY, String.valueOf(MAX_BACKUPS_DEFAULT_COUNT));
try
{
return Integer.parseInt(rawValue);
} catch (NumberFormatException e)
{
Logger.e(TAG, "Failed to parse max backups count, raw value: " + rawValue + " set to default: " + MAX_BACKUPS_DEFAULT_COUNT, e);
prefs.edit()
.putString(MAX_BACKUPS_KEY, String.valueOf(MAX_BACKUPS_DEFAULT_COUNT))
.apply();
return MAX_BACKUPS_DEFAULT_COUNT;
}
}
public static DocumentFile createUniqueBackupFolder(@NonNull DocumentFile parentDir, LocalDateTime backupTime)
{
String folderName = BACKUP_PREFIX + backupTime.format(DATE_FORMATTER);
return parentDir.createDirectory(folderName);
}
public static String getBackupName(LocalDateTime backupTime)
{
String formattedBackupTime = backupTime.format(DATE_FORMATTER);
return BACKUP_PREFIX + formattedBackupTime + BACKUP_EXTENSION;
}
public static DocumentFile[] getBackupFolders(DocumentFile parentDir)
{
List<DocumentFile> backupFolders = new ArrayList<>();
for (DocumentFile file : parentDir.listFiles())
{
if (file.isDirectory() && file.getName() != null && file.getName().startsWith(BACKUP_PREFIX))
backupFolders.add(file);
}
return backupFolders.toArray(new DocumentFile[0]);
}
public static boolean isBackupFolderAvailable(Context context, String storedFolderPath)
{
return !TextUtils.isEmpty(storedFolderPath) && isFolderWritable(context, storedFolderPath);
}
}

View File

@@ -0,0 +1,189 @@
package app.organicmaps.backup;
import static app.organicmaps.backup.BackupUtils.getBackupName;
import static app.organicmaps.backup.BackupUtils.getBackupFolders;
import static app.organicmaps.util.StorageUtils.copyFileToDocumentFile;
import static app.organicmaps.util.StorageUtils.deleteDirectoryRecursive;
import android.app.Activity;
import android.net.Uri;
import androidx.annotation.NonNull;
import androidx.documentfile.provider.DocumentFile;
import java.io.File;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import app.organicmaps.bookmarks.data.BookmarkCategory;
import app.organicmaps.bookmarks.data.BookmarkManager;
import app.organicmaps.bookmarks.data.BookmarkSharingResult;
import app.organicmaps.bookmarks.data.KmlFileType;
import app.organicmaps.util.concurrency.ThreadPool;
import app.organicmaps.util.concurrency.UiThread;
import app.organicmaps.util.log.Logger;
public class LocalBackupManager implements BookmarkManager.BookmarksSharingListener
{
public static final String TAG = LocalBackupManager.class.getSimpleName();
private final Activity activity;
private final String backupFolderPath;
private final int maxBackups;
private Listener listener;
public LocalBackupManager(@NonNull Activity activity, @NonNull String backupFolderPath, int maxBackups)
{
this.activity = activity;
this.backupFolderPath = backupFolderPath;
this.maxBackups = maxBackups;
}
public void doBackup()
{
BookmarkManager.INSTANCE.addSharingListener(this);
prepareBookmarkCategoriesForSharing();
if (listener != null)
listener.onBackupStarted();
}
public void setListener(@NonNull Listener listener)
{
this.listener = listener;
}
@Override
public void onPreparedFileForSharing(@NonNull BookmarkSharingResult result)
{
BookmarkManager.INSTANCE.removeSharingListener(this);
ThreadPool.getWorker().execute(() -> {
ErrorCode errorCode = null;
switch (result.getCode())
{
case BookmarkSharingResult.SUCCESS ->
{
if (!saveBackup(result))
{
Logger.e(TAG, "Failed to save backup. See system log above");
errorCode = ErrorCode.FILE_ERROR;
}
else
{
Logger.i(TAG, "Backup was created and saved successfully");
}
}
case BookmarkSharingResult.EMPTY_CATEGORY ->
{
errorCode = ErrorCode.EMPTY_CATEGORY;
Logger.e(TAG, "Failed to create backup. Category is empty");
}
case BookmarkSharingResult.ARCHIVE_ERROR ->
{
errorCode = ErrorCode.ARCHIVE_ERROR;
Logger.e(TAG, "Failed to create archive of bookmarks");
}
case BookmarkSharingResult.FILE_ERROR ->
{
errorCode = ErrorCode.FILE_ERROR;
Logger.e(TAG, "Failed create file for archive");
}
default ->
{
errorCode = ErrorCode.UNSUPPORTED;
Logger.e(TAG, "Failed to create backup. Unknown error");
}
}
ErrorCode finalErrorCode = errorCode;
UiThread.run(() -> {
if (listener != null)
{
if (finalErrorCode == null)
listener.onBackupFinished();
else
listener.onBackupFailed(finalErrorCode);
}
});
});
}
private boolean saveBackup(@NonNull BookmarkSharingResult result)
{
boolean isSuccess = false;
Uri folderUri = Uri.parse(backupFolderPath);
try
{
DocumentFile parentFolder = DocumentFile.fromTreeUri(activity, folderUri);
if (parentFolder != null && parentFolder.canWrite())
{
LocalDateTime now = LocalDateTime.now();
DocumentFile backupFolder = BackupUtils.createUniqueBackupFolder(parentFolder, now);
if (backupFolder != null)
{
String backupName = getBackupName(now);
DocumentFile backupFile = backupFolder.createFile(result.getMimeType(), backupName);
if (backupFile != null && copyFileToDocumentFile(activity, new File(result.getSharingPath()), backupFile))
{
Logger.i(TAG, "Backup saved to " + backupFile.getUri());
isSuccess = true;
}
}
else
{
Logger.e(TAG, "Failed to create backup folder");
}
}
cleanOldBackups(parentFolder);
} catch (Exception e)
{
Logger.e(TAG, "Failed to save backup", e);
}
return isSuccess;
}
public void cleanOldBackups(DocumentFile parentDir)
{
DocumentFile[] backupFolders = getBackupFolders(parentDir);
if (backupFolders.length > maxBackups)
{
Arrays.sort(backupFolders, Comparator.comparing(DocumentFile::getName));
for (int i = 0; i < backupFolders.length - maxBackups; i++)
{
Logger.i(TAG, "Delete old backup " + backupFolders[i].getUri());
deleteDirectoryRecursive(backupFolders[i]);
}
}
}
private void prepareBookmarkCategoriesForSharing()
{
List<BookmarkCategory> categories = BookmarkManager.INSTANCE.getCategories();
long[] categoryIds = new long[categories.size()];
for (int i = 0; i < categories.size(); i++)
categoryIds[i] = categories.get(i).getId();
BookmarkManager.INSTANCE.prepareCategoriesForSharing(categoryIds, KmlFileType.Text);
}
public interface Listener
{
void onBackupStarted();
void onBackupFinished();
void onBackupFailed(ErrorCode errorCode);
}
public enum ErrorCode
{
EMPTY_CATEGORY,
ARCHIVE_ERROR,
FILE_ERROR,
UNSUPPORTED,
}
}

View File

@@ -0,0 +1,104 @@
package app.organicmaps.backup;
import static app.organicmaps.backup.BackupUtils.getMaxBackups;
import static app.organicmaps.backup.BackupUtils.isBackupFolderAvailable;
import static app.organicmaps.settings.BackupSettingsFragment.BACKUP_FOLDER_PATH_KEY;
import static app.organicmaps.settings.BackupSettingsFragment.BACKUP_INTERVAL_KEY;
import static app.organicmaps.settings.BackupSettingsFragment.LAST_BACKUP_TIME_KEY;
import static app.organicmaps.util.StorageUtils.isFolderWritable;
import android.app.Activity;
import android.content.SharedPreferences;
import androidx.preference.PreferenceManager;
import app.organicmaps.util.log.Logger;
public class PeriodicBackupRunner
{
private final Activity activity;
private static final String TAG = PeriodicBackupRunner.class.getSimpleName();
private final SharedPreferences prefs;
private boolean alreadyChecked = false;
public PeriodicBackupRunner(Activity activity)
{
this.activity = activity;
this.prefs = PreferenceManager.getDefaultSharedPreferences(activity);
}
public boolean isAlreadyChecked()
{
return alreadyChecked;
}
public boolean isTimeToBackup()
{
long intervalMs = getBackupIntervalMs();
if (intervalMs <= 0)
return false;
long lastBackupTime = prefs.getLong(LAST_BACKUP_TIME_KEY, 0);
long now = System.currentTimeMillis();
alreadyChecked = true;
return (now - lastBackupTime) >= intervalMs;
}
public void doBackup()
{
String storedFolderPath = prefs.getString(BACKUP_FOLDER_PATH_KEY, null);
if (isBackupFolderAvailable(activity, storedFolderPath))
{
Logger.i(TAG, "Performing periodic backup");
performBackup(storedFolderPath, getMaxBackups(prefs));
}
else
{
Logger.w(TAG, "Backup folder is not writable, passed path: " + storedFolderPath);
}
}
private long getBackupIntervalMs()
{
String defaultValue = "0";
try
{
return Long.parseLong(prefs.getString(BACKUP_INTERVAL_KEY, defaultValue));
} catch (NumberFormatException e)
{
return 0;
}
}
private void performBackup(String backupFolderPath, int maxBackups)
{
LocalBackupManager backupManager = new LocalBackupManager(activity, backupFolderPath, maxBackups);
backupManager.setListener(new LocalBackupManager.Listener()
{
@Override
public void onBackupStarted()
{
Logger.i(TAG, "Periodic backup started");
}
@Override
public void onBackupFinished()
{
prefs.edit().putLong(LAST_BACKUP_TIME_KEY, System.currentTimeMillis()).apply();
Logger.i(TAG, "Periodic backup finished");
}
@Override
public void onBackupFailed(LocalBackupManager.ErrorCode errorCode)
{
Logger.e(TAG, "Periodic backup was failed with code: " + errorCode);
}
});
backupManager.doBackup();
}
}

View File

@@ -1,7 +1,6 @@
package app.organicmaps.bookmarks;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.ContentResolver;
import android.content.Context;
@@ -21,6 +20,9 @@ import androidx.annotation.LayoutRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import app.organicmaps.MwmApplication;
import app.organicmaps.R;
import app.organicmaps.adapter.OnItemClickListener;
@@ -279,7 +281,7 @@ public class BookmarkCategoriesFragment extends BaseMwmRecyclerFragment<Bookmark
}
private void showNoFileManagerError() {
new AlertDialog.Builder(requireActivity())
new MaterialAlertDialogBuilder(requireActivity())
.setMessage(R.string.error_no_file_manager_app)
.setPositiveButton(android.R.string.ok, (dialog, which) -> dialog.dismiss())
.show();

View File

@@ -69,7 +69,8 @@ public class Metadata implements Parcelable
FMD_OUTDOOR_SEATING(48),
FMD_NETWORK(49),
FMD_CONTACT_FEDIVERSE(50),
FMD_CONTACT_BLUESKY(51);
FMD_CONTACT_BLUESKY(51),
FMD_PANORAMAX(52);
private final int mMetaType;
MetadataType(int metadataType)

View File

@@ -41,7 +41,7 @@ public class HelpScreen extends BaseMapScreen
{
final Header.Builder builder = new Header.Builder();
builder.setStartHeaderAction(Action.BACK);
builder.setTitle(getCarContext().getString(R.string.help));
builder.setTitle(getCarContext().getString(R.string.about_help));
return builder.build();
}

View File

@@ -109,7 +109,7 @@ public class SettingsScreen extends BaseMapScreen
private Item createHelpItem()
{
final Row.Builder builder = new Row.Builder();
builder.setTitle(getCarContext().getString(R.string.help));
builder.setTitle(getCarContext().getString(R.string.about_help));
builder.setOnClickListener(() -> getScreenManager().push(new HelpScreen(getCarContext(), getSurfaceRenderer())));
builder.setBrowsable(true);
return builder.build();

View File

@@ -11,7 +11,6 @@ import android.text.style.StyleSpan;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.LayoutRes;
import androidx.annotation.NonNull;
@@ -28,6 +27,7 @@ import app.organicmaps.util.UiUtils;
import app.organicmaps.util.bottomsheet.MenuBottomSheetFragment;
import app.organicmaps.util.bottomsheet.MenuBottomSheetItem;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.textview.MaterialTextView;
import java.util.ArrayList;
import java.util.Collection;
@@ -362,10 +362,10 @@ class DownloaderAdapter extends RecyclerView.Adapter<DownloaderAdapter.ViewHolde
private class ItemViewHolder extends BaseInnerViewHolder<CountryItem>
{
private final DownloaderStatusIcon mStatusIcon;
private final TextView mName;
private final TextView mSubtitle;
private final TextView mFoundName;
private final TextView mSize;
private final MaterialTextView mName;
private final MaterialTextView mSubtitle;
private final MaterialTextView mFoundName;
private final MaterialTextView mSize;
private void processClick(boolean clickOnStatus)
{
@@ -510,7 +510,7 @@ class DownloaderAdapter extends RecyclerView.Adapter<DownloaderAdapter.ViewHolde
static class HeaderViewHolder extends BaseInnerViewHolder<String>
{
@NonNull
private final TextView mTitle;
private final MaterialTextView mTitle;
HeaderViewHolder(@NonNull View frame)
{

View File

@@ -3,13 +3,14 @@ package app.organicmaps.downloader;
import static android.Manifest.permission.POST_NOTIFICATIONS;
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
import android.app.ForegroundServiceStartNotAllowedException;
import android.app.Service;
import android.content.Intent;
import android.content.pm.ServiceInfo;
import android.os.Build;
import android.os.IBinder;
import androidx.annotation.Nullable;
import androidx.core.app.ServiceCompat;
import androidx.core.content.ContextCompat;
import java.util.List;
@@ -40,19 +41,11 @@ public class DownloaderService extends Service implements MapManager.StorageCall
Logger.i(TAG, "Downloading: " + MapManager.nativeIsDownloading());
var notification = mNotifier.buildProgressNotification();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S)
{
try
{
startForeground(DownloaderNotifier.NOTIFICATION_ID, notification);
} catch (ForegroundServiceStartNotAllowedException e)
{
Logger.e(TAG, "Oops! ForegroundService is not allowed", e);
}
} else
{
startForeground(DownloaderNotifier.NOTIFICATION_ID, notification);
}
Logger.i(TAG, "Starting Downloader Foreground Service");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
ServiceCompat.startForeground(this, DownloaderNotifier.NOTIFICATION_ID, notification, ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC);
else
ServiceCompat.startForeground(this, DownloaderNotifier.NOTIFICATION_ID, notification, 0);
return START_NOT_STICKY;
}

View File

@@ -2,11 +2,12 @@ package app.organicmaps.downloader;
import android.util.SparseIntArray;
import android.view.View;
import android.widget.ImageView;
import androidx.annotation.AttrRes;
import androidx.annotation.DrawableRes;
import com.google.android.material.imageview.ShapeableImageView;
import app.organicmaps.R;
import app.organicmaps.widget.WheelProgressView;
import app.organicmaps.util.ThemeUtils;
@@ -15,7 +16,7 @@ import app.organicmaps.util.UiUtils;
public class DownloaderStatusIcon
{
private final View mFrame;
protected final ImageView mIcon;
protected final ShapeableImageView mIcon;
private final WheelProgressView mProgress;
private static final SparseIntArray sIconsCache = new SparseIntArray();

View File

@@ -43,7 +43,7 @@ public class CopyrightFragment extends BaseMwmFragment
{
if (!mDelegate.onBackPressed())
{
((HelpActivity) requireActivity()).stackFragment(HelpFragment.class, getString(R.string.help), null);
((HelpActivity) requireActivity()).stackFragment(HelpFragment.class, getString(R.string.about_help), null);
}
return true;

View File

@@ -43,15 +43,21 @@ public class LeftButtonsHolder
}
@Nullable
public LeftButton getActiveButton()
public String getActiveButtonCode()
{
String activeButtonCode = prefs.getString(leftButtonPreferenceKey, DEFAULT_BUTTON_CODE);
if (!TextUtils.isEmpty(activeButtonCode))
return availableButtons.get(activeButtonCode);
return activeButtonCode;
else
return null;
}
@Nullable
public LeftButton getActiveButton()
{
return availableButtons.get(getActiveButtonCode());
}
public Collection<LeftButton> getAllButtons()
{
return availableButtons.values();

View File

@@ -1,11 +1,11 @@
package app.organicmaps.location;
import android.app.ForegroundServiceStartNotAllowedException;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ServiceInfo;
import android.location.Location;
import android.os.Build;
import android.os.IBinder;
@@ -17,6 +17,7 @@ import androidx.core.app.ActivityCompat;
import androidx.core.app.NotificationChannelCompat;
import androidx.core.app.NotificationCompat;
import androidx.core.app.NotificationManagerCompat;
import androidx.core.app.ServiceCompat;
import androidx.core.content.ContextCompat;
import app.organicmaps.MwmActivity;
import app.organicmaps.MwmApplication;
@@ -158,21 +159,11 @@ public class TrackRecordingService extends Service implements LocationListener
return START_NOT_STICKY;
}
Logger.i(TAG, "Starting foreground service");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S)
{
try
{
startForeground(TrackRecordingService.TRACK_REC_NOTIFICATION_ID, getNotificationBuilder(this).build());
} catch (ForegroundServiceStartNotAllowedException e)
{
Logger.e(TAG, "Oops! ForegroundService is not allowed", e);
}
}
Logger.i(TAG, "Starting Track Recording Foreground service");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
ServiceCompat.startForeground(this, TrackRecordingService.TRACK_REC_NOTIFICATION_ID, getNotificationBuilder(this).build(), ServiceInfo.FOREGROUND_SERVICE_TYPE_LOCATION);
else
{
startForeground(TrackRecordingService.TRACK_REC_NOTIFICATION_ID, getNotificationBuilder(this).build());
}
ServiceCompat.startForeground(this, TrackRecordingService.TRACK_REC_NOTIFICATION_ID, getNotificationBuilder(this).build(), 0);
final LocationHelper locationHelper = LocationHelper.from(this);

View File

@@ -52,7 +52,7 @@ public class LayerBottomSheetItem
case SUBWAY:
disabledResource = R.attr.subwayMenuDisabled;
enabledResource = R.attr.subwayMenuEnabled;
buttonTextResource = R.string.button_layer_subway;
buttonTextResource = R.string.subway;
break;
case ISOLINES:
disabledResource = R.attr.isoLinesMenuDisabled;

View File

@@ -43,6 +43,7 @@ public class LayersAdapter extends RecyclerView.Adapter<LayerHolder>
boolean isEnabled = item.getMode().isEnabled(context);
holder.mButton.setSelected(isEnabled);
holder.mButton.setContentDescription(context.getString(item.getTitle()));
holder.mTitle.setSelected(isEnabled);
holder.mTitle.setText(item.getTitle());
boolean isNewLayer = SharedPropertiesUtils.shouldShowNewMarkerForLayerMode(context,

View File

@@ -213,11 +213,13 @@ public class MapButtonsController extends Fragment
)
{
leftButtonView.setImageResource(R.drawable.ic_christmas_tree);
leftButtonView.setContentDescription(getString(R.string.about_help));
leftButtonView.setOnClickListener((v) -> mMapButtonClickListener.onMapButtonClick(MapButtons.help));
}
else
{
mLeftButton.drawIcon(leftButtonView);
leftButtonView.setContentDescription(mLeftButton.getPrefsName());
leftButtonView.setOnClickListener((v) -> mLeftButton.onClick(leftButtonView));
}
// else

View File

@@ -266,7 +266,8 @@ public class NavigationController implements TrafficManager.TrafficCallback,
mSpeedLimit.setSpeedLimit(0, false);
return;
}
final boolean speedLimitExceeded = info.speedLimitMps < location.getSpeed();
mSpeedLimit.setSpeedLimit(StringUtils.nativeFormatSpeed(info.speedLimitMps), speedLimitExceeded);
final int fSpeedLimit = StringUtils.nativeFormatSpeed(info.speedLimitMps);
final boolean speedLimitExceeded = fSpeedLimit < StringUtils.nativeFormatSpeed(location.getSpeed());
mSpeedLimit.setSpeedLimit(fSpeedLimit, speedLimitExceeded);
}
}

View File

@@ -7,12 +7,12 @@ import static android.content.pm.PackageManager.PERMISSION_GRANTED;
import static app.organicmaps.util.Constants.Vendor.XIAOMI;
import android.annotation.SuppressLint;
import android.app.ForegroundServiceStartNotAllowedException;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ServiceInfo;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.location.Location;
@@ -27,6 +27,7 @@ import androidx.core.app.ActivityCompat;
import androidx.core.app.NotificationChannelCompat;
import androidx.core.app.NotificationCompat;
import androidx.core.app.NotificationManagerCompat;
import androidx.core.app.ServiceCompat;
import androidx.core.content.ContextCompat;
import app.organicmaps.Framework;
@@ -224,21 +225,11 @@ public class NavigationService extends Service implements LocationListener
return START_NOT_STICKY; // The service will be stopped by stopSelf().
}
Logger.i(TAG, "Starting foreground");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S)
{
try
{
startForeground(NavigationService.NOTIFICATION_ID, getNotificationBuilder(this).build());
} catch (ForegroundServiceStartNotAllowedException e)
{
Logger.e(TAG, "Oops! ForegroundService is not allowed", e);
}
}
Logger.i(TAG, "Starting Navigation Foreground service");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
ServiceCompat.startForeground(this, NavigationService.NOTIFICATION_ID, getNotificationBuilder(this).build(), ServiceInfo.FOREGROUND_SERVICE_TYPE_LOCATION);
else
{
startForeground(NavigationService.NOTIFICATION_ID, getNotificationBuilder(this).build());
}
ServiceCompat.startForeground(this, NavigationService.NOTIFICATION_ID, getNotificationBuilder(this).build(), 0);
final LocationHelper locationHelper = LocationHelper.from(this);

View File

@@ -28,6 +28,9 @@ import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.imageview.ShapeableImageView;
import com.google.android.material.textview.MaterialTextView;
import app.organicmaps.Framework;
import app.organicmaps.R;
import app.organicmaps.bookmarks.data.DistanceAndAzimut;
@@ -67,21 +70,21 @@ final class RoutingBottomMenuController implements View.OnClickListener
@NonNull
private final ImageView mAltitudeChart;
@NonNull
private final TextView mTime;
private final MaterialTextView mTime;
@NonNull
private final TextView mAltitudeDifference;
private final MaterialTextView mAltitudeDifference;
@NonNull
private final TextView mTimeVehicle;
@Nullable
private final TextView mArrival;
private final MaterialTextView mArrival;
@NonNull
private final View mActionFrame;
@NonNull
private final TextView mActionMessage;
private final MaterialTextView mActionMessage;
@NonNull
private final View mActionButton;
@NonNull
private final ImageView mActionIcon;
private final ShapeableImageView mActionIcon;
@NonNull
private final DotDividerItemDecoration mTransitViewDecorator;
@@ -98,10 +101,10 @@ final class RoutingBottomMenuController implements View.OnClickListener
TextView error = (TextView) getViewById(activity, frame, R.id.error);
Button start = (Button) getViewById(activity, frame, R.id.start);
ImageView altitudeChart = (ImageView) getViewById(activity, frame, R.id.altitude_chart);
TextView time = (TextView) getViewById(activity, frame, R.id.time);
MaterialTextView time = (MaterialTextView) getViewById(activity, frame, R.id.time);
TextView timeVehicle = (TextView) getViewById(activity, frame, R.id.time_vehicle);
TextView altitudeDifference = (TextView) getViewById(activity, frame, R.id.altitude_difference);
TextView arrival = (TextView) getViewById(activity, frame, R.id.arrival);
MaterialTextView altitudeDifference = (MaterialTextView) getViewById(activity, frame, R.id.altitude_difference);
MaterialTextView arrival = (MaterialTextView) getViewById(activity, frame, R.id.arrival);
View actionFrame = getViewById(activity, frame, R.id.routing_action_frame);
return new RoutingBottomMenuController(activity, altitudeChartFrame, timeElevationLine, transitFrame,
@@ -124,10 +127,10 @@ final class RoutingBottomMenuController implements View.OnClickListener
@NonNull TextView error,
@NonNull Button start,
@NonNull ImageView altitudeChart,
@NonNull TextView time,
@NonNull TextView altitudeDifference,
@NonNull MaterialTextView time,
@NonNull MaterialTextView altitudeDifference,
@NonNull TextView timeVehicle,
@Nullable TextView arrival,
@Nullable MaterialTextView arrival,
@NonNull View actionFrame,
@Nullable RoutingBottomMenuListener listener)
{
@@ -198,12 +201,12 @@ final class RoutingBottomMenuController implements View.OnClickListener
scrollToBottom(rv);
TextView totalTimeView = mTransitFrame.findViewById(R.id.total_time);
MaterialTextView totalTimeView = mTransitFrame.findViewById(R.id.total_time);
totalTimeView.setText(RoutingController.formatRoutingTime(mContext, info.getTotalTime(),
R.dimen.text_size_routing_number));
View dotView = mTransitFrame.findViewById(R.id.dot);
View pedestrianIcon = mTransitFrame.findViewById(R.id.pedestrian_icon);
TextView distanceView = mTransitFrame.findViewById(R.id.total_distance);
MaterialTextView distanceView = mTransitFrame.findViewById(R.id.total_distance);
UiUtils.showIf(info.getTotalPedestrianTimeInSec() > 0, dotView, pedestrianIcon, distanceView);
distanceView.setText(info.getTotalPedestrianDistance() + " " + info.getTotalPedestrianDistanceUnits());
}

View File

@@ -0,0 +1,384 @@
package app.organicmaps.settings;
import static app.organicmaps.backup.BackupUtils.formatReadableFolderPath;
import static app.organicmaps.backup.BackupUtils.getMaxBackups;
import static app.organicmaps.backup.BackupUtils.isBackupFolderAvailable;
import static app.organicmaps.util.StorageUtils.isFolderWritable;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.preference.ListPreference;
import androidx.preference.Preference;
import androidx.preference.PreferenceManager;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import java.text.DateFormat;
import app.organicmaps.R;
import app.organicmaps.backup.LocalBackupManager;
import app.organicmaps.util.log.Logger;
public class BackupSettingsFragment
extends BaseXmlSettingsFragment
{
private ActivityResultLauncher<Intent> folderPickerLauncher;
private static final String TAG = LocalBackupManager.class.getSimpleName();
public static final String BACKUP_FOLDER_PATH_KEY = "backup_location";
public static final String LAST_BACKUP_TIME_KEY = "last_backup_time";
private static final String BACKUP_NOW_KEY = "backup_now";
public static final String BACKUP_INTERVAL_KEY = "backup_history_interval";
public static final String MAX_BACKUPS_KEY = "backup_history_count";
public static final int MAX_BACKUPS_DEFAULT_COUNT = 10;
public static final String DEFAULT_BACKUP_INTERVAL = "86400000"; // 24 hours in ms
private LocalBackupManager mBackupManager;
private SharedPreferences prefs;
@Override
protected int getXmlResources()
{
return R.xml.prefs_backup;
}
@NonNull
@SuppressWarnings("NotNullFieldNotInitialized")
Preference backupLocationOption;
@NonNull
@SuppressWarnings("NotNullFieldNotInitialized")
ListPreference backupIntervalOption;
@NonNull
@SuppressWarnings("NotNullFieldNotInitialized")
Preference maxBackupsOption;
@NonNull
@SuppressWarnings("NotNullFieldNotInitialized")
Preference backupNowOption;
@NonNull
@SuppressWarnings("NotNullFieldNotInitialized")
Preference advancedCategory;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
folderPickerLauncher = registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(),
result -> {
boolean isSuccess = false;
String lastFolderPath = prefs.getString(BACKUP_FOLDER_PATH_KEY, null);
if (result.getResultCode() == Activity.RESULT_OK)
{
Intent data = result.getData();
Logger.i(TAG, "Folder selection result: " + data);
if (data == null)
return;
Uri uri = data.getData();
if (uri != null)
{
takePersistableUriPermission(uri);
Logger.i(TAG, "Backup location changed to " + uri);
prefs.edit().putString(BACKUP_FOLDER_PATH_KEY, uri.toString()).apply();
setFormattedBackupPath(uri);
runBackup();
isSuccess = true;
}
else
{
Logger.w(TAG, "Folder selection result is null");
}
}
else if (result.getResultCode() == Activity.RESULT_CANCELED)
{
Logger.w(TAG, "User canceled folder selection");
if (TextUtils.isEmpty(lastFolderPath))
{
prefs.edit().putString(BACKUP_FOLDER_PATH_KEY, null).apply();
Logger.i(TAG, "Backup settings reset");
initBackupLocationOption();
}
else if (isFolderWritable(requireActivity(), lastFolderPath))
{
Logger.i(TAG, "Backup location not changed, using previous value " + lastFolderPath);
isSuccess = true;
}
else
{
Logger.e(TAG, "Backup location not changed, but last folder is not writable: " + lastFolderPath);
}
}
resetLastBackupTime();
updateStatusSummaryOption();
Logger.i(TAG, "Folder selection result: " + isSuccess);
applyAdvancedSettings(isSuccess);
}
);
}
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey)
{
super.onCreatePreferences(savedInstanceState, rootKey);
prefs = PreferenceManager.getDefaultSharedPreferences(requireContext());
backupLocationOption = findPreference(BACKUP_FOLDER_PATH_KEY);
backupIntervalOption = findPreference(BACKUP_INTERVAL_KEY);
maxBackupsOption = findPreference(MAX_BACKUPS_KEY);
backupNowOption = findPreference(BACKUP_NOW_KEY);
initBackupLocationOption();
initBackupIntervalOption();
initMaxBackupsOption();
initBackupNowOption();
}
private void initBackupLocationOption()
{
String storedFolderPath = prefs.getString(BACKUP_FOLDER_PATH_KEY, null);
boolean isEnabled = false;
if (!TextUtils.isEmpty(storedFolderPath))
{
if (isFolderWritable(requireContext(), storedFolderPath))
{
setFormattedBackupPath(Uri.parse(storedFolderPath));
isEnabled = true;
}
else
{
Logger.e(TAG, "Backup location is not available, path: " + storedFolderPath);
showBackupErrorAlertDialog(requireContext().getString(R.string.dialog_report_error_missing_folder));
backupLocationOption.setSummary(requireContext().getString(R.string.pref_backup_now_summary_folder_unavailable));
}
}
else
{
backupLocationOption.setSummary(requireContext().getString(R.string.pref_backup_location_summary_initial));
}
applyAdvancedSettings(isEnabled);
backupLocationOption.setOnPreferenceClickListener(preference -> {
launchFolderPicker();
return true;
});
}
private void setFormattedBackupPath(@NonNull Uri uri)
{
backupLocationOption.setSummary(formatReadableFolderPath(requireContext(), uri));
}
private void initBackupIntervalOption()
{
String backupInterval = prefs.getString(BACKUP_INTERVAL_KEY, DEFAULT_BACKUP_INTERVAL);
CharSequence entry = getEntryForValue(backupIntervalOption, backupInterval);
if (entry != null)
backupIntervalOption.setSummary(entry);
backupIntervalOption.setOnPreferenceChangeListener((preference, newValue) -> {
CharSequence newEntry = getEntryForValue(backupIntervalOption, newValue.toString());
Logger.i(TAG, "auto backup interval changed to " + newEntry);
if (newEntry != null)
backupIntervalOption.setSummary(newEntry);
return true;
});
}
private void initMaxBackupsOption()
{
maxBackupsOption.setSummary(String.valueOf(getMaxBackups(prefs)));
maxBackupsOption.setOnPreferenceChangeListener((preference, newValue) -> {
maxBackupsOption.setSummary(newValue.toString());
return true;
});
}
private void initBackupNowOption()
{
updateStatusSummaryOption();
backupNowOption.setOnPreferenceClickListener(preference -> {
runBackup();
return true;
});
}
private void updateStatusSummaryOption()
{
long lastBackupTime = prefs.getLong(LAST_BACKUP_TIME_KEY, 0L);
String summary;
if (lastBackupTime > 0)
{
String time = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT).format(lastBackupTime);
summary = requireContext().getString(R.string.pref_backup_status_summary_success) + ": " + time;
}
else
{
summary = requireContext().getString(R.string.pref_backup_now_summary);
}
backupNowOption.setSummary(summary);
}
private void resetLastBackupTime()
{
prefs.edit().remove(LAST_BACKUP_TIME_KEY).apply();
}
private void applyAdvancedSettings(boolean isBackupEnabled)
{
backupIntervalOption.setVisible(isBackupEnabled);
maxBackupsOption.setVisible(isBackupEnabled);
backupNowOption.setVisible(isBackupEnabled);
}
private void runBackup()
{
String currentFolderPath = prefs.getString(BACKUP_FOLDER_PATH_KEY, null);
if (!TextUtils.isEmpty(currentFolderPath))
{
if (isFolderWritable(requireContext(), currentFolderPath))
{
mBackupManager = new LocalBackupManager(requireActivity(), currentFolderPath, getMaxBackups(prefs));
mBackupManager.setListener(new LocalBackupManager.Listener()
{
@Override
public void onBackupStarted()
{
Logger.i(TAG, "Manual backup started");
backupNowOption.setEnabled(false);
backupNowOption.setSummary(R.string.pref_backup_now_summary_progress);
}
@Override
public void onBackupFinished()
{
Logger.i(TAG, "Manual backup successful");
backupNowOption.setEnabled(true);
backupNowOption.setSummary(R.string.pref_backup_now_summary_ok);
prefs.edit().putLong(LAST_BACKUP_TIME_KEY, System.currentTimeMillis()).apply();
}
@Override
public void onBackupFailed(LocalBackupManager.ErrorCode errorCode)
{
String errorMessage = switch (errorCode)
{
case EMPTY_CATEGORY -> requireContext().getString(R.string.pref_backup_now_summary_empty_lists);
default -> requireContext().getString(R.string.pref_backup_now_summary_failed);
};
Logger.e(TAG, "Manual backup was failed with code: " + errorCode);
backupNowOption.setEnabled(true);
backupNowOption.setSummary(errorMessage);
showBackupErrorAlertDialog(requireContext().getString(R.string.dialog_report_error_with_logs));
}
});
mBackupManager.doBackup();
}
else
{
backupNowOption.setSummary(R.string.pref_backup_now_summary_folder_unavailable);
showBackupErrorAlertDialog(requireContext().getString(R.string.dialog_report_error_missing_folder));
Logger.e(TAG, "Manual backup error: folder " + currentFolderPath + " unavailable");
}
}
else
{
backupNowOption.setSummary(R.string.pref_backup_now_summary_folder_unavailable);
Logger.e(TAG, "Manual backup error: no folder selected");
}
}
private void launchFolderPicker()
{
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
intent.addFlags(Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
intent.putExtra("android.content.extra.SHOW_ADVANCED", true);
PackageManager packageManager = requireActivity().getPackageManager();
if (intent.resolveActivity(packageManager) != null)
folderPickerLauncher.launch(intent);
else
showNoFileManagerError();
}
private void showNoFileManagerError()
{
new MaterialAlertDialogBuilder(requireActivity())
.setMessage(R.string.error_no_file_manager_app)
.setPositiveButton(android.R.string.ok, (dialog, which) -> dialog.dismiss())
.show();
}
private void showBackupErrorAlertDialog(String message)
{
requireActivity().runOnUiThread(() -> {
new MaterialAlertDialogBuilder(requireActivity())
.setTitle(R.string.pref_backup_now_summary_failed)
.setMessage(message)
.setPositiveButton(android.R.string.ok, (dialog, which) -> dialog.dismiss())
.show();
});
}
private void takePersistableUriPermission(Uri uri)
{
requireContext().getContentResolver().takePersistableUriPermission(
uri,
Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION
);
}
@Nullable
public static CharSequence getEntryForValue(@NonNull ListPreference listPref, @NonNull CharSequence value)
{
CharSequence[] entryValues = listPref.getEntryValues();
CharSequence[] entries = listPref.getEntries();
if (entryValues == null || entries == null)
return null;
for (int i = 0; i < entryValues.length; i++)
{
if (entryValues[i].equals(value))
return entries[i];
}
return null;
}
}

View File

@@ -184,15 +184,15 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment implements La
{
getSettingsActivity().stackFragment(VoiceInstructionsSettingsFragment.class, getString(R.string.pref_tts_enable_title), null);
}
else if (key.equals(getString(R.string.pref_help)))
{
startActivity(new Intent(requireActivity(), HelpActivity.class));
}
else if (key.equals(getString(R.string.pref_map_locale)))
{
LanguagesFragment langFragment = (LanguagesFragment)getSettingsActivity().stackFragment(LanguagesFragment.class, getString(R.string.change_map_locale), null);
langFragment.setListener(this);
}
else if (key.equals(getString(R.string.pref_backup)))
{
getSettingsActivity().stackFragment(BackupSettingsFragment.class, getString(R.string.pref_backup_title), null);
}
}
return super.onPreferenceTreeClick(preference);
}

View File

@@ -1,5 +1,6 @@
package app.organicmaps.util;
import android.app.Activity;
import android.content.ContentResolver;
import android.content.Context;
import android.content.pm.PackageManager;
@@ -10,10 +11,13 @@ import android.provider.DocumentsContract;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.FileProvider;
import androidx.documentfile.provider.DocumentFile;
import app.organicmaps.BuildConfig;
import app.organicmaps.util.log.Logger;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.io.IOException;
@@ -323,4 +327,76 @@ public class StorageUtils
}
}
}
public static boolean copyFileToDocumentFile(
@NonNull Activity activity,
@NonNull File sourceFile,
@NonNull DocumentFile targetFile
)
{
try (
InputStream in = new FileInputStream(sourceFile);
OutputStream out = activity.getContentResolver().openOutputStream(targetFile.getUri())
)
{
if (out == null)
{
Logger.e(TAG, "Failed to open output stream for " + targetFile.getUri());
return false;
}
byte[] buffer = new byte[8192];
int length;
while ((length = in.read(buffer)) > 0)
out.write(buffer, 0, length);
out.flush();
return true;
} catch (IOException e)
{
Logger.e(TAG, "Failed to copy file from " + sourceFile.getAbsolutePath() + " to " + targetFile.getUri(), e);
return false;
}
}
public static void deleteDirectoryRecursive(@NonNull DocumentFile dir)
{
try
{
for (DocumentFile file : dir.listFiles())
{
if (file.isDirectory())
deleteDirectoryRecursive(file);
else
file.delete();
}
dir.delete();
} catch (Exception e)
{
Logger.e(TAG, "Failed to delete directory: " + dir.getUri(), e);
}
}
public static boolean isFolderWritable(Context context, String folderPath)
{
try
{
Uri folderUri = Uri.parse(folderPath);
DocumentFile folder = DocumentFile.fromTreeUri(context, folderUri);
if (folder != null && folder.canWrite())
{
DocumentFile tempFile = folder.createFile("application/octet-stream", "temp_file");
if (tempFile != null)
{
tempFile.delete();
return true;
}
}
} catch (Exception e)
{
Logger.e(TAG, "Failed to check if folder is writable: " + folderPath, e);
}
return false;
}
}

View File

@@ -113,6 +113,7 @@ public final class PlacePageButtons extends Fragment implements Observer<List<Pl
TextView title = parent.findViewById(R.id.title);
title.setText(current.getTitle());
parent.setContentDescription(getString(current.getTitle()));
@AttrRes final int tint = current.getType() == ButtonType.BOOKMARK_DELETE
? R.attr.iconTintActive
: R.attr.iconTint;

View File

@@ -56,6 +56,9 @@ public class PlacePageLinksFragment extends Fragment implements Observer<MapObje
private View mWikimedia;
private TextView mTvWikimedia;
private View mPanoramax;
private TextView mTvPanoramax;
private PlacePageViewModel mViewModel;
private MapObject mMapObject;
@@ -163,6 +166,11 @@ public class PlacePageLinksFragment extends Fragment implements Observer<MapObje
mTvLinePage = mFrame.findViewById(R.id.tv__place_line_page);
mLinePage.setOnClickListener((v) -> openUrl(Metadata.MetadataType.FMD_CONTACT_LINE));
mLinePage.setOnLongClickListener((v) -> copyUrl(mLinePage, Metadata.MetadataType.FMD_CONTACT_LINE));
mPanoramax = mFrame.findViewById(R.id.ll__place_panoramax);
mTvPanoramax = mFrame.findViewById(R.id.tv__place_panoramax);
mPanoramax.setOnClickListener((v) -> openUrl(Metadata.MetadataType.FMD_PANORAMAX));
mTvPanoramax.setOnLongClickListener((v) -> copyUrl(mPanoramax, Metadata.MetadataType.FMD_PANORAMAX));
}
private void openUrl(Metadata.MetadataType type)
@@ -226,6 +234,9 @@ public class PlacePageLinksFragment extends Fragment implements Observer<MapObje
final String line = mMapObject.getMetadata(Metadata.MetadataType.FMD_CONTACT_LINE);
refreshMetadataOrHide(line, mLinePage, mTvLinePage);
final String panoramax = mMapObject.getMetadata(Metadata.MetadataType.FMD_PANORAMAX);
refreshMetadataOrHide(panoramax, mPanoramax, mTvPanoramax);
}
@Override

File diff suppressed because one or more lines are too long

View File

@@ -23,7 +23,7 @@
android:orientation="vertical"
android:layout_marginEnd="@dimen/margin_base"
android:layout_gravity="center_vertical" >
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -33,7 +33,7 @@
tools:text="5 h 55 min • 1555km"
tools:visibility="visible" />
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/altitude_difference"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@@ -6,14 +6,14 @@
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/time"
android:singleLine="true"
android:ellipsize="end"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="5 h 55 min • 1555km"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/altitude_difference"
android:layout_width="wrap_content"
android:layout_height="@dimen/altitude_chart_time_distance_height"

View File

@@ -23,7 +23,7 @@
android:orientation="vertical"
android:layout_marginEnd="@dimen/margin_base"
android:layout_gravity="center_vertical" >
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -33,7 +33,7 @@
tools:text="5 h 55 min • 1555km"
tools:visibility="visible" />
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/altitude_difference"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -64,7 +64,7 @@
tools:text="5 h 55 min • 1555km"
tools:visibility="visible" />
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/arrival"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@@ -5,7 +5,7 @@
android:id="@+id/numbers"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -13,7 +13,7 @@
android:ellipsize="end"
android:layout_marginBottom="4dp"
tools:text="5 h 55 min • 1555km"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/arrival"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -23,7 +23,7 @@
tools:text="Arrival 13:03"
style="@style/MwmWidget.TextView.PlanDetail.Number.Secondary"
android:textSize="@dimen/text_size_routing_plan_detail_arrival"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/altitude_difference"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@@ -8,7 +8,7 @@
<include
layout="@layout/toolbar_extended"/>
<androidx.cardview.widget.CardView
<com.google.android.material.card.MaterialCardView
android:layout_width="@dimen/settings_width"
android:layout_height="match_parent"
android:layout_marginTop="?actionBarSize"
@@ -18,6 +18,6 @@
style="@style/MwmWidget.FrameLayout.Elevation"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</androidx.cardview.widget.CardView>
</com.google.android.material.card.MaterialCardView>
</FrameLayout>

View File

@@ -21,7 +21,7 @@
android:orientation="horizontal"
android:layout_marginTop="@dimen/margin_half"
android:layout_marginBottom="@dimen/margin_half">
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/time"
android:layout_width="0dp"
android:layout_height="wrap_content"
@@ -31,7 +31,7 @@
tools:text="5 h 55 min • 1555km"
tools:visibility="visible" />
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/altitude_difference"
android:layout_width="wrap_content"
android:layout_height="@dimen/altitude_chart_time_distance_height"

View File

@@ -18,7 +18,7 @@
android:layout_marginEnd="@dimen/margin_base"
android:layout_centerVertical="true"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/size"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -37,7 +37,7 @@
android:layout_centerVertical="true"
android:layout_toEndOf="@id/downloader_status_frame"
android:layout_toStartOf="@id/size">
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/found_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -46,7 +46,7 @@
tools:text="Крымск"
tools:background="#60FF00FF"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -54,7 +54,7 @@
tools:text="Донецкая область"
tools:background="#40FF0000"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/subtitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@@ -5,7 +5,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:background="#400000FF">
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@@ -15,7 +15,7 @@
wheel:wheelSecondaryColor="?dividerHorizontal"
wheel:wheelThickness="@dimen/margin_eighth"/>
<ImageView
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/downloader_status"
android:layout_width="match_parent"
android:layout_height="match_parent"

View File

@@ -22,6 +22,8 @@
android:layout_height="wrap_content"
android:textColorHint="?android:textColorSecondary"
app:endIconMode="custom"
app:endIconCheckable="false"
app:endIconContentDescription="@string/clear"
app:endIconDrawable="@drawable/ic_clear_rounded"
app:endIconTint="?android:textColorSecondary">
<com.google.android.material.textfield.TextInputEditText
@@ -79,6 +81,7 @@
android:layout_alignParentEnd="true"
android:layout_alignEnd="@id/divideerrr"
android:background="?clickableBackground"
android:contentDescription="@string/bookmark_color"
android:padding="@dimen/margin_half"
tools:src="@drawable/ic_bookmark_none" />
</RelativeLayout>

View File

@@ -218,7 +218,7 @@
android:layout_height="wrap_content"
android:textAppearance="?android:textAppearance"
android:text="@string/elevation_profile_time" />
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@@ -4,7 +4,6 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/help_button"
style="@style/MwmWidget.MapButton.Square"
android:contentDescription="@string/help"
android:tint="@null"
app:shapeAppearanceOverlay="@style/MwmWidget.MapButton.Square"
app:srcCompat="@drawable/ic_question_mark" />

View File

@@ -21,4 +21,5 @@
<include layout="@layout/place_page_line" />
<include layout="@layout/place_page_bluesky" />
<include layout="@layout/place_page_wikimedia" />
<include layout="@layout/place_page_panoramax" />
</LinearLayout>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/ll__place_panoramax"
style="@style/PlacePageItemFrame"
android:tag="website"
tools:background="#20FF0000"
tools:visibility="visible">
<ImageView
android:id="@+id/iv__place_panoramax"
style="@style/PlacePageMetadataIcon"
app:srcCompat="@drawable/ic_panoramax"
app:tint="?colorAccent"/>
<TextView
android:id="@+id/tv__place_panoramax"
android:textAlignment="viewStart"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="@style/MwmTextAppearance.PlacePage.Accent"
tools:text="@string/panoramax"/>
</LinearLayout>

View File

@@ -15,14 +15,14 @@
android:layout_height="match_parent"
android:gravity="center_vertical"
android:background="?clickableBackground">
<ImageView
<com.google.android.material.imageview.ShapeableImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/ic_search"
app:tint="?colorAccent"
android:layout_marginStart="@dimen/margin_base"
android:layout_marginEnd="@dimen/margin_base"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tv__message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -49,7 +49,7 @@
android:layout_marginBottom="@dimen/margin_half"
android:layout_marginTop="@dimen/margin_half"
android:background="?dividerHorizontal"/>
<ImageView
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/iv__icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@@ -10,7 +10,7 @@
android:paddingEnd="@dimen/margin_base"
android:paddingBottom="@dimen/margin_half"
android:paddingTop="@dimen/margin_half_plus">
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/total_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -18,7 +18,7 @@
app:layout_constraintTop_toTopOf="parent"
style="@style/MwmWidget.TextView.PlanDetail.Number.Time"
tools:text="40 min"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/dot"
style="@style/MwmWidget.TextView.PlanDetail.Number.Secondary"
android:layout_marginStart="@dimen/margin_quarter_plus"
@@ -28,7 +28,7 @@
app:layout_constraintStart_toEndOf="@id/total_time"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText"/>
<ImageView
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/pedestrian_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -37,7 +37,7 @@
app:layout_constraintBottom_toBottomOf="@id/total_time"
app:layout_constraintStart_toEndOf="@id/dot"
app:tint="?iconTint"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/total_distance"
style="@style/MwmWidget.TextView.PlanDetail.Number.Secondary"
android:layout_width="wrap_content"

View File

@@ -6,7 +6,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/altitude_chart_time_distance_margin_bottom">
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/altitude_difference"
android:layout_width="wrap_content"
android:layout_height="@dimen/altitude_chart_time_distance_height"
@@ -19,7 +19,7 @@
android:visibility="gone"
tools:text="43 m"
tools:visibility="visible"/>
<TextView
<com.google.android.material.textview.MaterialTextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:maxLines="2"

View File

@@ -38,6 +38,7 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:contentDescription="@string/route_type"
android:orientation="horizontal">
<app.organicmaps.widget.RoutingToolbarButton
@@ -45,6 +46,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/routing_selector_wheel_margin"
android:contentDescription="@string/vehicle"
tools:button="@drawable/ic_car"
tools:buttonTint="?colorAccent" />
@@ -54,6 +56,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginEnd="12dp"
android:contentDescription="@string/pedestrian"
tools:button="@drawable/ic_pedestrian"
tools:buttonTint="?iconTintLight" />
@@ -62,6 +65,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/margin_half_plus"
android:contentDescription="@string/subway"
tools:button="@drawable/ic_transit"
tools:buttonTint="?iconTintLight" />
@@ -70,6 +74,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="12dp"
android:contentDescription="@string/bicycle"
tools:button="@drawable/ic_bike"
tools:buttonTint="?iconTintLight" />
@@ -78,6 +83,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="12dp"
android:contentDescription="@string/ruler"
tools:button="@drawable/ic_ruler_route"
tools:buttonTint="?iconTintLight" />
</RadioGroup>

View File

@@ -493,7 +493,7 @@
<!-- Title for OSM note section in the editor -->
<string name="editor_other_info">Nota aan OpenStreetMap-vrywilligers (opsioneel)</string>
<!-- Hint of the input field in the OSM note section of the editor -->
<string name="editor_note_hint">Beskryf foute in die kaart of wat nie met Organiese Kaarte geredigeer kan word nie</string>
<string name="editor_note_hint">Beskryf foute in die kaart of wat nie met CoMaps geredigeer kan word nie</string>
<!-- Information about OSM at the top of the editing page -->
<string name="editor_about_osm">Jou wysigings word opgelaai na die publieke <a href="https://wiki.openstreetmap.org/wiki/About_OpenStreetMap">OpenStreetMap</a>-databasis. Moet asseblief nie persoonlike of kopiereginligting byvoeg nie.</string>
<string name="editor_more_about_osm">Meer oor OpenStreetMap</string>
@@ -503,7 +503,7 @@
<!-- To indicate the operator of ATMs, bicycle rentals, electric vehicle charging stations... -->
<string name="operator">Operateur: %s</string>
<string name="editor_category_unsuitable_title">Kan u nie \'n geskikte kategorie vind nie?</string>
<string name="editor_category_unsuitable_text">Organiese kaarte laat toe om slegs eenvoudige puntkategorieë by te voeg, dit beteken geen dorpe, paaie, mere, gebouomlynings, ens. Voeg asseblief sulke kategorieë direk by <a href="https://www.openstreetmap.org">OpenStreetMap.org</a>. Gaan ons <a href="https://www.comaps.app/support/advanced-map-editing/">gids</a> na vir gedetailleerde stap-vir-stap-instruksies.</string>
<string name="editor_category_unsuitable_text">CoMaps laat toe om slegs eenvoudige puntkategorieë by te voeg, dit beteken geen dorpe, paaie, mere, gebouomlynings, ens. Voeg asseblief sulke kategorieë direk by <a href="https://www.openstreetmap.org">OpenStreetMap.org</a>. Gaan ons <a href="https://www.comaps.app/support/advanced-map-editing/">gids</a> na vir gedetailleerde stap-vir-stap-instruksies.</string>
<string name="downloader_no_downloaded_maps_title">U het geen kaarte afgelaai nie</string>
<string name="downloader_no_downloaded_maps_message">Laai kaarte af om die ligging te soek en vanlyn te navigeer.</string>
<string name="current_location_unknown_error_title">Huidige ligging is onbekend.</string>
@@ -546,7 +546,7 @@
<string name="editor_share_to_all_dialog_title">Wil u dit na alle gebruikers stuur?</string>
<!-- Dialog before publishing the modifications to the public map. -->
<string name="editor_share_to_all_dialog_message_1">Maak seker u het geen privaat of persoonlike data ingevoer nie.</string>
<string name="editor_share_to_all_dialog_message_2">OpenStraatMap-redigeerders sal die verandeirnge nagaan en u kontak indien hulle vrae het.</string>
<string name="editor_share_to_all_dialog_message_2">OpenStreetMap-redigeerders sal die verandeirnge nagaan en u kontak indien hulle vrae het.</string>
<!-- Shown as toast when starting the recent track recording -->
<string name="track_recording">Opname van die spoor</string>
<!-- For the first routing -->
@@ -616,7 +616,7 @@
<string name="privacy_policy">Privaatheidsbeleid</string>
<string name="terms_of_use">Gebruiksvoorwaardes</string>
<string name="button_layer_traffic">Verkeer</string>
<string name="button_layer_subway">Moltrein</string>
<string name="subway">Moltrein</string>
<string name="layers_title">Kaartstyle en -lae</string>
<string name="subway_data_unavailable">Moltreinkaart is onbeskikbaar</string>
<string name="bookmarks_empty_list_title">Hierdie lys is leeg</string>
@@ -797,4 +797,10 @@
<string name="uri_open_location_failed">Geen toepassing geïnstalleer wat die ligging kan oopmaak nie</string>
<!-- preference string for using auto theme only in navigation mode -->
<string name="nav_auto">Outo in navigasie</string>
<string name="telegram_url">https://t.me/CoMapsApp/</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/About_OpenStreetMap</string>
<string name="comma_separated_pair">%1$s, %2$s</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android/</string>
<string name="translated_om_site_url">https://comaps.app/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
</resources>

View File

@@ -503,7 +503,7 @@
<!-- Text in About and OSM Login screens. First %@ is replaced by a local, human readable date. -->
<string name="osm_presentation">بيانات OpenStreetMap التي أنشأها المجتمع اعتبارًا من %s. تعرف على المزيد حول كيفية تعديل الخريطة وتحديثها على OpenStreetMap.org</string>
<!-- OSM explanation on Android login screen -->
<string name="login_osm_presentation">OpenStreetMap.org (OSM) هو مشروع مجتمعي لبناء خريطة مجانية ومفتوحة. إنه المصدر الرئيسي لبيانات الخرائط في الخرائط العضوية ويعمل على غرار ويكيبيديا. يمكنك إضافة الأماكن أو تعديلها وتصبح متاحة لملايين المستخدمين في جميع أنحاء العالم. نضم إلى المجتمع وساعد في إنشاء خريطة أفضل للجميع!</string>
<string name="login_osm_presentation">OpenStreetMap.org (OSM) هو مشروع مجتمعي لبناء خريطة مجانية ومفتوحة. إنه المصدر الرئيسي لبيانات الخرائط في CoMaps ويعمل على غرار ويكيبيديا. يمكنك إضافة الأماكن أو تعديلها وتصبح متاحة لملايين المستخدمين في جميع أنحاء العالم.\nنضم إلى المجتمع وساعد في إنشاء خريطة أفضل للجميع!</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>
@@ -519,7 +519,7 @@
<!-- Title for OSM note section in the editor -->
<string name="editor_other_info">ملاحظة لمتطوعي OpenStreetMap (اختياري)</string>
<!-- Hint of the input field in the OSM note section of the editor -->
<string name="editor_note_hint">وصف الأخطاء على الخريطة أو الأشياء التي لا يمكن تحريرها باستخدام الخرائط العضوية</string>
<string name="editor_note_hint">وصف الأخطاء على الخريطة أو الأشياء التي لا يمكن تحريرها باستخدام CoMaps</string>
<!-- Information about OSM at the top of the editing page -->
<string name="editor_about_osm">يتم تحميل تعديلاتك على قاعدة البيانات العامة <a href="https://wiki.openstreetmap.org/wiki/Ar:About_OpenStreetMap">OpenStreetMap</a>. يرجى عدم إضافة معلومات شخصية أو محمية بحقوق الطبع والنشر.</string>
<string name="editor_more_about_osm">المزيد عن خريطة الشارع المفتوحة</string>
@@ -598,7 +598,7 @@
<!-- Settings: "Send general feedback" button -->
<string name="feedback_general">تعقيب عام</string>
<string name="prefs_languages_information">نحن نستخدم نظام تحويل النص إلى كلام (TTS) للتعليمات الصوتية. تستخدم العديد من أجهزة أندرويد نظام Google TTS، يمكنك تنزيله من أو تحديثه من متجر Play (https://play.google.com/store/apps/details?id=com.google.android.tts)</string>
<string name="prefs_languages_information_off">بالنسبة لبعض اللغات، ستحتاج إلى تنزيل تطبيق تحويل النص إلى كلام أو حزمة لغات إضافية من متجر التطبيقات(متجر Play، Galaxy Store، App Gallery، FDroid(. \nافتح إعدادات جهازك ثم اللغة والإدخال ثم تحويل النص إلى كلام. \nهنا يمكنك إدارة الإعدادات لأنظمة تحويل النص إلى كلا(على سبيل المثال، تنزيل حزمة اللغة للاستجدام دون اتصال انترنيت)</string>
<string name="prefs_languages_information_off">بالنسبة لبعض اللغات، ستحتاج إلى تنزيل تطبيق تحويل النص إلى كلام أو حزمة لغات إضافية من متجر التطبيقات (متجر Play، متجر Galaxy، معرض التطبيقات، FDroid).\nافتح إعدادات جهازك، ثم اللغة والإدخال، ثم تحويل النص إلى كلام.\nهنا يمكنك إدارة إعدادات نظامي تحويل النص إلى كلام (على سبيل المثال، تنزيل حزمة لغات للاستخدام دون اتصال بالإنترنت).</string>
<string name="prefs_languages_information_off_link">لمزيد من المعلومات الرجاء مراجعة هذا الدليل.</string>
<string name="transliteration_title">كتابة جميع الاسماء بالحروف اللاتينية بشكل حرفي</string>
<string name="learn_more">معرفة المزيد</string>
@@ -667,7 +667,7 @@
<string name="privacy_policy">سياسة الخصوصية</string>
<string name="terms_of_use">شروط الاستخدام</string>
<string name="button_layer_traffic">حركة مرور</string>
<string name="button_layer_subway">مترو الانفاق</string>
<string name="subway">مترو الانفاق</string>
<string name="layers_title">أنماط الخريطة وطبقاتها</string>
<string name="subway_data_unavailable">خريطة مترو الانفاق غير متوفرة</string>
<string name="bookmarks_empty_list_title">هذه اللائحة فارغة</string>
@@ -821,9 +821,9 @@
<!-- App tip #09 -->
<string name="app_tip_09">هدفنا الرئيسي هو إنشاء خرائط سريعة وسهلة الاستخدام تركز على الخصوصية والتي ستعجبك.</string>
<!-- Text on the Android Auto or CarPlay placeholder screen that maps are displayed on the phone screen -->
<string name="car_used_on_the_phone_screen">أنت الآن تستخدم الخرائط العضوية على شاشة الهاتف</string>
<string name="car_used_on_the_phone_screen">أنت الآن تستخدم CoMaps على شاشة الهاتف</string>
<!-- Text on the phone placeholder screen that maps are displayed on the car screen -->
<string name="car_used_on_the_car_screen">أنت الآن تستخدم الخرائط العضوية على شاشة السيارة</string>
<string name="car_used_on_the_car_screen">أنت الآن تستخدم CoMaps على شاشة السيارة</string>
<!-- Displayed on the phone screen. Android Auto connected -->
<string name="aa_connected_title">أنت متصل بـ Android Auto</string>
<!-- Displayed on the phone screen. Button to display maps on the phone screen instead of a car -->
@@ -831,11 +831,11 @@
<!-- Displayed on the Android Auto or CarPlay screen. Button to display maps on the car screen instead of a phone. Must be no more than 18 symbols! -->
<string name="car_continue_in_the_car">إلى شاشة السيارة</string>
<!-- Ask user to grant location permissions -->
<string name="aa_location_permissions_request">تحتاج الخرائط العضوية إلى الوصول إلى الموقع. عندما يكون الوضع آمنًا، تحقق من الإشعارات الموجودة على هاتفك.</string>
<string name="aa_location_permissions_request">تحتاج CoMaps ة إلى الوصول إلى الموقع. عندما يكون الوضع آمنًا، تحقق من الإشعارات الموجودة على هاتفك.</string>
<!-- Notification title for permission request from AA. -->
<string name="aa_request_permission_notification">هذا التطبيق يحتاج إلى إذنك</string>
<!-- The text in the activity for location permission request. -->
<string name="aa_request_permission_activity_text">تحتاج الخرائط العضوية في Android Auto إلى إذن تحديد الموقع للعمل بفعالية</string>
<string name="aa_request_permission_activity_text">تحتاج CoMaps في Android Auto إلى إذن تحديد الموقع للعمل بفعالية</string>
<!-- Grant Permissions button. -->
<string name="aa_grant_permissions">أذونات المنح</string>
<!-- Outdoors/hiking map style (activity) name in the Styles and Layers dialog -->
@@ -886,4 +886,9 @@
<string name="uri_open_location_failed">لم يتم تثبيت أي تطبيق يمكنه فتح الموقع</string>
<!-- preference string for using auto theme only in navigation mode -->
<string name="nav_auto">تلقائي في التنقل</string>
<string name="translated_om_site_url">https://comaps.app/ar</string>
<string name="telegram_url">https://t.me/CoMapsApp</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
<string name="wikimedia_commons">ويكيميديا كومنز</string>
</resources>

View File

@@ -86,7 +86,7 @@
<string name="privacy">Privacidá</string>
<string name="layers_title">Estilos y capes del mapa</string>
<string name="subway_data_unavailable">El mapa del metro nun ta disponible</string>
<string name="button_layer_subway">Metro</string>
<string name="subway">Metro</string>
<string name="delete_list">Desaniciar llista</string>
<string name="public_access">Accesu públicu</string>
<string name="bookmarks_empty_list_title">Esta llista ta balera</string>
@@ -176,4 +176,10 @@
<string name="choose_street">Escueyi una cai</string>
<string name="select_option">Esbilla una opción</string>
<string name="choose_color">Escueyi un color</string>
<string name="telegram_url">https://t.me/CoMapsApp/</string>
<string name="translated_om_site_url">https://comaps.app/</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/About_OpenStreetMap</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
<string name="wikimedia_commons">Wikimedia Commons</string>
</resources>

View File

@@ -492,7 +492,7 @@
<!-- Text in About and OSM Login screens. First %@ is replaced by a local, human readable date. -->
<string name="osm_presentation">%s tarixinə icma tərəfindən yaradılmış OpenStreetMap datası. OpenStreetMap.org saytında xəritəni necə redaktə etmək və yeniləmək haqqında ətraflı məlumat əldə edin</string>
<!-- OSM explanation on Android login screen -->
<string name="login_osm_presentation">OpenStreetMap.org (OSM) pulsuz və açıq xəritə yaratmaq üçün icma layihəsidir. O, Üzvi Xəritələrdə xəritə məlumatlarının əsas mənbəyidir və Vikipediyaya oxşar işləyir. Siz yerlər əlavə edə və ya redaktə edə bilərsiniz və onlar bütün dünyada milyonlarla istifadəçi üçün əlçatan olur. \nİcmaya qoşulun və hər kəs üçün daha yaxşı xəritə yaratmağa kömək edin!</string>
<string name="login_osm_presentation">OpenStreetMap.org (OSM) pulsuz və açıq xəritə yaratmaq üçün icma layihəsidir. O, CoMaps xəritə məlumatlarının əsas mənbəyidir və Vikipediyaya oxşar işləyir. Siz yerlər əlavə edə və ya redaktə edə bilərsiniz və onlar bütün dünyada milyonlarla istifadəçi üçün əlçatan olur. \nİcmaya qoşulun və hər kəs üçün daha yaxşı xəritə yaratmağa kömək edin!</string>
<string name="login_to_make_edits_visible">OpenStreetMap hesabı yaradın və ya xəritə redaktələrinizi dünyada dərc etmək üçün daxil olun.</string>
<!-- Downloaded 10 **of** 20 <- it is that "of" -->
<string name="downloader_of">%1$d/%2$d</string>
@@ -508,7 +508,7 @@
<!-- Title for OSM note section in the editor -->
<string name="editor_other_info">OpenStreetMap könüllüləri üçün qeyd (isteğe bağlı)</string>
<!-- Hint of the input field in the OSM note section of the editor -->
<string name="editor_note_hint">Xəritədəki səhvləri və ya Üzvi Xəritələrdən istifadə edərək redaktə edilə bilməyənləri təsvir edin</string>
<string name="editor_note_hint">Xəritədəki səhvləri və ya CoMaps istifadə edərək redaktə edilə bilməyənləri təsvir edin</string>
<!-- Information about OSM at the top of the editing page -->
<string name="editor_about_osm">Redaktələriniz ictimai <a href="https://wiki.openstreetmap.org/wiki/Tr:About">OpenStreetMap</a> verilənlər bazasına yüklənir. Zəhmət olmasa şəxsi və ya müəllif hüquqları ilə qorunan məlumatları əlavə etməyin.</string>
<string name="editor_more_about_osm">OpenStreetMap haqqında əlavə məlumat</string>
@@ -518,7 +518,7 @@
<!-- To indicate the operator of ATMs, bicycle rentals, electric vehicle charging stations... -->
<string name="operator">Operator: %s</string>
<string name="editor_category_unsuitable_title">Uyğun kateqoriya tapa bilmirsiniz?</string>
<string name="editor_category_unsuitable_text">Üzvi Xəritələr yalnız sadə nöqtə kateqoriyaları əlavə etməyə imkan verir, bu o deməkdir ki, şəhərlər, yollar, göllər, bina konturları və s. yoxdur. Lütfən, belə kateqoriyaları birbaşa <a href="https://www.openstreetmap.org">OpenStreetMap.org</a> saytına əlavə edin. Ətraflı addım-addım təlimatlar üçün <a href="https://www.comaps.app/support/advanced-map-editing/">bələdçimizi</a> yoxlayın.</string>
<string name="editor_category_unsuitable_text">CoMaps yalnız sadə nöqtə kateqoriyaları əlavə etməyə imkan verir, bu o deməkdir ki, şəhərlər, yollar, göllər, bina konturları və s. yoxdur. Lütfən, belə kateqoriyaları birbaşa <a href="https://www.openstreetmap.org">OpenStreetMap.org</a> saytına əlavə edin. Ətraflı addım-addım təlimatlar üçün <a href="https://www.comaps.app/support/advanced-map-editing/">bələdçimizi</a> yoxlayın.</string>
<string name="downloader_no_downloaded_maps_title">Siz heç bir xəritə endirməmisiniz</string>
<string name="downloader_no_downloaded_maps_message">Ünvanları tapmaq və oflayn naviqasiya etmək üçün xəritələri endirin.</string>
<string name="current_location_unknown_error_title">Cari yer məlum deyil.</string>
@@ -644,7 +644,7 @@
<string name="privacy_policy">Gizlilik Siyasəti</string>
<string name="terms_of_use">İstifadə qaydaları</string>
<string name="button_layer_traffic">Nəqliyyat</string>
<string name="button_layer_subway">Metro</string>
<string name="subway">Metro</string>
<string name="layers_title">Xəritə Üslubları və Qatları</string>
<string name="subway_data_unavailable">Metro xəritəsi mövcud deyil</string>
<string name="bookmarks_empty_list_title">Bu siyahı boşdur</string>
@@ -671,7 +671,7 @@
<string name="power_managment_setting_never">Heç vaxt</string>
<string name="power_managment_setting_auto">Avtomatik</string>
<string name="power_managment_setting_manual_max">Maksimum enerji qənaəti</string>
<string name="enable_logging_warning_message">Yardım dialoq qutusunda “Problemi bildir” istifadə etməklə probleminizlə bağlı ətraflı diaqnostik jurnalları qeyd etmək və bizə göndərmək üçün bu seçimi müvəqqəti aktivləşdirin. Qeydlərə məkan məlumatı daxil ola bilər</string>
<string name="enable_logging_warning_message">Yardım dialoq qutusunda “Problemi bildir” istifadə etməklə probleminizlə bağlı ətraflı diaqnostik jurnalları qeyd etmək və bizə göndərmək üçün bu seçimi müvəqqəti aktivləşdirin. Qeydlərə məkan məlumatı daxil ola bilər.</string>
<string name="access_rules_author_only">Onlayn redaktə</string>
<string name="driving_options_title">Marşrutlaşdırma seçimləri</string>
<!-- Recommended length for CarPlay and Android Auto is around 25-27 characters -->
@@ -682,7 +682,7 @@
<string name="avoid_ferry">Bərə keçidlərindən çəkinin</string>
<string name="avoid_motorways">Magistral yoldan çəkinin</string>
<string name="unable_to_calc_alert_title">Marşrutu hesablamaq mümkün deyil</string>
<string name="unable_to_calc_alert_subtitle">Təəssüf ki, seçdiyiniz seçimlərə görə marşrut tapa bilmədik. Seçimləri dəyişdirin və yenidən cəhd edin</string>
<string name="unable_to_calc_alert_subtitle">Təəssüf ki, seçdiyiniz seçimlərə görə marşrut tapa bilmədik. Seçimləri dəyişdirin və yenidən cəhd edin.</string>
<string name="define_to_avoid_btn">Qarşısını almaq üçün yolları müəyyənləşdirin</string>
<string name="change_driving_options_btn">Sürmə seçimləri aktiv edildi</string>
<string name="toll_road">Ücrətli yol</string>
@@ -777,7 +777,7 @@
<!-- Translated CoMaps site, add new translations here: https://github.com/organicmaps/organicmaps.github.io/tree/master/content -->
<string name="translated_om_site_url">https://comaps.app/tr/</string>
<!-- Link to OSM wiki for Editor, Profile and About pages -->
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/Tr:About</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/Az:Layihə_haqqında</string>
<!-- App Tip #00 -->
<string name="app_tip_00">İcma tərəfindən yaradılmış xəritələrimizdən istifadə etdiyiniz üçün təşəkkür edirik!</string>
<!-- App tip #04 -->
@@ -840,4 +840,8 @@
<string name="uri_open_location_failed">Məkanı aça biləcək proqram quraşdırılmayıb</string>
<!-- preference string for using auto theme only in navigation mode -->
<string name="nav_auto">Naviqasiyada avtomatik</string>
<string name="telegram_url">https://t.me/CoMapsApp/</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
<string name="wikimedia_commons">Vikianbar</string>
</resources>

View File

@@ -636,7 +636,7 @@
<string name="privacy_policy">Палітыка прыватнасці</string>
<string name="terms_of_use">Умовы выкарыстання</string>
<string name="button_layer_traffic">Рух</string>
<string name="button_layer_subway">Метро</string>
<string name="subway">Метро</string>
<string name="layers_title">Стылі і слаі карты</string>
<string name="subway_data_unavailable">Карта метро недаступная</string>
<string name="bookmarks_empty_list_title">Гэты спіс пусты</string>
@@ -880,7 +880,8 @@
<item quantity="other">Знойдзена %d файлаў. Вы можаце ўбачыць іх пасля пераўтварэння.</item>
</plurals>
<string name="error_enter_correct_vk_page">Увядзіце сапраўднае імя карыстальніка або спасылку VK</string>
<string name="wikimedia_commons">Wikimedia Commons</string>
<string name="wikimedia_commons">Вікісховішча</string>
<string name="comma_separated_pair">%1$s, %2$s</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/About_OpenStreetMap</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/RU:О_проекте</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
</resources>

View File

@@ -542,7 +542,7 @@
<!-- Settings: "Send general feedback" button -->
<string name="feedback_general">Обща обратна връзка</string>
<string name="prefs_languages_information">Навигирането се озвучава от системен синтезатор на реч (TTS). Много устройства използват Google TTS, който може да бъде изтеглен или актуализиран от Google Play (https://play.google.com/store/apps/details?id=com.google.android.tts).</string>
<string name="prefs_languages_information_off">За някои езици може да се наложи да инсталирате допълнителен синтезатор на реч (TTS) от магазина за приложения (Google Play Магазин, Galaxy Store). \nЗа да настроите синтезатора на реч, отидете в Настройки → Езици и въвеждане → Синтезиран говор. \nТук можете да инсталирате допълнителни езикови пакети или да изберете синтезатор на реч.</string>
<string name="prefs_languages_information_off">За някои езици може да се наложи да инсталирате допълнителен синтезатор на реч (TTS) от магазина за приложения (Google Play, Samsung Galaxy Store, Huawei AppGallery, F-Droid). \nЗа да настроите синтезатора на реч, отидете в Настройки → Езици и въвеждане → Синтезиран говор. \nТук можете да инсталирате допълнителни езикови пакети или да изберете синтезатор на реч.</string>
<string name="prefs_languages_information_off_link">За повече информация вижте това ръководство.</string>
<string name="transliteration_title">Изпиши на латиница</string>
<string name="learn_more">Научете повече</string>
@@ -594,7 +594,7 @@
<string name="privacy_policy">Политика за поверителност</string>
<string name="terms_of_use">Условия за ползване</string>
<string name="button_layer_traffic">Трафик</string>
<string name="button_layer_subway">Метро</string>
<string name="subway">Метро</string>
<string name="layers_title">Стилове и слоеве на картата</string>
<string name="subway_data_unavailable">Картата на метрото не е налична</string>
<string name="bookmarks_empty_list_title">Този списък е празен</string>
@@ -690,7 +690,7 @@
<!-- OpenStreetMap text on splash screen -->
<string name="splash_subtitle">Картографски данни от OpenStreetMap</string>
<!-- Link to OSM wiki for Editor, Profile and About pages -->
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/Bg:About</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/Bg:About_OpenStreetMap</string>
<!-- App Tip #00 -->
<string name="app_tip_00">Благодарим ви, че използвате нашите карти, създадени от общността!</string>
<!-- App tip #01 -->
@@ -824,7 +824,7 @@
<string name="miles_per_hour">мили/ч</string>
<string name="animals">Животни</string>
<string name="buildings">Сгради</string>
<string name="translated_om_site_url">https://www.comaps.app/</string>
<string name="translated_om_site_url">https://comaps.app/</string>
<string name="hotels">Хотели</string>
<string name="others_sorttype">Други</string>
<string name="month_ago_sorttype">Преди месец</string>
@@ -838,4 +838,5 @@
<string name="trip_finished">Пристигнахте!</string>
<string name="instagram">Instagram</string>
<string name="downloader_loading_ios">Изтегляне</string>
<string name="wikimedia_commons">Общомедия</string>
</resources>

View File

@@ -10,8 +10,30 @@
<string name="search">অনুসন্ধান</string>
<string name="download_has_failed">ডাউনলোড ব্যর্থ। আবার চেষ্টা করতে টিপ দাও।</string>
<string name="mb">এমবি</string>
<string name="search_map">ানচিত্র অনুসন্ধান</string>
<string name="search_map">্যাপ অনুসন্ধান</string>
<string name="gb">জিবি</string>
<string name="kilometres">কিলোমিটার</string>
<string name="downloading">ডাউনলোডরত…</string>
<string name="telegram_url">https://t.me/CoMapsApp/</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/About_OpenStreetMap</string>
<string name="translated_om_site_url">https://comaps.app/</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
<string name="app_site_url">https://comaps.app/</string>
<string name="location_is_disabled_long_text">আপনার ডিভাইস বা অ্যাপ এর সব লোকেশন পরিষেবা বন্ধ করা আছে। দয়া করে সেটিংস থেকে চালু করুন।</string>
<string name="close">বন্ধ</string>
<string name="download">ডাউনলোড</string>
<string name="limited_accuracy">সীমিত সঠিকতা</string>
<string name="precise_location_is_disabled_long_text">সঠিক ন্যাভিগেশনের জন্য সেটিংস থেকে নিখুঁত লোকেশন অন করুন।</string>
<string name="zoom_to_country">ম্যাপে দেখান</string>
<string name="country_status_download_failed">ডাউনলোড ব্যর্থ হল</string>
<string name="try_again">আবার চেষ্টা করুন</string>
<string name="about_menu_title">CoMaps এর ব্যাপারে</string>
<string name="about_headline">উন্মুক্ত প্রকল্প, তার সমাজ দ্বারা চলিত</string>
<string name="location_settings">লোকেশন সেটিংস</string>
<string name="about_proposition_1">• ব্যবহার করা সহজ এবং দেখতে সুন্দর</string>
<string name="about_proposition_2">• গোপনীয়তা বান্ধব এবং বিজ্ঞাপন মুক্ত</string>
<string name="about_proposition_3">• অফলাইন, দ্রুত এবং ছোট সাইজ</string>
<string name="about_developed_by_enthusiasts">পুরোপুরি ওপেন সোর্স, অলাভজনক, প্রকাশ্য সিদ্ধান্ত করণ এবং অর্থায়ন।</string>
<string name="wikimedia_commons">উইকিমিডিয়া কমন্স</string>
</resources>

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>

View File

@@ -507,7 +507,7 @@
<!-- Title for OSM note section in the editor -->
<string name="editor_other_info">Nota per als voluntaris d\'OpenStreetMap (opcional)</string>
<!-- Hint of the input field in the OSM note section of the editor -->
<string name="editor_note_hint">Descriu errors al mapa o què no es pot editar amb Mapes orgànics</string>
<string name="editor_note_hint">Descriu errors al mapa o què no es pot editar amb CoMaps</string>
<!-- Information about OSM at the top of the editing page -->
<string name="editor_about_osm">Les vostres edicions es pengen a la base de dades pública <a href="https://wiki.openstreetmap.org/wiki/Ca:About">OpenStreetMap</a>. Si us plau, no afegiu informació personal o amb drets d\'autor.</string>
<string name="editor_more_about_osm">Més sobre l\'OpenStreetMap</string>
@@ -586,7 +586,7 @@
<!-- Settings: "Send general feedback" button -->
<string name="feedback_general">Opinió general</string>
<string name="prefs_languages_information">Usem el sistema de síntesi de veu per a les instruccions de veu. Molts aparells Android use el motor de síntesi de veu de Google, podeu baixar o actualitzar-lo des del Google Play (https://play.google.com/store/apps/details?id=com.google.android.tts)</string>
<string name="prefs_languages_information_off">Per a algunes llengües, haureu d\'instal·lar un sintetizador de veu o un paquet de llengua addicional des de la botiga d\'apliacions (Google Play, Galazy Store, FDroid). \nObriu la configuració de l\'aparell → Idioma i entrada → Veu → Sortidda de text a veu. \nAquí podeu gestionar la configuració de la síntesi de veu (per exemple, baixar un paquet de llengua per a ús sense connexió) i triar un altre motor de síntesi de veu.</string>
<string name="prefs_languages_information_off">Per a algunes llengües, haureu d\'instal·lar un sintetizador de veu o un paquet de llengua addicional des de la botiga d\'apliacions (Google Play, Samsung Galaxy Store, Huawei AppGallery, F-Droid). \nObriu la configuració de l\'aparell → Idioma i entrada → Veu → Sortidda de text a veu. \nAquí podeu gestionar la configuració de la síntesi de veu (per exemple, baixar un paquet de llengua per a ús sense connexió) i triar un altre motor de síntesi de veu.</string>
<string name="prefs_languages_information_off_link">Per a més informació, vegeu aquesta guia.</string>
<string name="transliteration_title">Transliteració a lalfabet llatí</string>
<string name="learn_more">Més informació</string>
@@ -646,7 +646,7 @@
<string name="privacy_policy">Política de privadesa</string>
<string name="terms_of_use">Condicions del servei</string>
<string name="button_layer_traffic">Trànsit</string>
<string name="button_layer_subway">Metro</string>
<string name="subway">Metro</string>
<string name="layers_title">Estils i capes del mapa</string>
<string name="subway_data_unavailable">El mapa del metro no està disponible</string>
<string name="bookmarks_empty_list_title">Aquesta llista és buida</string>
@@ -780,7 +780,7 @@
<!-- Translated CoMaps site -->
<string name="translated_om_site_url">https://comaps.app/ca/</string>
<!-- Link to OSM wiki for Editor, Profile and About pages -->
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/Ca:About</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/Ca:About_OpenStreetMap</string>
<!-- App Tip #00 -->
<string name="app_tip_00">Gràcies per utilitzar els nostres mapes creats per la comunitat!</string>
<!-- App tip #01 -->

View File

@@ -960,4 +960,6 @@
<string name="type.place.suburb">Suburbi</string>
<string name="type.place.state.USA">Estat</string>
<string name="type.power.line">Línia elèctrica</string>
<string name="type.amenity.studio">Estudi</string>
<string name="type.barrier.guard_rail">Barrera de seguretat</string>
</resources>

View File

@@ -421,7 +421,7 @@
<string name="closed">Zavřeno</string>
<string name="edit_opening_hours">Upravit otevírací dobu</string>
<string name="no_osm_account">Nemáte účet u OpenStreetMap?</string>
<string name="register_at_openstreetmap">Registrace</string>
<string name="register_at_openstreetmap">Zaregistrujte si účet na OpenStreetMap</string>
<string name="login">Přihlásit se</string>
<!-- Status message indicating that user did not login to OSM profile yet. -->
<string name="not_signed_in">Nejste přihlášeni</string>
@@ -498,7 +498,7 @@
<!-- To indicate the operator of ATMs, bicycle rentals, electric vehicle charging stations... -->
<string name="operator">Provozovatel: %s</string>
<string name="editor_category_unsuitable_title">Nemůžete najít vhodnou kategorii?</string>
<string name="editor_category_unsuitable_text">Organické mapy umožňují přidávat pouze jednoduché kategorie bodů, tedy žádná města, silnice, jezera, obrysy budov atd. Takové kategorie prosím přidávejte přímo na <a href="https://www.openstreetmap.org">OpenStreetMap.org</a>. Podrobné pokyny krok za krokem najdete v našem <a href="https://www.comaps.app/support/advanced-map-editing/">průvodci</a>.</string>
<string name="editor_category_unsuitable_text">CoMaps umožňují přidávat pouze jednoduché kategorie bodů, tedy žádná města, silnice, jezera, obrysy budov atd. Takové kategorie prosím přidávejte přímo na <a href="https://www.openstreetmap.org">OpenStreetMap.org</a>. Podrobné pokyny krok za krokem najdete v našem <a href="https://www.comaps.app/support/advanced-map-editing/">průvodci</a>.</string>
<string name="downloader_no_downloaded_maps_title">Nemáte stažené žádné mapy</string>
<string name="downloader_no_downloaded_maps_message">Stáhněte si mapy a hledejte cestu a její cíl, i když jste offline.</string>
<string name="current_location_unknown_error_title">Současná poloha nezjištěna.</string>
@@ -619,7 +619,7 @@
<string name="privacy_policy">Zásady ochrany osobních údajů</string>
<string name="terms_of_use">Podmínky užívání</string>
<string name="button_layer_traffic">Zácpy</string>
<string name="button_layer_subway">Metro</string>
<string name="subway">Metro</string>
<string name="layers_title">Styly a vrstvy mapy</string>
<string name="subway_data_unavailable">Mapa metra není dostupná</string>
<string name="bookmarks_empty_list_title">Seznam je prázdný</string>
@@ -884,4 +884,13 @@
<string name="error_enter_correct_level">Zadejte platné číslo podlaží</string>
<string name="editor_building_levels">Podlaží (vč. přízemí, bez střechy)</string>
<string name="editor_level">Podlaží (0 je přízemí)</string>
<string name="route_type">Typ trasy</string>
<string name="vehicle">Vozidlo</string>
<string name="pedestrian">Pěší zóna</string>
<string name="bicycle">Jízdní kolo</string>
<string name="ruler">Pravítko</string>
<string name="bookmark_color">Barva záložky</string>
<string name="clear">Vymazat</string>
<string name="panoramax">Obrázek Panoramax</string>
<string name="about_help">O aplikaci a nápověda</string>
</resources>

View File

@@ -612,7 +612,7 @@
<string name="privacy_policy">Privatlivspolitik</string>
<string name="terms_of_use">Vilkår for bruger</string>
<string name="button_layer_traffic">Trafik</string>
<string name="button_layer_subway">Undergrundsbane</string>
<string name="subway">Undergrundsbane</string>
<string name="layers_title">Kortstile og -lag</string>
<string name="subway_data_unavailable">Kort over undergrundsbaner er ikke tilgængeligt</string>
<string name="bookmarks_empty_list_title">Listen er tom</string>
@@ -862,4 +862,6 @@
<string name="openstreetmap">OpenStreetMap</string>
<string name="change_map_locale">Sprog på kort</string>
<string name="prefs_group_information">Information</string>
<string name="telegram_url">https://t.me/CoMapsApp/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
</resources>

View File

@@ -642,7 +642,7 @@
<string name="privacy_policy">Datenschutzerklärung</string>
<string name="terms_of_use">Nutzungsbedingungen</string>
<string name="button_layer_traffic">Verkehr</string>
<string name="button_layer_subway">U-Bahn</string>
<string name="subway">U-Bahn</string>
<string name="layers_title">Kartenstile und Ebenen</string>
<string name="subway_data_unavailable">Die U-Bahnkarte steht nicht zur Verfügung</string>
<string name="bookmarks_empty_list_title">Die Liste ist leer</string>
@@ -893,4 +893,11 @@
<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="editor_level">Etage (0 ist Erdgeschoss)</string>
<string name="clear">Löschen</string>
<string name="vehicle">Fahrzeug</string>
<string name="bicycle">Fahrrad</string>
<string name="ruler">Lineal</string>
<string name="route_type">Routentyp</string>
<string name="pedestrian">Fußgänger</string>
<string name="bookmark_color">Lesezeichenfarbe</string>
</resources>

View File

@@ -493,7 +493,7 @@
<!-- Text in About and OSM Login screens. First %@ is replaced by a local, human readable date. -->
<string name="osm_presentation">Δεδομένα OpenStreetMap που δημιουργήθηκαν από την κοινότητα στις %s. Μάθετε περισσότερα για τον τρόπο επεξεργασίας και ενημέρωσης του χάρτη στο OpenStreetMap.org</string>
<!-- OSM explanation on Android login screen -->
<string name="login_osm_presentation">Το OpenStreetMap.org (OSM) είναι ένα κοινοτικό έργο για τη δημιουργία ενός ελεύθερου και ανοικτού χάρτη. Είναι η κύρια πηγή δεδομένων χάρτη στους Οργανικούς Χάρτες και λειτουργεί παρόμοια με τη Wikipedia. Μπορείτε να προσθέσετε ή να επεξεργαστείτε τοποθεσίες και αυτές γίνονται διαθέσιμες σε εκατομμύρια χρήστες σε όλο τον κόσμο. \nΕνταχθείτε στην κοινότητα και βοηθήστε να φτιάξουμε έναν καλύτερο χάρτη για όλους!</string>
<string name="login_osm_presentation">Το OpenStreetMap.org (OSM) είναι ένα κοινοτικό έργο για τη δημιουργία ενός ελεύθερου και ανοικτού χάρτη. Είναι η κύρια πηγή δεδομένων χάρτη στους CoMaps και λειτουργεί παρόμοια με τη Wikipedia. Μπορείτε να προσθέσετε ή να επεξεργαστείτε τοποθεσίες και αυτές γίνονται διαθέσιμες σε εκατομμύρια χρήστες σε όλο τον κόσμο. \nΕνταχθείτε στην κοινότητα και βοηθήστε να φτιάξουμε έναν καλύτερο χάρτη για όλους!</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>
@@ -519,7 +519,7 @@
<!-- To indicate the operator of ATMs, bicycle rentals, electric vehicle charging stations... -->
<string name="operator">Χειριστής: %s</string>
<string name="editor_category_unsuitable_title">Δεν μπορείτε να βρείτε την κατάλληλη κατηγορία;</string>
<string name="editor_category_unsuitable_text">Οι Οργανικοί Χάρτες επιτρέπουν την προσθήκη απλών κατηγοριών σημείων μόνο, δηλαδή όχι πόλεων, δρόμων, λιμνών, περιγραμμάτων κτιρίων κ.λπ. Παρακαλούμε προσθέστε τέτοιες κατηγορίες απευθείας στο <a href="https://www.openstreetmap.org">OpenStreetMap.org</a>. Ελέγξτε τον <a href="https://www.comaps.app/support/advanced-map-editing/">οδηγό μας</a> για λεπτομερείς οδηγίες βήμα προς βήμα.</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="current_location_unknown_error_title">Η τρέχουσα τοποθεσία είναι άγνωστη.</string>
@@ -639,7 +639,7 @@
<string name="privacy_policy">Πολιτική απορρήτου</string>
<string name="terms_of_use">Όροι χρήσης</string>
<string name="button_layer_traffic">Κίνηση</string>
<string name="button_layer_subway">Μετρό</string>
<string name="subway">Μετρό</string>
<string name="layers_title">Στυλ χάρτη και επίπεδα</string>
<string name="subway_data_unavailable">Ο χάρτης μετρό δεν είναι διαθέσιμος</string>
<string name="bookmarks_empty_list_title">Η λίστα είναι άδεια</string>
@@ -771,7 +771,7 @@
<!-- OpenStreetMap text on splash screen -->
<string name="splash_subtitle">Δεδομένα χάρτη από το OpenStreetMap</string>
<!-- Link to OSM wiki for Editor, Profile and About pages -->
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/El:About_OpenStreetMap</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/El:Σχετικά_με_το_OpenStreetMap</string>
<!-- App Tip #00 -->
<string name="app_tip_00">Σας ευχαριστούμε που χρησιμοποιείτε τους χάρτες μας που δημιουργήθηκαν από την κοινότητα!</string>
<!-- App tip #01 -->
@@ -879,4 +879,6 @@
<string name="matrix">Μήτρα</string>
<string name="vk">VK</string>
<string name="telegram">Telegram</string>
<string name="telegram_url">https://t.me/CoMapsApp/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
</resources>

View File

@@ -31,7 +31,7 @@
<item quantity="one">%d track</item>
<item quantity="other">%d tracks</item>
</plurals>
<string name="button_layer_subway">Metro</string>
<string name="subway">Metro</string>
<string name="subway_data_unavailable">Metro map is unavailable</string>
<string name="avoid_motorways">Avoid motorways</string>
<!-- SECTION: Bookmark types used for sorting -->
@@ -49,4 +49,9 @@
<string name="cancel">Cancel</string>
<string name="delete">Delete</string>
<string name="download_maps">Download Maps</string>
<string name="telegram_url">https://t.me/CoMapsApp/</string>
<string name="translated_om_site_url">https://comaps.app/</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/About_OpenStreetMap</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
</resources>

View File

@@ -101,7 +101,7 @@
<string name="privacy_policy">Política de Privacidad</string>
<string name="terms_of_use">Términos de uso</string>
<string name="button_layer_traffic">Tráfico</string>
<string name="button_layer_subway">Metro</string>
<string name="subway">Metro</string>
<string name="layers_title">Estilos y capas de mapas</string>
<string name="subway_data_unavailable">El mapa del metro no está disponible</string>
<string name="bookmarks_empty_list_title">Esta lista está vacía</string>
@@ -213,4 +213,9 @@
<string name="drive_through">Servicio al auto</string>
<string name="back">Atrás</string>
<string name="cancel">Cancelar</string>
<string name="telegram_url">https://t.me/CoMapsApp/</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/ES:Acerca_de_OpenStreetMap</string>
<string name="translated_om_site_url">https://comaps.app/es/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android/</string>
</resources>

View File

@@ -647,7 +647,7 @@
<string name="privacy_policy">Normativa de privacidad</string>
<string name="terms_of_use">Condiciones de uso</string>
<string name="button_layer_traffic">Tráfico</string>
<string name="button_layer_subway">Metro</string>
<string name="subway">Metro</string>
<string name="layers_title">Estilos y capas del mapa</string>
<string name="subway_data_unavailable">El mapa del metro no está disponible</string>
<string name="bookmarks_empty_list_title">Esta lista está vacía</string>
@@ -888,8 +888,8 @@
<string name="saved">Guardado</string>
<string name="codeberg">Codeberg</string>
<string name="error_enter_correct_fediverse_page">Introduce un nombre de usuario o una dirección web de Mastodon válidos</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
<string name="app_site_url">https://comaps.app/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity/</string>
<string name="app_site_url">https://comaps.app/es/</string>
<string name="bluesky">Bluesky</string>
<string name="error_enter_correct_bluesky_page">Introduce un nombre de usuario o una dirección web de Bluesky válidos</string>
<string name="telegram_url">https://t.me/CoMapsApp/</string>
@@ -898,4 +898,8 @@
<string name="editor_level">Planta (0 es la planta baja)</string>
<string name="editor_building_levels">Plantas (incl. planta baja, excl. tejado)</string>
<string name="error_enter_correct_level">Introduce un número de planta válido</string>
<string name="route_type">Tipo de ruta</string>
<string name="vehicle">Vehículo</string>
<string name="pedestrian">Peatonal</string>
<string name="bicycle">Bicicleta</string>
</resources>

View File

@@ -636,7 +636,7 @@
<string name="privacy_policy">Privaatsuspoliitika</string>
<string name="terms_of_use">Kasutustingimused</string>
<string name="button_layer_traffic">Liiklus</string>
<string name="button_layer_subway">Metroo</string>
<string name="subway">Metroo</string>
<string name="layers_title">Kaardi stiilid ja kihid</string>
<string name="subway_data_unavailable">Metrookaart ei ole saadaval</string>
<string name="bookmarks_empty_list_title">See loend on tühi</string>
@@ -871,7 +871,7 @@
<string name="vk">VK</string>
<string name="facebook">Facebook</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/About_OpenStreetMap</string>
<string name="translated_om_site_url">https://comaps.app/</string>
<string name="translated_om_site_url">https://comaps.app/et/</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android/</string>
<string name="comma_separated_pair">%1$s, %2$s</string>
<string name="about_developed_by_enthusiasts">Täielikult avatud lähtekoodiga, kasumit mittetaotlev, läbipaistva otsustusprotsessiga ning rahastamisega.</string>
@@ -888,4 +888,13 @@
<string name="editor_building_levels">Korruseid (sh esimene korrus, kuid katusekorruseta)</string>
<string name="editor_level">Korrus (0 on esimene korrus)</string>
<string name="error_enter_correct_level">Palun sisesta korruse number</string>
<string name="route_type">Marsruudi tüüp</string>
<string name="bicycle">Jalgratas</string>
<string name="clear">Kustuta</string>
<string name="vehicle">Sõiduk</string>
<string name="pedestrian">Jalakäija</string>
<string name="ruler">Joonlaud</string>
<string name="bookmark_color">Järjehoidja värv</string>
<string name="panoramax">Panoramaxi pilt</string>
<string name="about_help">Rakenduse teave ja abiteave</string>
</resources>

View File

@@ -506,7 +506,7 @@
<!-- Title for OSM note section in the editor -->
<string name="editor_other_info">OpenStreetMap-eko boluntarioentzako oharra (aukerakoa)</string>
<!-- Hint of the input field in the OSM note section of the editor -->
<string name="editor_note_hint">Deskribatu mapan akatsak edo mapa organikoak erabiliz editatu ezin dena</string>
<string name="editor_note_hint">Deskribatu mapan akatsak edo CoMaps erabiliz editatu ezin dena</string>
<!-- Information about OSM at the top of the editing page -->
<string name="editor_about_osm">Zure aldaketak <a href="https://wiki.openstreetmap.org/wiki/About_OpenStreetMap">OpenStreetMap</a> datu-base publikora kargatzen dira. Mesedez, ez gehitu informazio pertsonalik edo copyrightdun informaziorik.</string>
<string name="editor_more_about_osm">OpenStreetMap-i buruzko informazio gehiago</string>
@@ -642,7 +642,7 @@
<string name="privacy_policy">Pribatutasun politika</string>
<string name="terms_of_use">Erabilera baldintzak</string>
<string name="button_layer_traffic">Trafikoa</string>
<string name="button_layer_subway">Metroa</string>
<string name="subway">Metroa</string>
<string name="layers_title">Maparen estiloak eta geruzak</string>
<string name="subway_data_unavailable">Metroaren mapa ez dago erabilgarri</string>
<string name="bookmarks_empty_list_title">Zerrenda hau hutsik dago</string>

View File

@@ -395,7 +395,7 @@
<string name="editor_example_values">مقادیر پیش فرض</string>
<string name="editor_correct_mistake">تصحیح خطا</string>
<string name="editor_add_select_location">مکان را انتخاب کنید</string>
<string name="editor_report_problem_desription_1">لطفا مشکلتان را با جزئیات توضیح دهید بطوری که انجمن OSM بتوانند آن را برطرف کنند.</string>
<string name="editor_report_problem_desription_1">لطفا مشکلتان را با جزئیات توضیح دهید بطوری که انجمن OpenStreetMap بتوانند آن را برطرف کنند.</string>
<string name="editor_report_problem_desription_2">یا خودتان آن را انجام دهید در وبسایت https://www.openstreetmap.org/</string>
<string name="editor_report_problem_send_button">ارسال</string>
<string name="editor_report_problem_title">مشکل</string>
@@ -463,7 +463,7 @@
<!-- Text in About and OSM Login screens. First %@ is replaced by a local, human readable date. -->
<string name="osm_presentation">داده های OpenStreetMap ایجاد شده توسط انجمن از %s. درباره نحوه ویرایش و به روز رسانی نقشه در OpenStreetMap.org بیشتر بیاموزید</string>
<!-- OSM explanation on Android login screen -->
<string name="login_osm_presentation">OpenStreetMap.org (OSM) یک پروژه اجتماعی برای ساخت یک نقشه رایگان و باز است. این منبع اصلی داده های نقشه در نقشه های ارگانیک است و مشابه ویکی پدیا کار می کند. میu200cتوانید مکانu200cها را اضافه یا ویرایش کنید تا در دسترس میلیونu200cها کاربر در سراسر جهان قرار گیرند. \nبه انجمن بپیوندید و به ایجاد نقشه بهتر برای همه کمک کنید!</string>
<string name="login_osm_presentation">OpenStreetMap.org (OSM) یک پروژه اجتماعی برای ساخت یک نقشه رایگان و باز است. این منبع اصلی داده های نقشه در CoMaps است و مشابه ویکی پدیا کار می کند. می توانید مکان ها را اضافه یا ویرایش کنید تا در دسترس میلیون ها کاربر در سراسر جهان قرار گیرند. \nبه انجمن بپیوندید و به ایجاد نقشه بهتر برای همه کمک کنید!</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>
@@ -479,7 +479,7 @@
<!-- Title for OSM note section in the editor -->
<string name="editor_other_info">توجه به داوطلبان OpenStreetMap (اختیاری)</string>
<!-- Hint of the input field in the OSM note section of the editor -->
<string name="editor_note_hint">خطاهای موجود در نقشه یا مواردی که با استفاده از نقشه های ارگانیک قابل ویرایش نیستند را شرح دهید</string>
<string name="editor_note_hint">خطاهای موجود در نقشه یا مواردی که با استفاده از CoMaps قابل ویرایش نیستند را شرح دهید</string>
<!-- Information about OSM at the top of the editing page -->
<string name="editor_about_osm">ویرایش های شما در پایگاه داده عمومی <a href="https://wiki.openstreetmap.org/wiki/Fa:About_OpenStreetMap">OpenStreetMap</a> آپلود می شود. لطفا اطلاعات شخصی یا دارای حق چاپ را اضافه نکنید.</string>
<string name="editor_more_about_osm">در مورد OpenStreetMap بیشتر بدانید</string>
@@ -489,7 +489,7 @@
<!-- To indicate the operator of ATMs, bicycle rentals, electric vehicle charging stations... -->
<string name="operator">اپراتور: %s</string>
<string name="editor_category_unsuitable_title">آیا نمی توانید یک دسته بندی مناسب پیدا کنید؟</string>
<string name="editor_category_unsuitable_text">CoMaps اجازه میu200cدهد فقط دستهu200cهای نقطهu200cای ساده را اضافه کند، یعنی هیچ شهر، جاده، دریاچه، طرح کلی ساختمان و غیره وجود ندارد. لطفاً این دستهu200cها را مستقیماً به <a href="https://www.openstreetmap.org">OpenStreetMap.org</a> اضافه کنید. برای دستورالعملu200cهای گام به گام، <a href="https://www.comaps.app/support/advanced-map-editing/">راهنمای</a> ما را بررسی کنید.</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="current_location_unknown_error_title">مکان فعلیتان ناشناس است.</string>
@@ -551,7 +551,7 @@
<!-- Settings: "Send general feedback" button -->
<string name="feedback_general">\"تنظیمات: دکمه \"ارسال بازخورد کلی</string>
<string name="prefs_languages_information">ما از TTS سیستم برای دستورالعمل‌های صوتی استفاده می کنیم. بسیاری از دستگاه‌های Android از Google TTS استفاده می کنند، شما می توانید آن را از Google Play دانلود کنید (https://play.google.com/store/apps/details؟id=com.google.android.tts)</string>
<string name="prefs_languages_information_off">برای بعضی از زبان‌ها، شما باید speech synthesizer یا یک بسته زبان دیگر را از فروشگاه برنامه (بازار Google Play، Galaxy Store) نصب کنید. \n تنظیمات دستگاه خود را باز کنید. → زبان و ورودی → گفتار → خروجی متن به گفتار. می توانید تنظیمات برای ترکیب گفتار (به عنوان مثال، بسته‌های زبان را برای استفاده آفلاین دانلود کنید) را مدیریت کنید و یک موتور دیگر متن به گفتار را انتخاب کنید.</string>
<string name="prefs_languages_information_off">برای بعضی از زبان‌ها، شما باید speech synthesizer یا یک بسته زبان دیگر را از فروشگاه برنامه (Google Play, Galaxy Store, App Gallery, FDroid) نصب کنید. \n تنظیمات دستگاه خود را باز کنید. → زبان و ورودی → گفتار → خروجی متن به گفتار. می توانید تنظیمات برای ترکیب گفتار (به عنوان مثال، بسته‌های زبان را برای استفاده آفلاین دانلود کنید) را مدیریت کنید و یک موتور دیگر متن به گفتار را انتخاب کنید.</string>
<string name="prefs_languages_information_off_link">برای اطلاعات بیشتر لطفا این راهنما را بررسی کنید.</string>
<string name="transliteration_title">ترجمه به لاتین</string>
<string name="learn_more">بیشتر بدانید</string>
@@ -582,7 +582,7 @@
</plurals>
<string name="bookmarks_create_new_group">ایجاد لیست جدید</string>
<!-- Bookmark categories screen, button that opens folder selection dialog to import KML/KMZ/GPX/KMB files -->
<string name="bookmarks_import">وارد کردن نشانکu200cها و آهنگu200cها</string>
<string name="bookmarks_import">وارد کردن نشانک ها و آهنگ ها</string>
<string name="bookmarks_error_message_share_general">با توجه به خطای برنامه، امکان اشتراک گذاری وجود ندارد</string>
<string name="bookmarks_error_title_share_empty">خطای اشتراک</string>
<string name="bookmarks_error_message_share_empty">یک لیست خالی را نمی توان به اشتراک گذاشت</string>
@@ -608,7 +608,7 @@
<string name="privacy_policy">سیاست حریم خصوصی</string>
<string name="terms_of_use">شرایط استفاده</string>
<string name="button_layer_traffic">ترافیک</string>
<string name="button_layer_subway">مترو</string>
<string name="subway">مترو</string>
<string name="layers_title">سبک ها و لایه های نقشه</string>
<string name="subway_data_unavailable">نقشه مترو موجود نیست</string>
<string name="bookmarks_empty_list_title">این لیست خالی است</string>
@@ -748,9 +748,9 @@
<!-- App tip #09 -->
<string name="app_tip_09">هدف اصلی ما ساختن نقشه هایی سریع، متمرکز بر حریم خصوصی و با کاربری آسان است که شما عاشق آن خواهید شد.</string>
<!-- Text on the Android Auto or CarPlay placeholder screen that maps are displayed on the phone screen -->
<string name="car_used_on_the_phone_screen">اکنون در حال استفاده از نقشه های ارگانیک در صفحه گوشی هستید</string>
<string name="car_used_on_the_phone_screen">اکنون در حال استفاده از CoMaps در صفحه گوشی هستید</string>
<!-- Text on the phone placeholder screen that maps are displayed on the car screen -->
<string name="car_used_on_the_car_screen">اکنون از نقشه های ارگانیک در صفحه ماشین استفاده می کنید</string>
<string name="car_used_on_the_car_screen">اکنون از CoMaps در صفحه ماشین استفاده می کنید</string>
<!-- Displayed on the phone screen. Android Auto connected -->
<string name="aa_connected_title">شما به Android Auto متصل هستید</string>
<!-- Displayed on the phone screen. Button to display maps on the phone screen instead of a car -->
@@ -762,7 +762,7 @@
<!-- Notification title for permission request from AA. -->
<string name="aa_request_permission_notification">این برنامه به اجازه شما نیاز دارد</string>
<!-- The text in the activity for location permission request. -->
<string name="aa_request_permission_activity_text">نقشهu200cهای ارگانیک در Android Auto برای کارکرد مؤثر به مجوز مکان نیاز دارد</string>
<string name="aa_request_permission_activity_text">CoMaps در Android Auto برای کارکرد مؤثر به مجوز مکان نیاز دارد</string>
<!-- Grant Permissions button. -->
<string name="aa_grant_permissions">اعطای مجوزها</string>
<!-- Outdoors/hiking map style (activity) name in the Styles and Layers dialog -->
@@ -793,7 +793,7 @@
<!-- To indicate if restaurant or other place has outdoor seating -->
<string name="outdoor_seating">نشستن در فضای باز</string>
<!-- Disclaimer summary shown when Power Saving Mode is enabled -->
<string name="power_save_dialog_summary">برای دقیقu200cترین ناوبری، توصیه میu200cکنیم حالت صرفهu200cجویی در مصرف انرژی را در تنظیمات باتری گوشی غیرفعال کنید.</string>
<string name="power_save_dialog_summary">برای دقیق ترین ناوبری، توصیه می کنیم حالت صرفه جویی در مصرف انرژی را در تنظیمات باتری گوشی غیرفعال کنید.</string>
<!-- Prompt to start recording a track. -->
<string name="start_track_recording">ضبط مسیر</string>
<!-- Prompt for stopping a track recording. -->
@@ -813,4 +813,9 @@
<string name="uri_open_location_failed">هیچ برنامه ای نصب نشده است که بتواند مکان را باز کند</string>
<!-- preference string for using auto theme only in navigation mode -->
<string name="nav_auto">خودکار در ناوبری</string>
<string name="telegram_url">https://t.me/CoMapsApp</string>
<string name="translated_om_site_url">https://comaps.app</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
<string name="wikimedia_commons">ویکی‌انبار</string>
</resources>

View File

@@ -442,7 +442,7 @@
<string name="closed">Suljettu</string>
<string name="edit_opening_hours">Muokkaa aukioloaikoja</string>
<string name="no_osm_account">Eikö sinulla ole OpenStreetMap-tiliä?</string>
<string name="register_at_openstreetmap">Rekisteröidy</string>
<string name="register_at_openstreetmap">Rekisteröi tili OpenStreetMapissa</string>
<string name="login">Kirjaudu sisään</string>
<!-- Status message indicating that user did not login to OSM profile yet. -->
<string name="not_signed_in">Et ole kirjautunut sisään</string>
@@ -646,7 +646,7 @@
<string name="privacy_policy">Yksityisyyskäytäntö</string>
<string name="terms_of_use">Käyttöehdot</string>
<string name="button_layer_traffic">Liikenne</string>
<string name="button_layer_subway">Metro</string>
<string name="subway">Metro</string>
<string name="layers_title">Karttatyylit ja tasot</string>
<string name="subway_data_unavailable">Metrokartta ei ole saatavilla</string>
<string name="bookmarks_empty_list_title">Luettelo on tyhjä</string>
@@ -870,7 +870,7 @@
<string name="level_value_generic">Kerros: %s</string>
<string name="share_bookmarks_email_body">Hei! \n\nLiitteenä ovat kirjamerkkini; Avaa ne CoMaps -sovelluksessa. Mikäli sinulla ei ole vielä sovellusta asennettuna, voit ladata sen osoitteesta: https://www.comaps.app/download/ \n\nNauti matkustamisesta CoMaps:n kanssa!</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android/</string>
<string name="translated_om_site_url">https://comaps.app/</string>
<string name="translated_om_site_url">https://comaps.app/fi/</string>
<string name="telegram">Telegram</string>
<string name="twitter">X (Twitter)</string>
<string name="mastodon">Mastodon</string>
@@ -893,4 +893,13 @@
<string name="error_enter_correct_level">Syötä kerrosnumero</string>
<string name="editor_building_levels">Kerrokset (sis. pohjakerroksen, jätä pois katto)</string>
<string name="editor_level">Kerros (0 on pohjakerros)</string>
<string name="clear">Tyhjennä</string>
<string name="route_type">Reitin tyyppi</string>
<string name="vehicle">Ajoneuvo</string>
<string name="pedestrian">Jalankulkija</string>
<string name="bicycle">Polkupyörä</string>
<string name="ruler">Viivoitin</string>
<string name="bookmark_color">Kirjanmerkin väri</string>
<string name="about_help">Tietoja ja ohje</string>
<string name="panoramax">Panoramax-kuva</string>
</resources>

View File

@@ -2,4 +2,9 @@
<resources>
<!-- SECTION: Strings for downloading map from search -->
<string name="transliteration_title">Translittération vers l\'alphabet latin</string>
<string name="telegram_url">https://t.me/CoMapsApp/</string>
<string name="translated_om_site_url">https://comaps.app/fr/</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/FR:About_OpenStreetMap</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
</resources>

View File

@@ -651,7 +651,7 @@
<string name="privacy_policy">Politique de confidentialité</string>
<string name="terms_of_use">Conditions d\'utilisation</string>
<string name="button_layer_traffic">Trafic</string>
<string name="button_layer_subway">Métro</string>
<string name="subway">Métro</string>
<string name="layers_title">Styles et couches de cartes</string>
<string name="subway_data_unavailable">La carte du métro n\'est pas disponible</string>
<string name="bookmarks_empty_list_title">Cette liste est vide</string>
@@ -899,4 +899,11 @@
<string name="editor_building_levels">Étages (y compris le rez-de-chaussée, sans compter le toit)</string>
<string name="editor_level">Étage (0 est le rez-de-chaussée)</string>
<string name="error_enter_correct_level">Entrez un numéro d\'étage valide</string>
<string name="route_type">Type d\'itinéraire</string>
<string name="vehicle">Véhicule</string>
<string name="clear">Effacer</string>
<string name="pedestrian">À pied</string>
<string name="bicycle">Vélo</string>
<string name="ruler">Règle</string>
<string name="bookmark_color">Couleur du marque-page</string>
</resources>

View File

@@ -1316,7 +1316,7 @@
<string name="type.highway.ladder">Échelle</string>
<string name="type.amenity.love_hotel">Love hotel</string>
<string name="type.barrier.guard_rail">Glissière de sécurité</string>
<string name="type.sport.diving">Plongée</string>
<string name="type.sport.diving">Plongeon de haut vol</string>
<string name="type.amenity.studio">Studio</string>
<string name="type.leisure.firepit">Foyer</string>
<string name="type.military">Armée</string>
@@ -1400,4 +1400,5 @@
<string name="type.shop.bookmaker">Bookmaker</string>
<string name="type.tourism.attraction">Attraction</string>
<string name="type.hwtag">hwtag</string>
<string name="type.man_made.crane">Grue</string>
</resources>

View File

@@ -77,7 +77,7 @@
<string name="privacy_policy">Normativa de privacidade</string>
<string name="terms_of_use">Condiciones de uso</string>
<string name="button_layer_traffic">Tráfico</string>
<string name="button_layer_subway">Metro</string>
<string name="subway">Metro</string>
<string name="layers_title">Estilos e capas do mapa</string>
<string name="subway_data_unavailable">O mapa do metro non está dispoñible</string>
<string name="export_file">Exportar KMZ</string>
@@ -545,7 +545,7 @@
<string name="continue_recording">Continuar gravación</string>
<string name="money">Diñeiro</string>
<string name="shops">Tendas</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/About_OpenStreetMap</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/Gl:Acerca_do_OpenStreetMap</string>
<string name="editor_login_error_dialog">Erro de inicio de sesión.</string>
<string name="by_type">Por tipo</string>
<string name="view_menu">Ver menú</string>

View File

@@ -164,7 +164,7 @@
<!-- SECTION: Other translations -->
<!-- Notes field in Bookmarks view -->
<string name="description">टिप्पणियाँ</string>
<string name="share_bookmarks_email_body">नमस्ते! \n \nमेरे बुकमार्क संलग्न हैं; कृपया उन्हें ऑर्गेनिक मानचित्र में खोलें। यदि आपने इसे इंस्टॉल नहीं किया है तो आप इसे यहां से डाउनलोड कर सकते हैं: https://www.comaps.app/download/ \n \nऑर्गेनिक मैप्स के साथ यात्रा का आनंद लें!</string>
<string name="share_bookmarks_email_body">नमस्ते! \n \nमेरे बुकमार्क संलग्न हैं; कृपया उन्हें CoMaps में खोलें। यदि आपने इसे इंस्टॉल नहीं किया है तो आप इसे यहां से डाउनलोड कर सकते हैं: https://www.comaps.app/download/ \n \nCoMaps के साथ यात्रा का आनंद लें!</string>
<!-- message title of loading file -->
<string name="load_kmz_title">बुकमार्क लोड हो रहे हैं</string>
<!-- Kmz file successful loading -->
@@ -184,11 +184,11 @@
<!-- Alert message that downloading is in progress. -->
<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>
<string name="my_position_share_sms">CoMaps में मेरा वर्तमान स्थान देखें! %1$s या %2$s के पास ऑफ़लाइन मानचित्र नहीं हैं? यहां डाउनलोड करें: https://www.comaps.app/download/</string>
<!-- Subject for emailed bookmark -->
<string name="bookmark_share_email_subject">अरे, ऑर्गेनिक मैप्स में मेरा पिन देखें!</string>
<string name="bookmark_share_email_subject">अरे, CoMaps में मेरा पिन देखें!</string>
<!-- Subject for emailed position -->
<string name="my_position_share_email_subject">अरे, ऑर्गेनिक मैप मानचित्र पर मेरा वर्तमान स्थान देखें!</string>
<string name="my_position_share_email_subject">अरे, CoMaps मानचित्र पर मेरा वर्तमान स्थान देखें!</string>
<!-- Share my position using EMail, %1$@ is om:// and %2$@ is https://comaps.app link WITHOUT NAME -->
<string name="my_position_share_email">नमस्ते, \n \nमैं अब यहाँ हूँ: %1$s. इस लिंक पर क्लिक करें %2$s या यह लिंक %3$s मानचित्र पर स्थान देखने के लिए \n \nधन्यवाद.</string>
<!-- Share button text which opens menu with more buttons, like Message, EMail, Facebook etc. -->
@@ -375,7 +375,7 @@
<!-- Text in About and OSM Login screens. First %@ is replaced by a local, human readable date. -->
<string name="osm_presentation">समुदाय-निर्मित OpenStreetMap डेटा %s तक। OpenStreetMap.org पर मानचित्र को संपादित और अपडेट करने के तरीके के बारे में और जानें</string>
<!-- OSM explanation on Android login screen -->
<string name="login_osm_presentation">OpenStreetMap.org (OSM) एक निःशुल्क और खुला मानचित्र बनाने के लिए एक सामुदायिक परियोजना है। यह ऑर्गेनिक मैप्स में मानचित्र डेटा का मुख्य स्रोत है और विकिपीडिया के समान काम करता है। आप स्थानों को जोड़ या संपादित कर सकते हैं और वे दुनिया भर में लाखों उपयोगकर्ताओं के लिए उपलब्ध हो जाते हैं। \nसमुदाय में शामिल हों और सभी के लिए एक बेहतर मानचित्र बनाने में सहायता करें!</string>
<string name="login_osm_presentation">OpenStreetMap.org (OSM) एक निःशुल्क और खुला मानचित्र बनाने के लिए एक सामुदायिक परियोजना है। यह CoMaps में मानचित्र डेटा का मुख्य स्रोत है और विकिपीडिया के समान काम करता है। आप स्थानों को जोड़ या संपादित कर सकते हैं और वे दुनिया भर में लाखों उपयोगकर्ताओं के लिए उपलब्ध हो जाते हैं। \nसमुदाय में शामिल हों और सभी के लिए एक बेहतर मानचित्र बनाने में सहायता करें!</string>
<string name="login_to_make_edits_visible">अपने मानचित्र संपादनों को दुनिया भर में प्रकाशित करने के लिए एक OpenStreetMap खाता बनाएं या लॉग इन करें।</string>
<!-- Downloaded 10 **of** 20 <- it is that "of" -->
<string name="downloader_of">%2$d में से %1$d</string>
@@ -384,7 +384,7 @@
<!-- Title for OSM note section in the editor -->
<string name="editor_other_info">OpenStreetMap स्वयंसेवकों के लिए नोट (वैकल्पिक)</string>
<!-- Hint of the input field in the OSM note section of the editor -->
<string name="editor_note_hint">मानचित्र में त्रुटियों का वर्णन करें या ऑर्गेनिक मानचित्र का उपयोग करके क्या संपादित नहीं किया जा सकता है</string>
<string name="editor_note_hint">मानचित्र में त्रुटियों का वर्णन करें या CoMaps का उपयोग करके क्या संपादित नहीं किया जा सकता है</string>
<!-- Information about OSM at the top of the editing page -->
<string name="editor_about_osm">आपके संपादन सार्वजनिक <a href="https://wiki.openstreetmap.org/wiki/About_OpenStreetMap">OpenStreetMap</a> डेटाबेस पर अपलोड किए जाते हैं। कृपया व्यक्तिगत या कॉपीराइट जानकारी न जोड़ें।</string>
<string name="editor_more_about_osm">OpenStreetMap के बारे में अधिक जानकारी</string>
@@ -394,7 +394,7 @@
<!-- To indicate the operator of ATMs, bicycle rentals, electric vehicle charging stations... -->
<string name="operator">ऑपरेटर: %s</string>
<string name="editor_category_unsuitable_title">कोई उपयुक्त श्रेणी नहीं मिल रही?</string>
<string name="editor_category_unsuitable_text">ऑर्गेनिक मैप्स केवल सरल बिंदु श्रेणियां जोड़ने की अनुमति देता है, जिसका अर्थ है कि शहर, सड़कें, झीलें, भवन की रूपरेखा आदि नहीं। कृपया ऐसी श्रेणियां सीधे <a href="https://www.openstreetmap.org">OpenStreetMap.org</a> पर जोड़ें।. विस्तृत चरण-दर-चरण निर्देशों के लिए हमारी <a href="https://www.comaps.app/support/advanced-map-editing/">मार्गदर्शिका</a> देखें।</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>
<!-- abbreviation for meters -->
<string name="m">मी</string>
<!-- abbreviation for kilometers -->
@@ -451,7 +451,7 @@
<string name="privacy">निजता</string>
<string name="privacy_policy">गोपनीयता नीति</string>
<string name="terms_of_use">उपयोग की शर्तें</string>
<string name="button_layer_subway">भूमिगत मार्ग</string>
<string name="subway">भूमिगत मार्ग</string>
<string name="layers_title">मानचित्र शैलियाँ और परतें</string>
<string name="export_file">निर्यात KMZ</string>
<string name="export_file_gpx">जीपीएक्स निर्यात करें</string>
@@ -530,9 +530,9 @@
<!-- App tip #09 -->
<string name="app_tip_09">हमारा मुख्य लक्ष्य तेज़, गोपनीयता-केंद्रित, उपयोग में आसान मानचित्र बनाना है जो आपको पसंद आएंगे।</string>
<!-- Text on the Android Auto or CarPlay placeholder screen that maps are displayed on the phone screen -->
<string name="car_used_on_the_phone_screen">अब आप फ़ोन स्क्रीन पर ऑर्गेनिक मानचित्र का उपयोग कर रहे हैं</string>
<string name="car_used_on_the_phone_screen">अब आप फ़ोन स्क्रीन पर CoMaps का उपयोग कर रहे हैं</string>
<!-- Text on the phone placeholder screen that maps are displayed on the car screen -->
<string name="car_used_on_the_car_screen">अब आप कार स्क्रीन पर ऑर्गेनिक मानचित्र का उपयोग कर रहे हैं</string>
<string name="car_used_on_the_car_screen">अब आप कार स्क्रीन पर CoMaps का उपयोग कर रहे हैं</string>
<!-- Displayed on the phone screen. Android Auto connected -->
<string name="aa_connected_title">आप Android Auto से कनेक्ट हैं</string>
<!-- Displayed on the phone screen. Button to display maps on the phone screen instead of a car -->
@@ -540,11 +540,11 @@
<!-- Displayed on the Android Auto or CarPlay screen. Button to display maps on the car screen instead of a phone. Must be no more than 18 symbols! -->
<string name="car_continue_in_the_car">कार स्क्रीन पर</string>
<!-- Ask user to grant location permissions -->
<string name="aa_location_permissions_request">ऑर्गेनिक मैप्स को स्थान पहुंच की आवश्यकता है। जब यह सुरक्षित हो, तो अपने फ़ोन पर अधिसूचना जांचें।</string>
<string name="aa_location_permissions_request">CoMaps को स्थान पहुंच की आवश्यकता है। जब यह सुरक्षित हो, तो अपने फ़ोन पर अधिसूचना जांचें।</string>
<!-- Notification title for permission request from AA. -->
<string name="aa_request_permission_notification">इस ऐप को आपकी अनुमति की आवश्यकता है</string>
<!-- The text in the activity for location permission request. -->
<string name="aa_request_permission_activity_text">एंड्रॉइड ऑटो में ऑर्गेनिक मैप्स को प्रभावी ढंग से काम करने के लिए स्थान अनुमति की आवश्यकता होती है</string>
<string name="aa_request_permission_activity_text">Android Auto में CoMaps को प्रभावी ढंग से काम करने के लिए स्थान अनुमति की आवश्यकता होती है</string>
<!-- Grant Permissions button. -->
<string name="aa_grant_permissions">अनुमतियाँ प्रदान करें</string>
<!-- Outdoors/hiking map style (activity) name in the Styles and Layers dialog -->
@@ -595,4 +595,9 @@
<string name="uri_open_location_failed">कोई ऐप इंस्टॉल नहीं है जो लोकेशन खोल सके</string>
<!-- preference string for using auto theme only in navigation mode -->
<string name="nav_auto">नेविगेशन में ऑटो</string>
<string name="telegram_url">https://t.me/CoMapsApp/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android/</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/About_OpenStreetMap</string>
<string name="wikimedia_commons">विकिमीडिया कॉमन्स</string>
</resources>

View File

@@ -143,4 +143,10 @@
<string name="zoom_out">Umanji</string>
<string name="shops">Trgovine</string>
<string name="parkings">Parkiranje</string>
<string name="telegram_url">https://t.me/CoMapsApp/</string>
<string name="translated_om_site_url">https://comaps.app/hr/</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/About_OpenStreetMap</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
<string name="wikimedia_commons">Zajednički poslužitelj</string>
</resources>

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>

View File

@@ -624,7 +624,7 @@
<string name="privacy_policy">Adatvédelmi irányelvek</string>
<string name="terms_of_use">Felhasználási feltételek</string>
<string name="button_layer_traffic">Forgalom</string>
<string name="button_layer_subway">Metró</string>
<string name="subway">Metró</string>
<string name="layers_title">Térképstílusok és rétegek</string>
<string name="subway_data_unavailable">A metrótérkép nem érhető el</string>
<string name="bookmarks_empty_list_title">Ez a lista üres</string>
@@ -838,7 +838,7 @@
<string name="nav_auto">Automatikus navigáció</string>
<string name="telegram">Telegram</string>
<string name="instagram">Instagram</string>
<string name="wikimedia_commons">Wikimedia Commons</string>
<string name="wikimedia_commons">Wikimédia Commons</string>
<string name="editor_line_social_network">LINE</string>
<string name="empty_street_name_error">Adjon meg egy utcanevet</string>
<string name="vk">VKontakte</string>
@@ -872,4 +872,6 @@
<string name="error_enter_correct_facebook_page">Adjon meg egy érvényes Facebook-webcímet, fiók- vagy oldalnevet</string>
<string name="error_enter_correct_twitter_page">Adjon meg egy érvényes X (Twitter) felhasználónevet vagy webcímet</string>
<string name="error_enter_correct_instagram_page">Adjon meg egy érvényes Instagram felhasználónevet vagy webcímet</string>
<string name="telegram_url">https://t.me/CoMapsApp/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
</resources>

View File

@@ -1,3 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
</resources>
<string name="translated_om_site_url">https://comaps.app/</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/About_OpenStreetMap</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
<string name="wikimedia_commons">Wikimedia Commons</string>
</resources>

View File

@@ -174,7 +174,7 @@
<!-- 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">Hei, lihat lokasiku saat ini di CoMaps! %1$s atau %2$s belum memiliki peta offline? Unduh di sini: https://www.comaps.app/download/</string>
<!-- Subject for emailed bookmark -->
<string name="bookmark_share_email_subject">Hei, lihat pinku di peta CoMaps</string>
<string name="bookmark_share_email_subject">Hei, lihat pinku di CoMaps!</string>
<!-- Subject for emailed position -->
<string name="my_position_share_email_subject">Hei, lihat lokasiku saat ini di peta CoMaps!</string>
<!-- Share my position using EMail, %1$@ is om:// and %2$@ is https://comaps.app link WITHOUT NAME -->
@@ -419,7 +419,7 @@
<string name="closed">Tutup</string>
<string name="edit_opening_hours">Sunting jam kerja</string>
<string name="no_osm_account">Tidak ada akun di OpenStreetMap?</string>
<string name="register_at_openstreetmap">Mendaftar</string>
<string name="register_at_openstreetmap">Daftar di OpenStreetMap</string>
<string name="login">Masuk</string>
<!-- Status message indicating that user did not login to OSM profile yet. -->
<string name="not_signed_in">Belum masuk</string>
@@ -484,7 +484,7 @@
<!-- Title for OSM note section in the editor -->
<string name="editor_other_info">Catatan untuk relawan OpenStreetMap (opsional)</string>
<!-- Hint of the input field in the OSM note section of the editor -->
<string name="editor_note_hint">Jelaskan kesalahan pada peta atau hal-hal yang tidak dapat diedit dengan Peta Organik</string>
<string name="editor_note_hint">Jelaskan kesalahan pada peta atau hal-hal yang tidak dapat diedit dengan CoMaps</string>
<!-- Information about OSM at the top of the editing page -->
<string name="editor_about_osm">Hasil editan Anda akan diunggah ke database <a href="https://wiki.openstreetmap.org/wiki/About_OpenStreetMap">OpenStreetMap</a> publik. Mohon untuk tidak menambahkan informasi pribadi atau informasi yang memiliki hak cipta.</string>
<string name="editor_more_about_osm">Selengkapnya tentang OpenStreetMap</string>
@@ -573,7 +573,7 @@
<!-- Alert to ask user relogin to OpenStreetMap with OAuth2 flow after OAuth1 authentication is deprecated. -->
<string name="alert_reauth_message">Silahkan login ke OpenStreetMap untuk mengupload semua hasil edit peta Anda secara otomatis. Pelajari lebih lanjut <a href="https://github.com/organicmaps/organicmaps/issues/6144">di sini</a>.</string>
<string name="dialog_error_storage_title">Masalah akses penyimpanan</string>
<string name="dialog_error_storage_message">Penyimpanan eksternal tidak tersedia, mungkin Kartu SD sudah dilepaskan, rusak, atau sistem berkasnya hanya dapat dibaca. Silakan periksa dan beri tahu kami di alamat support@ maps.me</string>
<string name="dialog_error_storage_message">Penyimpanan eksternal tidak tersedia, mungkin Kartu SD sudah dilepaskan, rusak, atau sistem berkasnya hanya dapat dibaca. Silakan periksa dan beri tahu kami di alamat support@comaps.app</string>
<string name="setting_emulate_bad_storage">Emulasi penyimpanan yang buruk</string>
<string name="core_entrance">Tempat masuk</string>
<string name="error_enter_correct_name">Harap masukkan nama yang benar</string>
@@ -610,7 +610,7 @@
<string name="privacy_policy">Kebijakan privasi</string>
<string name="terms_of_use">Ketentuan penggunaan</string>
<string name="button_layer_traffic">Lalu lintas</string>
<string name="button_layer_subway">Kereta bawah tanah</string>
<string name="subway">Kereta bawah tanah</string>
<string name="layers_title">Gaya dan Lapisan Peta</string>
<string name="subway_data_unavailable">Peta bawah tanah tidak tersedia</string>
<string name="bookmarks_empty_list_title">Daftar ini kosong</string>
@@ -814,4 +814,9 @@
<string name="uri_open_location_failed">Tidak ada Aplikasi yang diinstal yang dapat membuka lokasi</string>
<!-- preference string for using auto theme only in navigation mode -->
<string name="nav_auto">Otomatis dalam navigasi</string>
<string name="openstreetmap">OpenStreetMap</string>
<string name="telegram_url">https://t.me/CoMapsApp/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/About_OpenStreetMap</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android/</string>
</resources>

View File

@@ -137,7 +137,7 @@
<string name="bookmark_lists_hide_all">Fela allt</string>
<string name="bookmark_lists_show_all">Sýna allt</string>
<string name="button_layer_traffic">Umferð</string>
<string name="button_layer_subway">Neðanjarðarlest</string>
<string name="subway">Neðanjarðarlest</string>
<string name="not_shared">Einka</string>
<string name="yes_available"></string>
<string name="by_type">Eftir gerð</string>
@@ -598,4 +598,6 @@
<string name="dialog_error_storage_message">Ytra geymsluminnið er ekki aðgengilegt. SD-minniskortið gæti hafa verið fjarlægt, það skemmst eða að skráakerfið sé skrifvarið. Athugaðu SD-minniskortið þitt eða hafðu samband á support@comaps.app</string>
<string name="enable_logging_warning_message">Virkjaðu þennan valkost tímabundið til að skrá og senda síðan handvirkt nákvæma greiningarskrá um vandamálið þitt með því að nota \"Tilkynna um villu\" í hjálparglugganum. Slíkar atvikaskrár geta innihaldið upplýsingar um staðsetningu.</string>
<string name="error_no_file_manager_app">Mistókst að birta val á möppum þar sem ekkert hentugt forrit er uppsett á tækinu þínu. Settu upp skráastjóra og prófaðu svo aftur.</string>
<string name="telegram_url">https://t.me/CoMapsApp/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
</resources>

View File

@@ -630,7 +630,7 @@
<string name="privacy_policy">Polizza sulla privacy</string>
<string name="terms_of_use">Termini di utilizzo</string>
<string name="button_layer_traffic">Traffico</string>
<string name="button_layer_subway">Metropolitana</string>
<string name="subway">Metropolitana</string>
<string name="layers_title">Stili e livelli della mappa</string>
<string name="subway_data_unavailable">La mappa della metropolitana non è disponibile</string>
<string name="bookmarks_empty_list_title">Questo elenco è vuoto</string>
@@ -762,7 +762,7 @@
<!-- Translated CoMaps site, add new translations here: https://github.com/organicmaps/organicmaps.github.io/tree/master/content -->
<string name="translated_om_site_url">https://comaps.app/it/</string>
<!-- Link to OSM wiki for Editor, Profile and About pages -->
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/IT:About</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/IT:About_OpenStreetMap</string>
<!-- App Tip #00 -->
<string name="app_tip_00">Grazie per utilizzare le nostre mappe create dalla comunità!</string>
<!-- App tip #01 -->

View File

@@ -42,7 +42,7 @@
<string name="type.amenity.casino">Casinò</string>
<string name="type.amenity.gambling">Gioco d\'azzardo</string>
<string name="type.leisure.adult_gaming_centre">Centro giochi per adulti</string>
<string name="type.leisure.amusement_arcade">Arcade</string>
<string name="type.leisure.amusement_arcade">Sala giochi</string>
<string name="type.amenity.charging_station">Stazione di ricarica</string>
<string name="type.amenity.charging_station.bicycle">Stazione di ricarica per biciclette</string>
<string name="type.amenity.charging_station.motorcar">Stazione di ricarica per autoveicoli</string>
@@ -229,7 +229,7 @@
<string name="type.building.address">Indirizzo</string>
<string name="type.building.has_parts">Edificio</string>
<string name="type.building_part">Edificio</string>
<string name="type.building.garage">Garage</string>
<string name="type.building.garage">Garage privato</string>
<string name="type.building.train_station">Edificio della stazione</string>
<string name="type.building.warehouse">Magazzino</string>
<string name="type.cemetery.grave">Tomba</string>
@@ -1398,6 +1398,7 @@
<string name="type.psurface.unpaved_good">psurface-unpaved_good</string>
<string name="type.amenity.love_hotel">Love hotel</string>
<string name="type.highway.ladder">Scala</string>
<string name="type.sport.diving">Immersione</string>
<string name="type.sport.diving">Tuffi dalle grandi altezze</string>
<string name="type.barrier.guard_rail">Barriera di contenimento</string>
<string name="type.man_made.crane">Gru permanente</string>
</resources>

View File

@@ -53,7 +53,7 @@
<string name="unsupported_phone">נדרש מאיץ חומרה OpenGL. לצערינו מכשיר זה אינו נתמך.</string>
<string name="download">הורדה</string>
<!-- Used in DownloadResources startup screen -->
<string name="disconnect_usb_cable">אנא נתק כבל USB או הכנס כרטיס זכרון כדי להשתמש ב-CoMaps.</string>
<string name="disconnect_usb_cable">אנא נתק כבל USB או הכנס כרטיס זכרון כדי להשתמש ב-CoMaps</string>
<!-- Used in DownloadResources startup screen -->
<string name="not_enough_free_space_on_sdcard">אנא פנה שטח אחסון בכרטיס הזיכרון או בכונן USB כדי להשתמש בישום</string>
<string name="download_resources">תחילה, נוריד למכשירך מפה כללית של העולם. \nמפה זו דורשת נפח אחסון של %s.</string>
@@ -545,7 +545,7 @@
<string name="error_enter_correct_email">הזן דוא\"ל תקין</string>
<string name="error_enter_correct_facebook_page">הזן כתובת פייסבוק תקינה, משתמש, או שם עמוד</string>
<string name="error_enter_correct_instagram_page">הזן כתובת אינטרנט או שם משתמש Instagram תקינים</string>
<string name="error_enter_correct_twitter_page">הזן כתובת אינטרנט או שם משתמש Twitter תקינים</string>
<string name="error_enter_correct_twitter_page">הזן כתובת אינטרנט או שם משתמש Twitter/X תקינים</string>
<string name="error_enter_correct_vk_page">הזן כתובת אינטרנט או שם משתמש VK תקינים</string>
<string name="error_enter_correct_line_page">הזן מזהה LINE או כתובת אינטרנט תקינים</string>
<string name="placepage_add_place_button">הוסף מקום ל-OpenStreetMap</string>
@@ -638,7 +638,7 @@
<string name="privacy_policy">מדיניות פרטיות</string>
<string name="terms_of_use">תנאי שימוש</string>
<string name="button_layer_traffic">תעבורה</string>
<string name="button_layer_subway">רכבת תחתית</string>
<string name="subway">רכבת תחתית</string>
<string name="layers_title">סגנונות ושכבות מפה</string>
<string name="subway_data_unavailable">מפת רכבת תחתית לא זמינה</string>
<string name="bookmarks_empty_list_title">רשימה זו ריקה</string>
@@ -800,11 +800,11 @@
<!-- Displayed on the Android Auto or CarPlay screen. Button to display maps on the car screen instead of a phone. Must be no more than 18 symbols! -->
<string name="car_continue_in_the_car">למסך המכונית</string>
<!-- Ask user to grant location permissions -->
<string name="aa_location_permissions_request">מפות אורגניות זקוקות לגישה למיקום. כשזה בטוח, בדוק את ההתראה בטלפון שלך.</string>
<string name="aa_location_permissions_request">CoMaps זקוקות לגישה למיקום. כשזה בטוח, בדוק את ההתראה בטלפון שלך.</string>
<!-- Notification title for permission request from AA. -->
<string name="aa_request_permission_notification">אפליקציה זו זקוקה לאישור שלך</string>
<!-- The text in the activity for location permission request. -->
<string name="aa_request_permission_activity_text">מפות אורגניות ב-Android Auto זקוקות להרשאת מיקום כדי לעבוד ביעילות</string>
<string name="aa_request_permission_activity_text">CoMaps ב-Android Auto זקוקות להרשאת מיקום כדי לעבוד ביעילות</string>
<!-- Grant Permissions button. -->
<string name="aa_grant_permissions">הענק הרשאות</string>
<!-- Outdoors/hiking map style (activity) name in the Styles and Layers dialog -->
@@ -855,4 +855,12 @@
<string name="uri_open_location_failed">לא מותקנת אפליקציה שיכולה לפתוח את המיקום</string>
<!-- preference string for using auto theme only in navigation mode -->
<string name="nav_auto">אוטומטי בניווט</string>
<string name="gb">GB</string>
<string name="mb">MB</string>
<string name="telegram_url">https://t.me/CoMapsApp</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/About_OpenStreetMap</string>
<string name="translated_om_site_url">https://comaps.app</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
<string name="wikimedia_commons">ויקישיתוף</string>
</resources>

View File

@@ -28,7 +28,7 @@
<string name="type.amenity.bicycle_parking">חניית אופניים</string>
<string name="type.amenity.bicycle_rental">השכרת אופניים</string>
<string name="type.amenity.bicycle_repair_station">תחנת תיקון אופניים</string>
<string name="type.amenity.biergarten">ביר גרדן</string>
<string name="type.amenity.biergarten">גן בירה</string>
<string name="type.amenity.brothel">בית בושת</string>
<string name="type.amenity.bureau_de_change">המרת מטבע חוץ</string>
<string name="type.amenity.bus_station">תחנת אוטובוס</string>

View File

@@ -38,7 +38,7 @@
<string name="try_again">再実行</string>
<string name="about_menu_title">CoMapsについて</string>
<!-- Text in About screen -->
<string name="about_headline">すべての人のために無料で、愛を込めて作られています</string>
<string name="about_headline">コミュニティ主導のオープンプロジェクト</string>
<!-- Text in About screen -->
<string name="about_proposition_1">• 広告、追跡なし、データ収集なし</string>
<!-- Text in About screen -->
@@ -279,7 +279,7 @@
<!-- Update all button text -->
<string name="downloader_update_all_button">全てをアップデート</string>
<!-- Cancel all button text -->
<string name="downloader_cancel_all">すべてキャンセル</string>
<string name="downloader_cancel_all">てキャンセル</string>
<!-- Downloaded maps list header -->
<string name="downloader_downloaded_subtitle">ダウンロード済み</string>
<!-- Country queued for download -->
@@ -494,7 +494,7 @@
<!-- Text in About and OSM Login screens. First %@ is replaced by a local, human readable date. -->
<string name="osm_presentation">コミュニティが作成した%s時点の OpenStreetMap のデータ。地図の編集や更新の方法については、OpenStreetMap.org を参照してください</string>
<!-- OSM explanation on Android login screen -->
<string name="login_osm_presentation">OpenStreetMap.org(OSM)は、フリーでオープンな地図を構築するコミュニティ・プロジェクトです。OSMは、CoMapsの地図データの主要なソースであり、ウィキペディアと同じように機能します。あなたが場所を追加したり編集したりすると、世界中の何百万人ものユーザーがその場所を利用できるようになります。</string>
<string name="login_osm_presentation">OpenStreetMap.org(OSM)は、フリーでオープンな地図を構築するコミュニティ・プロジェクトです。OSMは、CoMapsの地図データの主要なソースであり、ウィキペディアと同じように機能します。あなたが場所を追加したり編集したりすると、世界中の何百万人ものユーザーがその場所を利用できるようになります。\nコミュニティに参加して、より良い地図を一緒に作りましょう</string>
<string name="login_to_make_edits_visible">OpenStreetMapのアカウントを作成するかログインして、あなたの地図編集を世界中に公開しましょう。</string>
<!-- Downloaded 10 **of** 20 <- it is that "of" -->
<string name="downloader_of">%2$dのうち%1$d</string>
@@ -555,7 +555,7 @@
<string name="error_enter_correct_email">有効なメールアドレスを入力してください</string>
<string name="error_enter_correct_facebook_page">有効な Facebook URL、アカウント、またはページ名を入力してください</string>
<string name="error_enter_correct_instagram_page">有効な Instagram ユーザー名またはURLを入力してください</string>
<string name="error_enter_correct_twitter_page">有効なTwitterユーザー名またはURLを入力してください</string>
<string name="error_enter_correct_twitter_page">有効なX(旧Twitter)ユーザー名またはURLを入力してください</string>
<string name="error_enter_correct_vk_page">有効なVKユーザー名またはURLを入力してください</string>
<string name="error_enter_correct_line_page">有効なLINEユーザー名またはURLを入力してください</string>
<string name="placepage_add_place_button">OpenStreetMapに場所を追加する</string>
@@ -589,7 +589,7 @@
<!-- Settings: "Send general feedback" button -->
<string name="feedback_general">一般的なフィードバック</string>
<string name="prefs_languages_information">音声案内にはシステムの TTS を使用します。多くの Android 端末が Google の TTS を使用しており、Google Play (https://play.google.com/store/apps/details?id=com.google.android.tts) からダウンロードや更新を行うことができます</string>
<string name="prefs_languages_information_off">いくつかの言語では、アプリストア(Google Play、Galaxy Store 、App Gallery、FDroid)から音声合成または追加の言語パックをインストールする必要があります。\nお使いのデバイスで [設定] → [言語と入力] → [音声] → [音声出力] を開いてください。\nここで音声合成の設定 (たとえば、オフラインで使用する言語パックのダウンロードなど) を管理し、別の音声合成エンジンを選択できます。</string>
<string name="prefs_languages_information_off">いくつかの言語では、アプリストア(Google Play、Galaxy Store 、Huawei AppGallery、F-Droid)から音声合成または追加の言語パックをインストールする必要があります。\nお使いのデバイスで [設定] → [言語と入力] → [音声] → [音声出力] を開いてください。\nここで音声合成の設定 (たとえば、オフラインで使用する言語パックのダウンロードなど) を管理し、別の音声合成エンジンを選択できます。</string>
<string name="prefs_languages_information_off_link">詳細については、このガイドをご確認ください。</string>
<string name="transliteration_title">ラテン文字への翻字</string>
<string name="learn_more">詳細情報</string>
@@ -643,7 +643,7 @@
<string name="privacy_policy">プライバシーポリシー</string>
<string name="terms_of_use">利用規約</string>
<string name="button_layer_traffic">交通状況</string>
<string name="button_layer_subway">地下鉄</string>
<string name="subway">地下鉄</string>
<string name="layers_title">マップのスタイルとレイヤー</string>
<string name="subway_data_unavailable">地下鉄路線図はご利用いただけません</string>
<string name="bookmarks_empty_list_title">このリストは空です</string>
@@ -775,7 +775,7 @@
<!-- OpenStreetMap text on splash screen -->
<string name="splash_subtitle">OpenStreetMapからの地図データ</string>
<!-- Link to OSM wiki for Editor, Profile and About pages -->
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/JA:参加する</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/JA:OpenStreetMap_について</string>
<!-- App Tip #00 -->
<string name="app_tip_00">私たちのコミュニティが作った地図をご利用いただき、ありがとうございます!</string>
<!-- App tip #01 -->
@@ -801,13 +801,13 @@
<!-- Text on the phone placeholder screen that maps are displayed on the car screen -->
<string name="car_used_on_the_car_screen">あなたは今、車の画面でCoMapsを使用している</string>
<!-- Displayed on the phone screen. Android Auto connected -->
<string name="aa_connected_title">アンドロイド・オートに接続している</string>
<string name="aa_connected_title">Android Autoに接続している</string>
<!-- Displayed on the phone screen. Button to display maps on the phone screen instead of a car -->
<string name="car_continue_on_the_phone">電話で続ける</string>
<!-- Displayed on the Android Auto or CarPlay screen. Button to display maps on the car screen instead of a phone. Must be no more than 18 symbols! -->
<string name="car_continue_in_the_car">車のスクリーンへ</string>
<!-- Ask user to grant location permissions -->
<string name="aa_location_permissions_request">オーガニック・マップは位置情報へのアクセスを必要とする。安全になったら、携帯電話の通知をチェックしよう。</string>
<string name="aa_location_permissions_request">CoMapsは位置情報へのアクセスを必要とする。安全になったら、携帯電話の通知をチェックしよう。</string>
<!-- Notification title for permission request from AA. -->
<string name="aa_request_permission_notification">このアプリはあなたの許可を必要とする</string>
<!-- The text in the activity for location permission request. -->
@@ -882,10 +882,20 @@
<string name="translated_om_site_url">https://comaps.app/</string>
<string name="error_enter_correct_bluesky_page">有効なBlueskyのユーザー名またはウェブアドレスを入力してください</string>
<string name="saved">保存しました</string>
<string name="error_enter_correct_fediverse_page">有効なマストドンのユーザー名またはウェブアドレスを入力してください</string>
<string name="error_enter_correct_fediverse_page">有効なMastodonのユーザー名またはウェブアドレスを入力してください</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android/</string>
<string name="app_site_url">https://comaps.app/</string>
<string name="bluesky">Bluesky</string>
<string name="pref_left_button_title">左ボタンの設定</string>
<string name="pref_left_button_disable">無効にする</string>
<string name="vehicle">車両</string>
<string name="pedestrian">歩行者</string>
<string name="bookmark_color">ブックマークの色</string>
<string name="editor_building_levels">階数(一階を含む、屋根を除く)</string>
<string name="editor_level">階数0は一階</string>
<string name="error_enter_correct_level">有効な階数を入力してください</string>
<string name="route_type">ルート種類</string>
<string name="bicycle">自転車</string>
<string name="ruler">ルーラー</string>
<string name="clear">クリア</string>
</resources>

View File

@@ -2,8 +2,8 @@
<resources>
<!-- SECTION: Types -->
<string name="type.addr_interpolation">アドレス/ブロック</string>
<string name="type.addr_interpolation.even">アドレス/ブロック</string>
<string name="type.addr_interpolation.odd">アドレス/ブロック</string>
<string name="type.addr_interpolation.even">アドレス/ブロック(偶数)</string>
<string name="type.addr_interpolation.odd">アドレス/ブロック(奇数)</string>
<string name="type.aerialway">索道</string>
<string name="type.aerialway.cable_car">ロープウェイ</string>
<string name="type.aerialway.chair_lift">チェアリフト</string>
@@ -23,7 +23,7 @@
<string name="type.amenity">アメニティー</string>
<string name="type.amenity.arts_centre">芸術センター</string>
<string name="type.amenity.bank">銀行</string>
<string name="type.amenity.bar">居酒屋</string>
<string name="type.amenity.bar">バー</string>
<string name="type.amenity.bbq">バーベキューグリル</string>
<string name="type.amenity.bench">ベンチ</string>
<string name="type.amenity.bicycle_parking">駐輪場</string>
@@ -41,7 +41,7 @@
<string name="type.amenity.casino">カジノ</string>
<string name="type.amenity.gambling">ギャンブル</string>
<string name="type.leisure.adult_gaming_centre">アダルト ゲーム センター</string>
<string name="type.leisure.amusement_arcade">アーケード</string>
<string name="type.leisure.amusement_arcade">ゲームセンター</string>
<string name="type.amenity.charging_station">充電ステーション</string>
<string name="type.amenity.charging_station.bicycle">自転車充電ステーション</string>
<string name="type.amenity.charging_station.motorcar">自動車充電ステーション</string>
@@ -150,7 +150,7 @@
<string name="type.amenity.shelter.basic_hut">ビバーク小屋</string>
<string name="type.amenity.public_bath">公衆浴場</string>
<string name="type.amenity.shower">シャワー</string>
<string name="type.amenity.stripclub">ストリップクラブ</string>
<string name="type.amenity.stripclub">ストリップ劇場</string>
<string name="type.amenity.taxi">タクシー</string>
<string name="type.amenity.telephone">公衆電話</string>
<string name="type.amenity.theatre">劇場</string>
@@ -206,7 +206,7 @@
<string name="type.building.address">住所</string>
<string name="type.building.has_parts">建物</string>
<string name="type.building_part">建物</string>
<string name="type.building.garage">車庫</string>
<string name="type.building.garage">私有の車庫</string>
<string name="type.building.train_station">駅ビル</string>
<string name="type.cemetery.grave"></string>
<string name="type.craft">工房</string>
@@ -280,7 +280,7 @@
<string name="type.cuisine.international">国際料理</string>
<string name="type.cuisine.irish">アイルランド料理</string>
<string name="type.cuisine.italian">イタリア料理</string>
<string name="type.cuisine.italian_pizza">イタリア料理ピザ</string>
<string name="type.cuisine.italian_pizza">イタリア料理ピザ</string>
<string name="type.cuisine.japanese">日本料理</string>
<string name="type.cuisine.kebab">カバブ</string>
<string name="type.cuisine.korean">韓国料理</string>

View File

@@ -17,4 +17,9 @@
<string name="address">Tansa</string>
<string name="list">Tabdart</string>
<string name="settings">Iɣewwaren</string>
<string name="telegram_url">https://t.me/CoMapsApp/</string>
<string name="translated_om_site_url">https://comaps.app/</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/About_OpenStreetMap</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
</resources>

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>

View File

@@ -188,7 +188,7 @@
<!-- Data version in «About» screen, %@ is replaced by a local, human readable date. -->
<string name="data_version">OpenStreetMap 데이터: %s</string>
<!-- Confirmation for OpenStreetMap log out. -->
<string name="osm_log_out_confirmation">오픈스트리트맵 계정에서 로그아웃하시겠습니까?</string>
<string name="osm_log_out_confirmation">OpenStreetMap 계정에서 로그아웃하시겠습니까?</string>
<!-- Title for tracks category in bookmarks manager -->
<string name="tracks_title">트랙</string>
<!-- Length of track in cell that describes route -->
@@ -417,7 +417,7 @@
<string name="closed">닫음</string>
<string name="edit_opening_hours">영업일 편집</string>
<string name="no_osm_account">OpenStreetMap에서 계정이 없습니까?</string>
<string name="register_at_openstreetmap">등록</string>
<string name="register_at_openstreetmap">OpenStreetMap에 등록하세요</string>
<string name="login">로그인</string>
<!-- Status message indicating that user did not login to OSM profile yet. -->
<string name="not_signed_in">로그인되지 않음</string>
@@ -464,10 +464,10 @@
<string name="placepage_add_business_button">조직 추가</string>
<string name="message_invalid_feature_position">목적지를 이곳에서 찾을 수 없습니다</string>
<!-- Text in About and OSM Login screens. First %@ is replaced by a local, human readable date. -->
<string name="osm_presentation">커뮤니티에서 만든 오픈스트리트맵 데이터(%s 기준). 지도를 편집하고 업데이트하는 방법에 대한 자세한 내용은 OpenStreetMap.org에서 확인하세요.</string>
<string name="osm_presentation">커뮤니티에서 만든 OpenStreetMap 데이터(%s 기준). 지도를 편집하고 업데이트하는 방법에 대한 자세한 내용은 OpenStreetMap.org에서 확인하세요.</string>
<!-- OSM explanation on Android login screen -->
<string name="login_osm_presentation">오픈스트리트맵(OSM)은 무료 오픈스트리트맵을 구축하기 위한 커뮤니티 프로젝트입니다. 오가닉 맵의 지도 데이터의 주요 소스이며 위키백과와 유사하게 작동합니다. 장소를 추가하거나 편집하면 전 세계 수백만 명의 사용자가 사용할 수 있습니다. \n커뮤니티에 참여하여 모두를 위한 더 나은 지도를 만드는 데 도움을 주세요!</string>
<string name="login_to_make_edits_visible">오픈스트리트맵 계정을 만들거나 로그인하여 지도 편집 내용을 전 세계에 공개하세요.</string>
<string name="login_osm_presentation">OpenStreetMap.org(OSM)은 무료 오픈스트리트맵을 구축하기 위한 커뮤니티 프로젝트입니다. CoMaps의 지도 데이터의 주요 소스이며 위키백과와 유사하게 작동합니다. 장소를 추가하거나 편집하면 전 세계 수백만 명의 사용자가 사용할 수 있습니다. \n커뮤니티에 참여하여 모두를 위한 더 나은 지도를 만드는 데 도움을 주세요!</string>
<string name="login_to_make_edits_visible">OpenStreetMap 계정을 만들거나 로그인하여 지도 편집 내용을 전 세계에 공개하세요.</string>
<!-- Downloaded 10 **of** 20 <- it is that "of" -->
<string name="downloader_of">%2$d중의 %1$d</string>
<string name="download_over_mobile_header">셀룰러 네트워크 접속을 사용하여 다운로드하시겠습니까?</string>
@@ -480,9 +480,9 @@
<!-- Place Page title for long tap -->
<string name="core_placepage_unknown_place">지도 지점</string>
<!-- Title for OSM note section in the editor -->
<string name="editor_other_info">오픈스트리트맵 자원 봉사자 참고 사항(선택 사항)</string>
<string name="editor_other_info">OpenStreetMap 자원 봉사자 참고 사항(선택 사항)</string>
<!-- Hint of the input field in the OSM note section of the editor -->
<string name="editor_note_hint">지도의 오류 또는 오가닉 맵으로 편집할 수 없는 항목에 대해 설명합니다.</string>
<string name="editor_note_hint">지도의 오류 또는 CoMaps으로 편집할 수 없는 항목에 대해 설명합니다</string>
<!-- Information about OSM at the top of the editing page -->
<string name="editor_about_osm">수정한 내용은 공개 <a href="https://wiki.openstreetmap.org/wiki/Ko:OpenStreetMap_소개">OpenStreetMap</a> 데이터베이스에 업로드됩니다. 개인 정보나 저작권이 있는 정보는 추가하지 마세요.</string>
<string name="editor_more_about_osm">OpenStreetMap 정보</string>
@@ -492,7 +492,7 @@
<!-- To indicate the operator of ATMs, bicycle rentals, electric vehicle charging stations... -->
<string name="operator">연산자: %s</string>
<string name="editor_category_unsuitable_title">적합한 카테고리를 찾을 수 없나요?</string>
<string name="editor_category_unsuitable_text">오가닉 지도에서는 단순한 포인트 카테고리만 추가할 수 있으므로 도시, 도로, 호수, 건물 윤곽선 등은 추가할 수 없습니다. 이러한 카테고리는 <a href="https://www.openstreetmap.org">OpenStreetMap.org</a> 에 직접 추가하세요. 자세한 단계별 지침은 <a href="https://www.comaps.app/support/advanced-map-editing/">가이드</a>를 참조하세요.</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="current_location_unknown_error_title">현재 위치를 알 수 없습니다.</string>
@@ -523,7 +523,7 @@
<string name="error_enter_correct_phone">올바른 전화 번호 입력</string>
<string name="error_enter_correct_web">유효한 웹 주소 입력</string>
<string name="error_enter_correct_email">유효한 이메일 주소 입력</string>
<string name="placepage_add_place_button">오픈스트리트맵에 장소 추가</string>
<string name="placepage_add_place_button">OpenStreetMap에 장소 추가</string>
<!-- Displayed when saving some edits to the map to warn against publishing personal data -->
<string name="editor_share_to_all_dialog_title">이를 모든 사용자에게 전송하시겠습니까?</string>
<!-- Dialog before publishing the modifications to the public map. -->
@@ -547,7 +547,7 @@
<string name="mobile_data_option_ask">항상 표시</string>
<string name="traffic_update_maps_text">교통 데이터를 표시하려면 지도를 업데이트해야 합니다.</string>
<string name="big_font">지도에서 글꼴 크기 늘리기</string>
<string name="traffic_update_app">CoMaps를 업데이트하세요.</string>
<string name="traffic_update_app">CoMaps를 업데이트하세요</string>
<!-- "traffic" as in "road congestion" -->
<string name="traffic_data_unavailable">교통 데이터를 사용할 수 없습니다</string>
<string name="enable_logging">로깅 사용</string>
@@ -569,7 +569,7 @@
<string name="placepage_remove_stop">정류장 제거</string>
<string name="placepage_add_stop">스톱 추가</string>
<!-- Alert to ask user relogin to OpenStreetMap with OAuth2 flow after OAuth1 authentication is deprecated. -->
<string name="alert_reauth_message">모든 지도 편집 내용을 자동으로 업로드하려면 오픈스트리트맵에 로그인하세요. 자세히 알아보기 <a href="https://github.com/organicmaps/organicmaps/issues/6144">여기</a>.</string>
<string name="alert_reauth_message">모든 지도 편집 내용을 자동으로 업로드하려면 OpenStreetMap에 로그인하세요. 자세히 알아보기 <a href="https://github.com/organicmaps/organicmaps/issues/6144">여기</a>.</string>
<string name="dialog_error_storage_title">저장소 액세스 문제</string>
<string name="dialog_error_storage_message">외부 저장소를 사용할 수 없습니다. SD 카드가 제거되었거나 손상되었거나 파일 시스템이 읽기 전용일 수 있습니다. 확인 후 support@comaps.app로 문의하세요.</string>
<string name="setting_emulate_bad_storage">불량 저장소 에뮬레이션</string>
@@ -608,7 +608,7 @@
<string name="privacy_policy">개인정보 보호 방침</string>
<string name="terms_of_use">사용 약관</string>
<string name="button_layer_traffic">트래픽</string>
<string name="button_layer_subway">지하철</string>
<string name="subway">지하철</string>
<string name="layers_title">맵 스타일 및 레이어</string>
<string name="subway_data_unavailable">지하철 지도가 가용하지 않습니다.</string>
<string name="bookmarks_empty_list_title">이 목록은 비어있습니다.</string>
@@ -747,21 +747,21 @@
<!-- App tip #09 -->
<string name="app_tip_09">우리의 주요 목표는 귀하가 좋아할 빠르고 개인 정보 보호에 중점을 두고 사용하기 쉬운 지도를 구축하는 것입니다.</string>
<!-- Text on the Android Auto or CarPlay placeholder screen that maps are displayed on the phone screen -->
<string name="car_used_on_the_phone_screen">이제 휴대폰 화면에서 유기적 지도를 사용하고 있습니다</string>
<string name="car_used_on_the_phone_screen">이제 휴대폰 화면에서 CoMaps를 사용하고 있습니다</string>
<!-- Text on the phone placeholder screen that maps are displayed on the car screen -->
<string name="car_used_on_the_car_screen">이제 자동차 화면에서 유기적 지도를 사용하고 있습니다</string>
<string name="car_used_on_the_car_screen">이제 자동차 화면에서 CoMaps를 사용하고 있습니다</string>
<!-- Displayed on the phone screen. Android Auto connected -->
<string name="aa_connected_title">Android Auto에 연결되어 있습니다.</string>
<string name="aa_connected_title">Android Auto에 연결되어 있습니다</string>
<!-- Displayed on the phone screen. Button to display maps on the phone screen instead of a car -->
<string name="car_continue_on_the_phone">전화기에서 계속</string>
<!-- Displayed on the Android Auto or CarPlay screen. Button to display maps on the car screen instead of a phone. Must be no more than 18 symbols! -->
<string name="car_continue_in_the_car">차량 화면으로 이동</string>
<!-- Ask user to grant location permissions -->
<string name="aa_location_permissions_request">오가닉 지도에는 위치 액세스 권한이 필요합니다. 안전해지면 휴대폰에서 알림을 확인합니다.</string>
<string name="aa_location_permissions_request">CoMaps에는 위치 액세스 권한이 필요합니다. 안전해지면 휴대폰에서 알림을 확인합니다.</string>
<!-- Notification title for permission request from AA. -->
<string name="aa_request_permission_notification">이 앱은 사용자의 승인이 필요합니다.</string>
<!-- The text in the activity for location permission request. -->
<string name="aa_request_permission_activity_text">안드로이드 오토의 오가닉 맵이 효과적으로 작동하려면 위치 권한이 필요합니다.</string>
<string name="aa_request_permission_activity_text">Android Auto의 CoMaps 효과적으로 작동하려면 위치 권한이 필요합니다</string>
<!-- Grant Permissions button. -->
<string name="aa_grant_permissions">권한 부여</string>
<!-- Outdoors/hiking map style (activity) name in the Styles and Layers dialog -->
@@ -813,4 +813,14 @@
<!-- preference string for using auto theme only in navigation mode -->
<string name="nav_auto">내비게이션에서 자동</string>
<string name="change_map_locale">지도 언어</string>
<string name="comma_separated_pair">%1$s, %2$s</string>
<string name="translated_om_site_url">https://comaps.app/</string>
<string name="app_site_url">https://comaps.app/</string>
<string name="gb">GB</string>
<string name="telegram_url">https://t.me/CoMapsApp/</string>
<string name="mb">MB</string>
<string name="openstreetmap">OpenStreetMap</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
<string name="wikimedia_commons">위키미디어 공용</string>
</resources>

View File

@@ -621,7 +621,7 @@
<string name="privacy_policy">Privatumo politika</string>
<string name="terms_of_use">Naudojimo sąlygos</string>
<string name="button_layer_traffic">Eismas</string>
<string name="button_layer_subway">Metro</string>
<string name="subway">Metro</string>
<string name="layers_title">Žemėlapio stiliai ir sluoksniai</string>
<string name="subway_data_unavailable">Metro žemėlapis neprieinamas</string>
<string name="bookmarks_empty_list_title">Sąrašas tuščias</string>
@@ -860,4 +860,6 @@
<string name="aa_grant_permissions">Suteikti leidimą</string>
<string name="translated_om_site_url">https://comaps.app/</string>
<string name="app_site_url">https://comaps.app/</string>
<string name="telegram_url">https://t.me/CoMapsApp/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
</resources>

View File

@@ -53,7 +53,7 @@
<string name="unsupported_phone">Lietotnei nepieciešams „OpenGL“ aparatūras paātrinājums, bet diemžēl Jūsu ierīce to neatbalsta.</string>
<string name="download">Lejupielādēt</string>
<!-- Used in DownloadResources startup screen -->
<string name="disconnect_usb_cable">Lai lietotu „CoMaps“, atvienojiet USB kabeli vai ievietojiet atmiņas karti.</string>
<string name="disconnect_usb_cable">Lai lietotu „CoMaps“, atvienojiet USB kabeli vai ievietojiet atmiņas karti</string>
<!-- Used in DownloadResources startup screen -->
<string name="not_enough_free_space_on_sdcard">Lietotnes izmantošanai atbrīvojiet vietu ierīces krātuvē</string>
<string name="download_resources">Pirms sākt izmantot lietotni lejupielādējiet pasaules pārskata karti. \nTā ierīces krātuvē aizņems %s vietas.</string>
@@ -187,7 +187,7 @@
<!-- Subject for emailed bookmark -->
<string name="bookmark_share_email_subject">Hei, apskatiet manu grāmatzīmi CoMaps kartē!</string>
<!-- Subject for emailed position -->
<string name="my_position_share_email_subject">Hei, apskati manu atrašanās vietu „Oganic Maps“ kartē!</string>
<string name="my_position_share_email_subject">Hei, apskati manu atrašanās vietu „CoMaps“ kartē!</string>
<!-- Share my position using EMail, %1$@ is om:// and %2$@ is https://comaps.app link WITHOUT NAME -->
<string name="my_position_share_email">Hei, \n \nŠobrīd atrodos te: %1$s. Spied uz šīs %2$s vai šīs %3$s saites, lai kartē redzētu manu atrašanās vietu. \n \nPaldies.</string>
<!-- Share button text which opens menu with more buttons, like Message, EMail, Facebook etc. -->
@@ -640,7 +640,7 @@
<string name="privacy_policy">Privātuma politika</string>
<string name="terms_of_use">Lietošanas noteikumi</string>
<string name="button_layer_traffic">Satiksme</string>
<string name="button_layer_subway">Metro</string>
<string name="subway">Metro</string>
<string name="layers_title">Kartes stili un slāņi</string>
<string name="subway_data_unavailable">Metro karte nav pieejama</string>
<string name="bookmarks_empty_list_title">Saraksts ir tukšs</string>
@@ -855,4 +855,7 @@
<string name="editor_note_hint">Aprakstiet kļūdas kartē vai lietas, ko nevar rediģēt, izmantojot CoMaps</string>
<string name="mb">MB</string>
<string name="aa_request_permission_activity_text">CoMaps lietotnei ir nepieciešama atrašanās vietas atļauja sekmīgai Android Auto darbībai</string>
<string name="telegram_url">https://t.me/CoMapsApp/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android/</string>
</resources>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/Ml:About_OpenStreetMap</string>
<string name="translated_om_site_url">https://comaps.app/</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
</resources>

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>

View File

@@ -459,7 +459,7 @@
<!-- Text in About and OSM Login screens. First %@ is replaced by a local, human readable date. -->
<string name="osm_presentation">समुदाय-निर्मित OpenStreetMap डेटा %s नुसार. OpenStreetMap.org वर नकाशा संपादित आणि अपडेट कसा करायचा याबद्दल अधिक जाणून घ्या</string>
<!-- OSM explanation on Android login screen -->
<string name="login_osm_presentation">OpenStreetMap.org (OSM) हा एक विनामूल्य आणि खुला नकाशा तयार करण्यासाठी एक समुदाय प्रकल्प आहे. ऑरगॅनिक नकाशे मधील नकाशा डेटाचा हा मुख्य स्त्रोत आहे आणि विकिपीडिया प्रमाणेच कार्य करतो. तुम्ही ठिकाणे जोडू किंवा संपादित करू शकता आणि ती जगभरातील लाखो वापरकर्त्यांसाठी उपलब्ध होतील. \nसमुदायामध्ये सामील व्हा आणि प्रत्येकासाठी चांगला नकाशा बनवण्यात मदत करा!</string>
<string name="login_osm_presentation">OpenStreetMap.org (OSM) हा एक विनामूल्य आणि खुला नकाशा तयार करण्यासाठी एक समुदाय प्रकल्प आहे. CoMaps मधील नकाशा डेटाचा हा मुख्य स्त्रोत आहे आणि विकिपीडिया प्रमाणेच कार्य करतो. तुम्ही ठिकाणे जोडू किंवा संपादित करू शकता आणि ती जगभरातील लाखो वापरकर्त्यांसाठी उपलब्ध होतील. \nसमुदायामध्ये सामील व्हा आणि प्रत्येकासाठी चांगला नकाशा बनवण्यात मदत करा!</string>
<string name="login_to_make_edits_visible">एक OpenStreetMap खाते तयार करा किंवा तुमची नकाशा संपादने जगासमोर प्रकाशित करण्यासाठी लॉग इन करा.</string>
<!-- Downloaded 10 **of** 20 <- it is that "of" -->
<string name="downloader_of">%2$d पैकी %1$d</string>
@@ -475,7 +475,7 @@
<!-- Title for OSM note section in the editor -->
<string name="editor_other_info">OpenStreetMap स्वयंसेवकांसाठी टीप (पर्यायी)</string>
<!-- Hint of the input field in the OSM note section of the editor -->
<string name="editor_note_hint">नकाशामधील त्रुटी किंवा सेंद्रिय नकाशे वापरून काय संपादित केले जाऊ शकत नाही याचे वर्णन करा</string>
<string name="editor_note_hint">नकाशामधील त्रुटी किंवा CoMaps वापरून काय संपादित केले जाऊ शकत नाही याचे वर्णन करा</string>
<!-- Information about OSM at the top of the editing page -->
<string name="editor_about_osm">तुमची संपादने सार्वजनिक <a href="https://wiki.openstreetmap.org/wiki/About_OpenStreetMap">OpenStreetMap</a> डेटाबेसवर अपलोड केली जातात. कृपया वैयक्तिक किंवा कॉपीराइट केलेली माहिती जोडू नका.</string>
<string name="editor_more_about_osm">OpenStreetMap बद्दल अधिक</string>
@@ -485,7 +485,7 @@
<!-- To indicate the operator of ATMs, bicycle rentals, electric vehicle charging stations... -->
<string name="operator">ऑपरेटर: %s</string>
<string name="editor_category_unsuitable_title">योग्य श्रेणी शोधू शकत नाही?</string>
<string name="editor_category_unsuitable_text">ऑरगॅनिक नकाशे फक्त साध्या बिंदू श्रेणी जोडण्याची परवानगी देतात, म्हणजे शहरे, रस्ते, तलाव, इमारत बाह्यरेखा इ. कृपया अशा श्रेणी थेट <a href="https://www.openstreetmap.org">OpenStreetMap.org</a> वर जोडा. तपशीलवार चरण-दर-चरण सूचनांसाठी आमचे <a href="https://www.comaps.app/support/advanced-map-editing/">मार्गदर्शक</a> पहा.</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="current_location_unknown_error_title">वर्तमान स्थान अज्ञात आहे.</string>
@@ -608,7 +608,7 @@
<string name="privacy_policy">गोपनीयता धोरण</string>
<string name="terms_of_use">वापरण्याच्या अटी</string>
<string name="button_layer_traffic">ट्रॅफिक</string>
<string name="button_layer_subway">मेट्रो/भुयारी मार्ग</string>
<string name="subway">मेट्रो/भुयारी मार्ग</string>
<string name="layers_title">नकाशा शैली आणि स्तर</string>
<string name="subway_data_unavailable">मेट्रो नकाशा अनुपलब्ध आहे</string>
<string name="bookmarks_empty_list_title">ही यादी रिकामी आहे</string>
@@ -760,9 +760,9 @@
<!-- App tip #09 -->
<string name="app_tip_09">आमचे मुख्य ध्येय जलद, गोपनीयता-केंद्रित, वापरण्यास-सुलभ नकाशे तयार करणे आहे जे तुम्हाला आवडतील.</string>
<!-- Text on the Android Auto or CarPlay placeholder screen that maps are displayed on the phone screen -->
<string name="car_used_on_the_phone_screen">तुम्ही आता फोन स्क्रीनवर ऑरगॅनिक नकाशे वापरत आहात</string>
<string name="car_used_on_the_phone_screen">तुम्ही आता फोन स्क्रीनवर CoMaps वापरत आहात</string>
<!-- Text on the phone placeholder screen that maps are displayed on the car screen -->
<string name="car_used_on_the_car_screen">तुम्ही आता कार स्क्रीनवर ऑरगॅनिक नकाशे वापरत आहात</string>
<string name="car_used_on_the_car_screen">तुम्ही आता कार स्क्रीनवर CoMaps वापरत आहात</string>
<!-- Displayed on the phone screen. Android Auto connected -->
<string name="aa_connected_title">तुम्ही Android Auto शी कनेक्ट आहात</string>
<!-- Displayed on the phone screen. Button to display maps on the phone screen instead of a car -->
@@ -770,11 +770,11 @@
<!-- Displayed on the Android Auto or CarPlay screen. Button to display maps on the car screen instead of a phone. Must be no more than 18 symbols! -->
<string name="car_continue_in_the_car">कारच्या स्क्रीनकडे</string>
<!-- Ask user to grant location permissions -->
<string name="aa_location_permissions_request">ऑर्गेनिक नकाशेला स्थान प्रवेश आवश्यक आहे. ते सुरक्षित असताना, तुमच्या फोनवरील सूचना तपासा.</string>
<string name="aa_location_permissions_request">CoMaps ला स्थान प्रवेश आवश्यक आहे. ते सुरक्षित असताना, तुमच्या फोनवरील सूचना तपासा.</string>
<!-- Notification title for permission request from AA. -->
<string name="aa_request_permission_notification">या अॅपला तुमची परवानगी आवश्यक आहे</string>
<!-- The text in the activity for location permission request. -->
<string name="aa_request_permission_activity_text">Android Auto मधील ऑरगॅनिक नकाशे प्रभावीपणे कार्य करण्यासाठी स्थान परवानगी आवश्यक आहे</string>
<string name="aa_request_permission_activity_text">Android Auto मधील CoMaps प्रभावीपणे कार्य करण्यासाठी स्थान परवानगी आवश्यक आहे</string>
<!-- Grant Permissions button. -->
<string name="aa_grant_permissions">परवानग्या द्या</string>
<!-- Outdoors/hiking map style (activity) name in the Styles and Layers dialog -->
@@ -833,4 +833,9 @@
<string name="pref_tts_street_names_description">चालू केल्यास, वळण घेण्यापूर्वी रस्त्याचे किंवा वळणाचे नाव बोलून सांगितले जाईल.</string>
<string name="editor_share_to_all_dialog_message_2">OpenStreetMap संपादक बदल तपासतील व काही प्रश्न असल्यास तुमच्याशी संपर्क साधतील.</string>
<string name="category_rv">कँपिंग वाहन सोयी</string>
<string name="telegram_url">https://t.me/CoMapsApp/</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/About_OpenStreetMap</string>
<string name="wikimedia_commons">विकिमीडिया कॉमन्स</string>
</resources>

View File

@@ -510,7 +510,7 @@
<string name="common_check_internet_connection_dialog">Żgura li t-tagħmir tiegħek huwa mqabbad mal-Internet.</string>
<string name="editor_edit_place_category_title">Kategorija</string>
<string name="avoid_motorways">Evita l-passaġġi ħielsa</string>
<string name="login_osm_presentation">OpenStreetMap.org (OSM) huwa proġett komunitarju biex tinbena mappa ħielsa u miftuħa. Huwa s-sors ewlieni tad-dejta tal-mapep fil-mapep organiċi u xogħlijiet simili għall-Wikipedija. Tista żżid jew teditja postijiet u dawn isiru disponibbli għal miljuni ta utenti madwar id-dinja kollha. \nIngħaqad mal-komunita u għen biex issir mappa aħjar għal kulħadd!</string>
<string name="login_osm_presentation">OpenStreetMap.org (OSM) huwa proġett komunitarju biex tinbena mappa ħielsa u miftuħa. Huwa s-sors ewlieni tad-dejta tal-mapep fil-CoMaps u xogħlijiet simili għall-Wikipedija. Tista żżid jew teditja postijiet u dawn isiru disponibbli għal miljuni ta utenti madwar id-dinja kollha. \nIngħaqad mal-komunita u għen biex issir mappa aħjar għal kulħadd!</string>
<string name="sort">Issortja…</string>
<string name="enable_show_on_lock_screen_description">Meta tkun attivata, l-applikazzjoni taħdem fuq il-lockscreen anki meta t-tagħmir ikun imsakkar.</string>
<string name="editor_comment_hint">Kumment…</string>
@@ -668,4 +668,9 @@
<string name="read_in_wikipedia">Wikipedia</string>
<string name="wikimedia_commons">Wikimedia Commons</string>
<string name="twentyfour_seven">24/7</string>
<string name="telegram_url">https://t.me/CoMapsApp/</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/About_OpenStreetMap</string>
<string name="translated_om_site_url">https://comaps.app/</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
</resources>

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>

View File

@@ -9,7 +9,7 @@
<string name="delete">Slett</string>
<string name="download_maps">Last ned kart</string>
<!-- Settings/Downloader - info for country when download fails -->
<string name="download_has_failed">Nedlastingen mislyktes trykk på nytt for å prøve en gang til</string>
<string name="download_has_failed">Nedlastingen mislyktes. Trykk for å prøve igjen.</string>
<!-- Settings/Downloader - info for country which started downloading -->
<string name="downloading">Laster ned …</string>
<!-- Choose measurement on first launch alert - choose metric system button -->
@@ -40,15 +40,15 @@
<string name="try_again">Prøv på nytt</string>
<string name="about_menu_title">Om CoMaps</string>
<!-- Text in About screen -->
<string name="about_headline">Gratis for alle, laget med kjærlighet</string>
<string name="about_headline">Åpent prosjekt drevet av felleskapet</string>
<!-- Text in About screen -->
<string name="about_proposition_1">Ingen annonser, ingen sporing, ingen datainnsamling</string>
<string name="about_proposition_1">Lett å bruke og polert</string>
<!-- Text in About screen -->
<string name="about_proposition_2">Ingen batterislitasje, fungerer offline</string>
<string name="about_proposition_2">Personvernfokusert og reklamefri</string>
<!-- Text in About screen -->
<string name="about_proposition_3">Rask, minimalistisk, utviklet av fellesskapet</string>
<string name="about_proposition_3">Offline, rask og kompakt</string>
<!-- Text in About screen -->
<string name="about_developed_by_enthusiasts">Open source-applikasjon opprettet av entusiaster og frivillige.</string>
<string name="about_developed_by_enthusiasts">Fullstendig åpen kildekode, ikke for profitt, gjennomsiktige beslutningsprosesser og finanser.</string>
<!-- The button that opens system location settings -->
<string name="location_settings">Innstillinger for plassering</string>
<string name="close">Lukk</string>
@@ -58,7 +58,7 @@
<string name="disconnect_usb_cable">Koble fra USB-kabelen eller sett inn minnekortet for å bruke CoMaps</string>
<!-- Used in DownloadResources startup screen -->
<string name="not_enough_free_space_on_sdcard">Frigjør plass på SD-kortet/USB-enheten først for å bruke appen</string>
<string name="download_resources">Før du begynner, la oss laste ned det generelle verdenskartet til enheten. Det trengs %s med data.</string>
<string name="download_resources">Før du begynner å bruke appen, last ned oversiktskartet over verden til enheten din.\nDet vil bruke %s lagringsplass.</string>
<string name="download_resources_continue">Gå til kart</string>
<string name="downloading_country_can_proceed">Laster ned %1$s (%2$s). Du kan nå \nfortsette til kartet.</string>
<string name="download_country_ask">Vil du laste ned %1$s? (%2$s)</string>
@@ -90,7 +90,7 @@
<!-- Header of settings activity where user defines storage path -->
<string name="maps_storage">Lagre kart på</string>
<!-- Detailed description of Maps Storage settings button -->
<string name="maps_storage_summary">Velg hvor du vil at kartene skal lastes ned til</string>
<string name="maps_storage_summary">Velg mappen hvor kartene skal lastes ned.</string>
<!-- E.g. "Downloaded maps: 500Mb" in Maps Storage settings -->
<string name="maps_storage_downloaded">Kart</string>
<!-- Internal storage type in Maps Storage settings (not accessible by the user) -->
@@ -108,7 +108,7 @@
<!-- Error moving map files from one storage to another -->
<string name="move_maps_error">Kunne ikke flytte kart</string>
<!-- Ask user to wait several minutes (some long process in modal dialog). -->
<string name="wait_several_minutes">Dette kan ta flere minutter. Vent et øyeblikk </string>
<string name="wait_several_minutes">Dette kan ta flere minutter. \nVent…</string>
<!-- Measurement units title in settings activity -->
<string name="measurement_units">Måleenheter</string>
<!-- Detailed description of Measurement Units settings button -->
@@ -191,7 +191,7 @@
<!-- Subject for emailed position -->
<string name="my_position_share_email_subject">Hei, se posisjonen min på CoMaps-kartet!</string>
<!-- Share my position using EMail, %1$@ is om:// and %2$@ is https://comaps.app link WITHOUT NAME -->
<string name="my_position_share_email">Hei,Jeg er her nå: %1$s. Klikk denne koblingen %2$s eller denne %3$s for å se stedet på kartet. \n \nTakk.</string>
<string name="my_position_share_email">Hei, \nJeg er her nå: %1$s. Klikk denne lenken %2$s eller denne %3$s for å se stedet på kartet. \n \nTakk.</string>
<!-- Share button text which opens menu with more buttons, like Message, EMail, Facebook etc. -->
<string name="share">Del</string>
<!-- Share by email button text, also used in editor and About. -->
@@ -306,7 +306,7 @@
<!-- Preference title -->
<string name="google_play_services">Google Play Stedstjenester</string>
<!-- Preference text -->
<string name="pref_use_google_play">Finn raskt ut din omtrentlige posisjon via Bluetooth, WiFi eller mobilnettverk</string>
<string name="pref_use_google_play">Produsenteid tjeneste som kombinerer GPS, Wi-Fi, mobilnettverk etc. for å bestemme posisjonen din mer nøyaktig. Den kan koble til Google-servere.</string>
<!-- Preference title -->
<!-- Preference description -->
<!-- Text for routing error dialog -->
@@ -356,7 +356,7 @@
<string name="dialog_routing_disclaimer_priority"> Veiforhold, trafikkregler og skilt skal alltid prioriteres fremfor navigasjonsråd;</string>
<string name="dialog_routing_disclaimer_precision"> Kartet kan inneholde unøyaktigheter, og den foreslåtte ruten er ikke nødvendigvis alltid den mest optimale veien;</string>
<string name="dialog_routing_disclaimer_recommendations"> Foreslåtte ruter bør bare anses som anbefalinger;</string>
<string name="dialog_routing_disclaimer_borders">— Vær forsiktig når det gjelder ruter i grenseområder: rutene som appen vår oppretter kan komme til å krysse landegrenser i uatoriserte områder;</string>
<string name="dialog_routing_disclaimer_borders">— Vær forsiktig med ruter i grenseområder: rutene som appen vår oppretter kan noen ganger krysse landegrenser i uautoriserte områder.</string>
<string name="dialog_routing_disclaimer_beware">Kjør trygt!</string>
<string name="dialog_routing_check_gps">Sjekk GPS-signal</string>
<string name="dialog_routing_error_location_not_found">Ingen rute ble opprettet. Nåværende GPS-koordinater ble ikke funnet.</string>
@@ -440,7 +440,7 @@
<string name="closed">Stengt</string>
<string name="edit_opening_hours">Rediger åpningstider</string>
<string name="no_osm_account">Har du ingen konto hos OpenStreetMap?</string>
<string name="register_at_openstreetmap">Registrer deg</string>
<string name="register_at_openstreetmap">Registrer deg på OpenStreetMap</string>
<string name="login">Logg inn</string>
<!-- Status message indicating that user did not login to OSM profile yet. -->
<string name="not_signed_in">Ikke logget inn</string>
@@ -551,11 +551,11 @@
<string name="error_enter_correct_phone">Skriv riktig telefonnummer</string>
<string name="error_enter_correct_web">Oppgi en gyldig nettadresse</string>
<string name="error_enter_correct_email">Oppgi en gyldig epostadresse</string>
<string name="error_enter_correct_facebook_page">Skriv inn en gyldig Facebook-adresse, -konto eller -side.</string>
<string name="error_enter_correct_facebook_page">Skriv inn en gyldig Facebook-adresse, -konto eller -side</string>
<string name="error_enter_correct_instagram_page">Skriv inn en gyldig Instagram-adresse eller -kontonavn</string>
<string name="error_enter_correct_twitter_page">Skriv inn en gyldig Twitter-adresse eller -brukernavn.</string>
<string name="error_enter_correct_vk_page">Skriv inn en gyldig VB-adresse eller -kontonavn</string>
<string name="error_enter_correct_line_page">Skriv inn en gyldig LINE-adresse eller -ID.</string>
<string name="error_enter_correct_twitter_page">Skriv inn en gyldig Twitter-adresse eller -brukernavn</string>
<string name="error_enter_correct_vk_page">Skriv inn en gyldig VK-adresse eller -kontonavn</string>
<string name="error_enter_correct_line_page">Skriv inn en gyldig LINE-adresse eller -ID</string>
<string name="placepage_add_place_button">Legg til sted i OpenStreetMap</string>
<!-- Displayed when saving some edits to the map to warn against publishing personal data -->
<string name="editor_share_to_all_dialog_title">Vil du sende det til alle brukere?</string>
@@ -644,7 +644,7 @@
<string name="privacy_policy">Personvernpolitikk</string>
<string name="terms_of_use">Bruksbetingelser</string>
<string name="button_layer_traffic">Trafikk</string>
<string name="button_layer_subway">T-bane</string>
<string name="subway">T-bane</string>
<string name="layers_title">Kartstiler og -lag</string>
<string name="subway_data_unavailable">T-banekart er utilgjengelig</string>
<string name="bookmarks_empty_list_title">Denne listen er tom</string>
@@ -752,7 +752,7 @@
<string name="elevation_profile_max_elevation">Maks. høyde</string>
<string name="elevation_profile_difficulty">Vanskelighet</string>
<string name="elevation_profile_distance">Avstand:</string>
<string name="elevation_profile_time">I rute</string>
<string name="elevation_profile_time">Tid:</string>
<string name="isolines_toast_zooms_1_10">Forstørr kartet for å se høydekurver</string>
<string name="downloader_loading_ios">Nedlasting</string>
<string name="download_map_title">Last ned verdenskart</string>
@@ -861,4 +861,14 @@
<string name="uri_open_location_failed">Ingen app installert som kan åpne stedet</string>
<!-- preference string for using auto theme only in navigation mode -->
<string name="nav_auto">Auto i navigasjon</string>
<string name="gb">GB</string>
<string name="error_enter_correct_level">Angi et gyldig etasjenummer</string>
<string name="editor_level">Etasje (0 er nederste etasje)</string>
<string name="pref_left_button_disable">Deaktiver</string>
<string name="saved">Lagret</string>
<string name="telegram_url">https://t.me/CoMapsApp/</string>
<string name="osm_wiki_about_url">https://wiki.openstreetmap.org/wiki/No:Hva_er_OpenStreetmap</string>
<string name="translated_om_site_url">https://comaps.app/</string>
<string name="tts_info_link">https://www.comaps.app/support/tts-configuration-guide-for-android/</string>
<string name="instagram_url">https://www.instagram.com/comapscommunity</string>
</resources>

View File

@@ -550,7 +550,7 @@
<string name="error_enter_correct_facebook_page">Voer een geldig Facebook-webadres, een accountnaam of een paginanaam in</string>
<string name="error_enter_correct_instagram_page">Voer een geldig Instagram-webadres of accountnaam in</string>
<string name="error_enter_correct_twitter_page">Voer een geldig Twitter-webadres of gebruikersnaam in</string>
<string name="error_enter_correct_vk_page">Voer een geldig VB-webadres of accountnaam in</string>
<string name="error_enter_correct_vk_page">Voer een geldig VK-webadres of accountnaam in</string>
<string name="error_enter_correct_line_page">Voer een geldig LINE-webadres of LINE ID in</string>
<string name="placepage_add_place_button">Voeg een plaats toe aan OpenStreetMap</string>
<!-- Displayed when saving some edits to the map to warn against publishing personal data -->
@@ -640,7 +640,7 @@
<string name="privacy_policy">Privacybeleid</string>
<string name="terms_of_use">Gebruiksvoorwaarden</string>
<string name="button_layer_traffic">Verkeer</string>
<string name="button_layer_subway">Metro</string>
<string name="subway">Metro</string>
<string name="layers_title">Kaartstijlen en -lagen</string>
<string name="subway_data_unavailable">Metrokaart is niet beschikbaar</string>
<string name="bookmarks_empty_list_title">Deze lijst is leeg</string>
@@ -891,4 +891,10 @@
<string name="editor_building_levels">Verdiepingen (incl. begane grond, excl. dak)</string>
<string name="error_enter_correct_level">Voer een geldig verdiepingnummer in</string>
<string name="error_enter_correct_bluesky_page">Voer een geldige Bluesky-gebruikersnaam of webadres in</string>
<string name="route_type">Type route</string>
<string name="vehicle">Voertuig</string>
<string name="bicycle">Fiets</string>
<string name="clear">Wissen</string>
<string name="pedestrian">Voetganger</string>
<string name="ruler">Lineaal</string>
</resources>

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