1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2025-07-04 06:49:16 +02:00

Compare commits

..

137 Commits
5.18 ... 6.3

Author SHA1 Message Date
8f4ce8d38c Code cleanup 2018-10-11 18:19:35 +02:00
b73072795a Update PL translation (#165)
Update gpxsee_pl.ts
2018-10-10 23:24:08 +02:00
57d3d9c965 Cosmetics 2018-10-09 22:59:20 +02:00
d97a8c03a7 Danish localization update 2018-10-09 22:48:21 +02:00
58b44d33a7 Fixed broken bounds handling 2018-10-09 22:46:28 +02:00
5c6f405795 appveyor script fix 2018-10-09 01:16:34 +02:00
156467a261 Added missing NSIS include file to appveyor script 2018-10-09 01:04:15 +02:00
f4d5f8d057 NSIS scripts cleanup 2018-10-09 00:46:13 +02:00
b3655f6a1f Squashed commit of the following:
commit f819840aff
Merge: 46bf281 49470f2
Author: Hosted Weblate <hosted@weblate.org>
Date:   Tue Oct 9 00:01:42 2018 +0200

    Merge branch 'origin/master' into Weblate

commit 49470f22b2
Merge: 078b272 ed03e31
Author: Hosted Weblate <hosted@weblate.org>
Date:   Mon Oct 8 23:56:36 2018 +0200

    Merge branch 'origin/master' into Weblate

commit ed03e31949
Merge: ce41409 605b09c
Author: Hosted Weblate <hosted@weblate.org>
Date:   Mon Oct 8 23:53:56 2018 +0200

    Merge branch 'origin/master' into Weblate

commit 605b09c195
Author: Allan Nordhøy <epost@anotheragency.no>
Date:   Mon Oct 8 20:26:04 2018 +0000

    Translated using Weblate (Norwegian Bokmål)

    Currently translated at 92.2% (299 of 324 strings)

    Translation: GPXSee/Translations
    Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/nb/

commit 0898953674
Merge: fd0401a 869fdf5
Author: Hosted Weblate <hosted@weblate.org>
Date:   Mon Oct 8 22:24:40 2018 +0200

    Merge branch 'origin/master' into Weblate

commit 869fdf5982
Merge: 7fe5189 aa32415
Author: Hosted Weblate <hosted@weblate.org>
Date:   Mon Oct 8 22:09:51 2018 +0200

    Merge branch 'origin/master' into Weblate

commit aa32415adb
Author: jan madsen <jsm@janz.dk>
Date:   Mon Oct 8 12:01:51 2018 +0000

    Translated using Weblate (Danish)

    Currently translated at 85.4% (275 of 322 strings)

    Translation: GPXSee/Translations
    Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/da/

commit c1a64d2c0b
Author: jan madsen <jsm@janz.dk>
Date:   Mon Oct 8 10:53:55 2018 +0000

    Translated using Weblate (Danish)

    Currently translated at 34.1% (110 of 322 strings)

    Translation: GPXSee/Translations
    Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/da/

commit 31bbdba548
Author: jan madsen <jsm@janz.dk>
Date:   Mon Oct 8 10:36:54 2018 +0000

    Translated using Weblate (Danish)

    Currently translated at 19.8% (64 of 322 strings)

    Translation: GPXSee/Translations
    Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/da/
2018-10-09 00:18:17 +02:00
f819840aff Merge branch 'origin/master' into Weblate 2018-10-09 00:01:42 +02:00
46bf281644 Enabled Danish localization 2018-10-09 00:01:18 +02:00
49470f22b2 Merge branch 'origin/master' into Weblate 2018-10-08 23:56:36 +02:00
078b272828 Squashed commit of the following:
commit ed03e31949
Merge: ce41409 605b09c
Author: Hosted Weblate <hosted@weblate.org>
Date:   Mon Oct 8 23:53:56 2018 +0200

    Merge branch 'origin/master' into Weblate

commit 605b09c195
Author: Allan Nordhøy <epost@anotheragency.no>
Date:   Mon Oct 8 20:26:04 2018 +0000

    Translated using Weblate (Norwegian Bokmål)

    Currently translated at 92.2% (299 of 324 strings)

    Translation: GPXSee/Translations
    Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/nb/

commit 0898953674
Merge: fd0401a 869fdf5
Author: Hosted Weblate <hosted@weblate.org>
Date:   Mon Oct 8 22:24:40 2018 +0200

    Merge branch 'origin/master' into Weblate

commit 869fdf5982
Merge: 7fe5189 aa32415
Author: Hosted Weblate <hosted@weblate.org>
Date:   Mon Oct 8 22:09:51 2018 +0200

    Merge branch 'origin/master' into Weblate

commit aa32415adb
Author: jan madsen <jsm@janz.dk>
Date:   Mon Oct 8 12:01:51 2018 +0000

    Translated using Weblate (Danish)

    Currently translated at 85.4% (275 of 322 strings)

    Translation: GPXSee/Translations
    Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/da/

commit c1a64d2c0b
Author: jan madsen <jsm@janz.dk>
Date:   Mon Oct 8 10:53:55 2018 +0000

    Translated using Weblate (Danish)

    Currently translated at 34.1% (110 of 322 strings)

    Translation: GPXSee/Translations
    Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/da/

commit 31bbdba548
Author: jan madsen <jsm@janz.dk>
Date:   Mon Oct 8 10:36:54 2018 +0000

    Translated using Weblate (Danish)

    Currently translated at 19.8% (64 of 322 strings)

    Translation: GPXSee/Translations
    Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/da/
2018-10-08 23:56:23 +02:00
ed03e31949 Merge branch 'origin/master' into Weblate 2018-10-08 23:53:56 +02:00
605b09c195 Translated using Weblate (Norwegian Bokmål)
Currently translated at 92.2% (299 of 324 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/nb/
2018-10-08 23:53:55 +02:00
ce41409713 Fixed english translation file (plurals only) 2018-10-08 23:53:24 +02:00
0898953674 Merge branch 'origin/master' into Weblate 2018-10-08 22:24:40 +02:00
fd0401a4a6 Yet another incomplete localization source fix 2018-10-08 22:24:05 +02:00
869fdf5982 Merge branch 'origin/master' into Weblate 2018-10-08 22:09:51 +02:00
7fe518966c Made the "About GPXSee" string better localizable. 2018-10-08 22:08:59 +02:00
e568806366 Never change a winning team! 2018-10-08 22:07:36 +02:00
aa32415adb Translated using Weblate (Danish)
Currently translated at 85.4% (275 of 322 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/da/
2018-10-08 21:29:35 +02:00
c1a64d2c0b Translated using Weblate (Danish)
Currently translated at 34.1% (110 of 322 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/da/
2018-10-08 13:40:14 +02:00
31bbdba548 Translated using Weblate (Danish)
Currently translated at 19.8% (64 of 322 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/da/
2018-10-08 12:53:39 +02:00
0e4a5abc2b Version++ 2018-10-07 22:48:02 +02:00
7a2f6b96a9 The correct language code for Norwegian-Bokmal is "nb", not "no" 2018-10-07 22:27:50 +02:00
24c03fc15b Code cleanup 2018-10-07 17:30:48 +02:00
f9af06267a Fixed HTTP2 settings handling 2018-10-07 14:22:13 +02:00
2f9751672e Code cleanup 2018-10-07 13:07:04 +02:00
140e975524 Better weblate link 2018-10-06 23:20:55 +02:00
e6a39b5146 Fixed QT4 build 2018-10-06 23:14:46 +02:00
937251fbdc Some more cosmetics 2018-10-06 21:31:12 +02:00
6e92557806 Code cleanup 2018-10-06 21:15:06 +02:00
a3625ac89d Squashed commit of the following:
commit 96de0be220ba1f05eb39693da1d0134f16fc4df7
Merge: a7e02bd c8411eb
Author: Hosted Weblate <hosted@weblate.org>
Date:   Fri Oct 5 07:11:07 2018 +0200

    Merge branch 'origin/master' into Weblate

commit c8411eb1bfc372cab3d5c213a3ee16312a38fb69
Merge: ed4e201 c581271
Author: Hosted Weblate <hosted@weblate.org>
Date:   Thu Oct 4 23:02:49 2018 +0200

    Merge branch 'origin/master' into Weblate

commit c58127179085143b6e74970f002f55156f11a92c
Merge: 06901d8 ffec7d8
Author: Hosted Weblate <hosted@weblate.org>
Date:   Thu Oct 4 01:37:35 2018 +0200

    Merge branch 'origin/master' into Weblate

commit ffec7d8f25c4d0af9dbfc57914d5d1ac55e2d8f0
Merge: 698f14c aa5fde7
Author: Hosted Weblate <hosted@weblate.org>
Date:   Tue Oct 2 22:22:22 2018 +0200

    Merge branch 'origin/master' into Weblate

commit aa5fde7bedf6930cf8790f55cfc9667438084edc
Merge: f880641 4c539a1
Author: Hosted Weblate <hosted@weblate.org>
Date:   Tue Oct 2 22:19:54 2018 +0200

    Merge branch 'origin/master' into Weblate

commit 4c539a1e5d98e9ed83060773be187636eb6e91ce
Merge: 52e8eb1 2b8deb9
Author: Hosted Weblate <hosted@weblate.org>
Date:   Tue Oct 2 22:05:00 2018 +0200

    Merge branch 'origin/master' into Weblate

commit 2b8deb974ccbde60f9f6eae63838450a122cefca
Author: Allan Nordhøy <epost@anotheragency.no>
Date:   Tue Oct 2 20:02:35 2018 +0000

    Translated using Weblate (Norwegian Bokmål)

    Currently translated at 92.5% (298 of 322 strings)

    Translation: GPXSee/Translations
    Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/nb_NO/

commit f7d03c73ace7a8bde5dc7255abfe88f7aac5c84e
Merge: 0483d39 383ab1f
Author: Hosted Weblate <hosted@weblate.org>
Date:   Tue Oct 2 22:02:34 2018 +0200

    Merge branch 'origin/master' into Weblate

commit 383ab1fa834e0d0e124e0d5ccd78f3c47ca42026
Author: Allan Nordhøy <epost@anotheragency.no>
Date:   Tue Oct 2 20:00:54 2018 +0000

    Translated using Weblate (Norwegian Bokmål)

    Currently translated at 90.9% (293 of 322 strings)

    Translation: GPXSee/Translations
    Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/nb_NO/

commit 0b833eae60340905bf1ef541bc90ad38233b5d77
Merge: 5aa2138 e2df88b
Author: Hosted Weblate <hosted@weblate.org>
Date:   Tue Oct 2 21:57:00 2018 +0200

    Merge branch 'origin/master' into Weblate

commit e2df88b716a0679b336a56a8453640f66655977b
Author: Allan Nordhøy <epost@anotheragency.no>
Date:   Tue Oct 2 09:49:57 2018 +0000

    Translated using Weblate (Norwegian Bokmål)

    Currently translated at 89.7% (289 of 322 strings)

    Translation: GPXSee/Translations
    Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/nb_NO/

commit 6ba37af419a6398819d0570950981a75ba3252bd
Author: Åke Engelbrektson <eson@svenskasprakfiler.se>
Date:   Sun Sep 30 10:23:13 2018 +0000

    Translated using Weblate (Swedish)

    Currently translated at 100.0% (324 of 324 strings)

    Translation: GPXSee/Translations
    Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/sv/

commit e5fa1d82f67654db0e37364fb2b25c37529ec79f
Author: Nikolay Korotkiy <sikmir@gmail.com>
Date:   Sun Sep 30 13:34:23 2018 +0000

    Translated using Weblate (Finnish)

    Currently translated at 98.1% (318 of 324 strings)

    Translation: GPXSee/Translations
    Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/fi/

commit a6bdd375192c945507b12aaac130aca9078bf545
Author: Nikolay Korotkiy <sikmir@gmail.com>
Date:   Sun Sep 30 13:33:39 2018 +0000

    Translated using Weblate (Russian)

    Currently translated at 100.0% (324 of 324 strings)

    Translation: GPXSee/Translations
    Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/ru/

commit 1db745c700dc4e7803d0ba295ea94cf199fdca43
Merge: 254deae 8443cd9
Author: Hosted Weblate <hosted@weblate.org>
Date:   Sun Sep 30 12:16:52 2018 +0200

    Merge branch 'origin/master' into Weblate

commit 8443cd91f9cc2dbb511d74c9b47f1c530f27d4e1
Merge: 076a091 cdba9e7
Author: Hosted Weblate <hosted@weblate.org>
Date:   Sun Sep 30 11:35:56 2018 +0200

    Merge branch 'origin/master' into Weblate

commit cdba9e779444269e15ac9ff13c9ae59ed5b0c7a2
Author: Nikolay Korotkiy <sikmir@gmail.com>
Date:   Tue Sep 25 20:43:37 2018 +0000

    Translated using Weblate (Russian)

    Currently translated at 100.0% (323 of 323 strings)

    Translation: GPXSee/Translations
    Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/ru/
2018-10-06 19:39:30 +02:00
a7e02bdc8b Some more cosmetic optimizations 2018-10-05 07:10:49 +02:00
ed4e201b08 Cosmetics 2018-10-04 23:02:43 +02:00
06901d8d7a Fixed -Wold-style-cast warnings 2018-10-04 01:37:07 +02:00
698f14c835 Fixed XML syntax 2018-10-02 22:22:00 +02:00
f8806417d4 Metadata update 2018-10-02 22:19:46 +02:00
52e8eb1f6e Version++ 2018-10-02 22:04:51 +02:00
0483d393ac Enabled Norwegian localization 2018-10-02 22:02:07 +02:00
5aa21380cb Squashed commit of the following:
commit e2df88b716a0679b336a56a8453640f66655977b
Author: Allan Nordhøy <epost@anotheragency.no>
Date:   Tue Oct 2 09:49:57 2018 +0000

    Translated using Weblate (Norwegian Bokmål)

    Currently translated at 89.7% (289 of 322 strings)

    Translation: GPXSee/Translations
    Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/nb_NO/

commit 6ba37af419a6398819d0570950981a75ba3252bd
Author: Åke Engelbrektson <eson@svenskasprakfiler.se>
Date:   Sun Sep 30 10:23:13 2018 +0000

    Translated using Weblate (Swedish)

    Currently translated at 100.0% (324 of 324 strings)

    Translation: GPXSee/Translations
    Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/sv/

commit e5fa1d82f67654db0e37364fb2b25c37529ec79f
Author: Nikolay Korotkiy <sikmir@gmail.com>
Date:   Sun Sep 30 13:34:23 2018 +0000

    Translated using Weblate (Finnish)

    Currently translated at 98.1% (318 of 324 strings)

    Translation: GPXSee/Translations
    Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/fi/

commit a6bdd375192c945507b12aaac130aca9078bf545
Author: Nikolay Korotkiy <sikmir@gmail.com>
Date:   Sun Sep 30 13:33:39 2018 +0000

    Translated using Weblate (Russian)

    Currently translated at 100.0% (324 of 324 strings)

    Translation: GPXSee/Translations
    Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/ru/

commit 1db745c700dc4e7803d0ba295ea94cf199fdca43
Merge: 254deae 8443cd9
Author: Hosted Weblate <hosted@weblate.org>
Date:   Sun Sep 30 12:16:52 2018 +0200

    Merge branch 'origin/master' into Weblate

commit 8443cd91f9cc2dbb511d74c9b47f1c530f27d4e1
Merge: 076a091 cdba9e7
Author: Hosted Weblate <hosted@weblate.org>
Date:   Sun Sep 30 11:35:56 2018 +0200

    Merge branch 'origin/master' into Weblate

commit cdba9e779444269e15ac9ff13c9ae59ed5b0c7a2
Author: Nikolay Korotkiy <sikmir@gmail.com>
Date:   Tue Sep 25 20:43:37 2018 +0000

    Translated using Weblate (Russian)

    Currently translated at 100.0% (323 of 323 strings)

    Translation: GPXSee/Translations
    Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/ru/
2018-10-02 21:56:43 +02:00
254deae04a Code cleanup 2018-09-30 12:16:41 +02:00
076a091a5b Translations unification 2018-09-30 11:35:33 +02:00
bb7787b001 Refactoring 2018-09-25 21:07:44 +02:00
bc6d48d1fe Some more code cleanup 2018-09-25 01:49:08 +02:00
9bae94f30d qWarning() mesage formating cleanup 2018-09-24 23:07:11 +02:00
351fc0309a Code cleanup 2018-09-24 22:49:10 +02:00
d8116c7f5d Properly fixed the zoom 0 display issue
(without breaking non-default map bounds)
2018-09-23 21:07:16 +02:00
083dd39bef Fixed broken merge 2018-09-23 12:20:04 +02:00
bd64ca4f57 Merge branch 'origin/master' into Weblate 2018-09-23 12:00:15 +02:00
b382a5e674 Translated using Weblate (Russian)
Currently translated at 100.0% (323 of 323 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/ru/
2018-09-23 11:57:20 +02:00
20687a1df7 Translated using Weblate (Finnish)
Currently translated at 98.1% (317 of 323 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/fi/
2018-09-23 11:57:20 +02:00
bb82750e9b Translated using Weblate (German)
Currently translated at 100.0% (323 of 323 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/de/
2018-09-23 11:57:20 +02:00
51e6058960 Translated using Weblate (German)
Currently translated at 99.6% (322 of 323 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/de/
2018-09-23 11:57:20 +02:00
db3f111815 Translated using Weblate (Swedish)
Currently translated at 100.0% (323 of 323 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/sv/
2018-09-23 11:57:20 +02:00
219311577f Translated using Weblate (German)
Currently translated at 99.3% (321 of 323 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/de/
2018-09-23 11:57:20 +02:00
26d4770f47 Translated using Weblate (Czech)
Currently translated at 100.0% (323 of 323 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/cs/
2018-09-23 11:57:20 +02:00
db0d9ceffb Translated using Weblate (Russian)
Currently translated at 99.3% (320 of 322 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/ru/
2018-09-23 11:57:20 +02:00
fc9b01480c Translated using Weblate (Russian)
Currently translated at 99.0% (319 of 322 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/ru/
2018-09-23 11:56:41 +02:00
cd8f415615 Translated using Weblate (Russian)
Currently translated at 100.0% (323 of 323 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/ru/
2018-09-23 11:35:22 +02:00
824393879b Translated using Weblate (Finnish)
Currently translated at 98.1% (317 of 323 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/fi/
2018-09-23 11:35:21 +02:00
f79f555d6f Translated using Weblate (German)
Currently translated at 100.0% (323 of 323 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/de/
2018-09-23 11:35:02 +02:00
13e9a50d59 Translated using Weblate (German)
Currently translated at 99.6% (322 of 323 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/de/
2018-09-23 11:23:05 +02:00
f1667e70b5 Translated using Weblate (Swedish)
Currently translated at 100.0% (323 of 323 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/sv/
2018-09-23 09:23:04 +02:00
1ce347230b Translated using Weblate (German)
Currently translated at 99.3% (321 of 323 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/de/
2018-09-23 09:23:04 +02:00
d4f3e293df Translated using Weblate (Czech)
Currently translated at 100.0% (323 of 323 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/cs/
2018-09-23 09:23:03 +02:00
7492b74aed Merge branch 'origin/master' into Weblate 2018-09-22 23:31:47 +02:00
71dbb176bb Translation sources update 2018-09-22 23:30:54 +02:00
301107add1 Merge branch 'origin/master' into Weblate 2018-09-22 23:13:58 +02:00
60ae4c0268 Translations update 2018-09-22 23:12:22 +02:00
bd76e508ae Merge branch 'origin/master' into Weblate 2018-09-22 14:17:48 +02:00
e9f7642cde Code cleanup 2018-09-22 14:17:24 +02:00
5c73cb55cb Merge branch 'origin/master' into Weblate 2018-09-22 13:33:21 +02:00
c39298000d Added TMS maps support 2018-09-22 13:32:54 +02:00
e17d7d4a8f Merge branch 'origin/master' into Weblate 2018-09-22 12:43:45 +02:00
65b74b146d Added support for local (file:) URLs 2018-09-22 12:42:49 +02:00
b937b9f2cb Merge branch 'origin/master' into Weblate 2018-09-22 10:26:29 +02:00
d7fe0fa9bf Fixed broken automatic loading of MBTiles maps 2018-09-22 10:25:43 +02:00
9657104f50 Merge branch 'origin/master' into Weblate 2018-09-21 23:25:07 +02:00
5a692c71a8 Added support for tiles with a different size than 256px 2018-09-21 23:18:05 +02:00
e8ede272ae Merge branch 'origin/master' into Weblate 2018-09-21 01:59:41 +02:00
39a8a144dd Addedmissing SQL libs to the Windows installer 2018-09-21 01:58:58 +02:00
02700a485d Merge branch 'origin/master' into Weblate 2018-09-21 00:20:17 +02:00
99ea19e35a Use the map name from the metadata table if available 2018-09-21 00:19:30 +02:00
a6bb0f1520 Merge branch 'origin/master' into Weblate 2018-09-20 08:51:13 +02:00
0a74684713 Improved map validity checks 2018-09-20 08:50:52 +02:00
332a4d9393 Merge branch 'origin/master' into Weblate 2018-09-20 08:00:21 +02:00
db98f381b5 Added initial MBTiles support 2018-09-20 07:59:47 +02:00
31a600638f Translated using Weblate (Norwegian Bokmål)
Currently translated at 13.9% (45 of 322 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/nb_NO/
2018-09-20 05:29:31 +02:00
2ff18bc373 Merge branch 'origin/master' into Weblate 2018-09-19 01:06:37 +02:00
c2e301f4e8 Added Norwegian translation file 2018-09-19 01:05:49 +02:00
a25303fe98 Merge branch 'origin/master' into Weblate 2018-09-17 20:12:05 +02:00
2bee8656a4 Properly split the paths exactly at the date line 2018-09-17 20:11:23 +02:00
4a31f6f76d Merge branch 'origin/master' into Weblate 2018-09-16 19:40:06 +02:00
eaef588443 Moved maps info to a separate section 2018-09-16 19:40:02 +02:00
87a808265e Merge branch 'origin/master' into Weblate 2018-09-16 19:34:21 +02:00
a39cef2abd Fixed typo 2018-09-16 19:34:18 +02:00
960827e92b Merge branch 'origin/master' into Weblate 2018-09-16 19:32:42 +02:00
7de1b84f77 Extended build info 2018-09-16 19:32:40 +02:00
4b1fa13429 Merge branch 'origin/master' into Weblate 2018-09-16 17:51:14 +02:00
f10857eddc Added english translation file
(Language selection is broken without it on Mac when the user's languages
list contains more than one language)
2018-09-16 17:49:47 +02:00
781fc22113 Merge branch 'origin/master' into Weblate 2018-09-16 17:41:00 +02:00
9ced0fd3a7 Do not process the Danish translations until they are done 2018-09-16 17:40:22 +02:00
3e71d1b785 Merge branch 'origin/master' into Weblate 2018-09-16 17:13:31 +02:00
491bf5614b Lupdate formating 2018-09-16 17:12:49 +02:00
fc873719e1 Merge branch 'origin/master' into Weblate 2018-09-16 17:12:05 +02:00
99c3edddfd Added Danish translation stub 2018-09-16 17:11:35 +02:00
fde8ad620b Merge branch 'origin/master' into Weblate 2018-09-16 13:19:35 +02:00
7855c69729 Fixed WMS/WMTS URLs composing 2018-09-16 12:05:11 +02:00
8749be9103 Merge branch 'origin/master' into Weblate 2018-09-15 13:40:38 +02:00
6f9f49a435 Merge branch 'origin/master' into Weblate 2018-09-15 10:43:17 +02:00
cfdb12c4ae Merge branch 'origin/master' into Weblate 2018-09-15 08:40:35 +02:00
9436f98023 Merge branch 'origin/master' into Weblate 2018-09-15 00:23:12 +02:00
905f80b1ce Merge branch 'origin/master' into Weblate 2018-09-14 00:09:53 +02:00
4ef1fa77f8 Merge branch 'origin/master' into Weblate 2018-09-13 01:45:21 +02:00
d483cd35cd Merge branch 'origin/master' into Weblate 2018-09-13 01:15:41 +02:00
c2b09df118 Merge branch 'origin/master' into Weblate 2018-09-13 00:48:49 +02:00
7e537d819a Merge branch 'origin/master' into Weblate 2018-09-12 20:13:37 +02:00
b68567f000 Merge branch 'origin/master' into Weblate 2018-09-12 19:58:17 +02:00
ca8ff6c7ee Translated using Weblate (Finnish)
Currently translated at 98.1% (316 of 322 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/fi/
2018-09-11 11:42:40 +02:00
e9c15ef956 Translated using Weblate (Finnish)
Currently translated at 97.8% (315 of 322 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/fi/
2018-09-11 09:15:20 +02:00
e39f0881ab Translated using Weblate (Russian)
Currently translated at 100.0% (322 of 322 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/ru/
2018-09-11 08:55:41 +02:00
6f05d38d31 Translated using Weblate (Russian)
Currently translated at 99.3% (320 of 322 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/ru/
2018-09-11 08:26:55 +02:00
9cb91a35ef Translated using Weblate (Russian)
Currently translated at 99.0% (319 of 322 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/ru/
2018-09-11 08:21:48 +02:00
bb0073d7e7 Translated using Weblate (Swedish)
Currently translated at 100.0% (322 of 322 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/sv/
2018-09-11 08:21:47 +02:00
97d646bb19 Merge branch 'origin/master' into Weblate 2018-09-11 01:01:05 +02:00
3fcf04daf7 Merge branch 'origin/master' into Weblate 2018-09-11 00:36:06 +02:00
3daab92b84 Merge branch 'origin/master' into Weblate 2018-09-11 00:34:31 +02:00
fc555fd7d0 Merge branch 'origin/master' into Weblate 2018-09-10 21:23:03 +02:00
57741f8c2d Translated using Weblate (Swedish)
Currently translated at 100.0% (316 of 316 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/sv/
2018-09-09 19:10:29 +02:00
6eb3a4f7de Translated using Weblate (Russian)
Currently translated at 100.0% (316 of 316 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/ru/
2018-09-09 19:10:29 +02:00
295a89b3cc Translated using Weblate (German)
Currently translated at 100.0% (316 of 316 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/de/
2018-09-09 19:10:29 +02:00
dc3fdc4c3b Translated using Weblate (Finnish)
Currently translated at 98.7% (312 of 316 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/fi/
2018-09-09 19:10:29 +02:00
3867b723a9 Translated using Weblate (Swedish)
Currently translated at 100.0% (316 of 316 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/sv/
2018-09-09 19:10:29 +02:00
d7fc400d73 Translated using Weblate (Russian)
Currently translated at 100.0% (316 of 316 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/ru/
2018-09-09 19:10:29 +02:00
f8f6859e7d Translated using Weblate (Finnish)
Currently translated at 98.7% (312 of 316 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/fi/
2018-09-09 19:10:29 +02:00
67 changed files with 5570 additions and 1582 deletions

View File

@ -1,4 +1,4 @@
version: 5.18.{build}
version: 6.3.{build}
configuration: Release
platform: Any CPU
environment:
@ -34,6 +34,8 @@ build_script:
copy pkg\%NSI% installer
copy pkg\macros.nsh installer
xcopy pkg\csv installer\csv /i
xcopy pkg\maps installer\maps /i

View File

@ -3,8 +3,8 @@ GPXSee is a Qt-based GPS log file viewer and analyzer that supports GPX, TCX,
KML, FIT, IGC, NMEA, SLF, LOC and OziExplorer files.
## Features
* [User-definable online maps](https://github.com/tumic0/GPXSee-maps) (OSM/Google tiles, WMTS, WMS).
* Offline maps (OziExplorer maps, TrekBuddy maps/atlases, Garmin JNX maps, GeoTIFF images).
* User-definable online maps (OpenStreetMap/Google tiles, WMTS, WMS, TMS).
* Offline maps (MBTiles, OziExplorer maps, TrekBuddy maps/atlases, Garmin JNX maps, GeoTIFF images).
* Elevation, speed, heart rate, cadence, power, temperature and gear ratio/shifts graphs.
* Support for multiple tracks in one view.
* Support for POI files.
@ -17,10 +17,15 @@ KML, FIT, IGC, NMEA, SLF, LOC and OziExplorer files.
![GPXSee - Linux](https://a.fsdn.com/con/app/proj/gpxsee/screenshots/linux2.png)
## Build
Build requirements:
* Qt 4.8 or QT 5.x (Qt >= 5.10.1 recommended for all features)
* C++03 compiler (tested: msvc2015, gcc >= 4.8, clang/Apple LLVM version 8.1.0)
Build steps:
```shell
lrelease gpxsee.pro
qmake gpxsee.pro
make
make # nmake on windows
```
## Download
@ -33,5 +38,8 @@ make
## Homepage
http://www.gpxsee.org
## Maps
[GPXSee maps repository](https://github.com/tumic0/GPXSee-maps)
## Translations
GPXSee uses [Weblate](https://hosted.weblate.org/projects/gpxsee) for translations.
GPXSee uses [Weblate](https://hosted.weblate.org/projects/gpxsee/translations/) for translations.

View File

@ -1,9 +1,10 @@
TARGET = GPXSee
VERSION = 5.18
VERSION = 6.3
QT += core \
gui \
network
network \
sql
greaterThan(QT_MAJOR_VERSION, 4) {
QT += widgets
QT += printsupport
@ -18,8 +19,9 @@ HEADERS += src/config.h \
src/common/range.h \
src/common/rectc.h \
src/common/wgs84.h \
src/common/str2int.h \
src/common/util.h \
src/common/rtree.h \
src/common/kv.h \
src/GUI/app.h \
src/GUI/icons.h \
src/GUI/gui.h \
@ -69,7 +71,6 @@ HEADERS += src/config.h \
src/GUI/gearratiographitem.h \
src/GUI/oddspinbox.h \
src/GUI/settings.h \
src/GUI/nicenum.h \
src/GUI/cpuarch.h \
src/GUI/searchpointer.h \
src/GUI/mapview.h \
@ -137,17 +138,18 @@ HEADERS += src/config.h \
src/map/mercator.h \
src/map/jnxmap.h \
src/map/krovak.h \
src/GUI/kv.h \
src/data/locparser.h \
src/data/slfparser.h \
src/map/geotiffmap.h \
src/map/image.h \
src/common/greatcircle.h
src/common/greatcircle.h \
src/map/mbtilesmap.h \
src/map/osm.h
SOURCES += src/main.cpp \
src/common/coordinates.cpp \
src/common/rectc.cpp \
src/common/range.cpp \
src/common/str2int.cpp \
src/common/util.cpp \
src/GUI/app.cpp \
src/GUI/gui.cpp \
src/GUI/axisitem.cpp \
@ -189,7 +191,6 @@ SOURCES += src/main.cpp \
src/GUI/cadencegraphitem.cpp \
src/GUI/powergraphitem.cpp \
src/GUI/gearratiographitem.cpp \
src/GUI/nicenum.cpp \
src/GUI/mapview.cpp \
src/map/maplist.cpp \
src/map/onlinemap.cpp \
@ -248,28 +249,36 @@ SOURCES += src/main.cpp \
src/data/slfparser.cpp \
src/map/geotiffmap.cpp \
src/map/image.cpp \
src/common/greatcircle.cpp
src/common/greatcircle.cpp \
src/map/mbtilesmap.cpp \
src/map/osm.cpp
RESOURCES += gpxsee.qrc
TRANSLATIONS = lang/gpxsee_cs.ts \
TRANSLATIONS = lang/gpxsee_en.ts \
lang/gpxsee_cs.ts \
lang/gpxsee_sv.ts \
lang/gpxsee_de.ts \
lang/gpxsee_ru.ts \
lang/gpxsee_fi.ts \
lang/gpxsee_fr.ts \
lang/gpxsee_pl.ts
lang/gpxsee_pl.ts \
lang/gpxsee_nb.ts \
lang/gpxsee_da.ts
macx {
ICON = icons/gpxsee.icns
QMAKE_INFO_PLIST = pkg/Info.plist
LOCALE.path = Contents/Resources/translations
LOCALE.files = lang/gpxsee_cs.qm \
LOCALE.files = lang/gpxsee_en.qm \
lang/gpxsee_cs.qm \
lang/gpxsee_de.qm \
lang/gpxsee_fi.qm \
lang/gpxsee_fr.qm \
lang/gpxsee_ru.qm \
lang/gpxsee_sv.qm \
lang/gpxsee_pl.qm
lang/gpxsee_pl.qm \
lang/gpxsee_nb.qm \
lang/gpxsee_da.qm
CSV.path = Contents/Resources
CSV.files = pkg/csv
MAPS.path = Contents/Resources

View File

@ -182,94 +182,99 @@
<context>
<name>ExportDialog</name>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="134"/>
<location filename="../src/GUI/exportdialog.cpp" line="135"/>
<source>Export to PDF</source>
<translation>Exportovat do PDF</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="25"/>
<source>PDF files (*.pdf);;All files (*)</source>
<translation>Soubory PDF (*.pdf);;Všechny soubory (*)</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="51"/>
<location filename="../src/GUI/exportdialog.cpp" line="52"/>
<source>Portrait</source>
<translation>Na výšku</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="52"/>
<location filename="../src/GUI/exportdialog.cpp" line="53"/>
<source>Landscape</source>
<translation>Na šířku</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="96"/>
<location filename="../src/GUI/exportdialog.cpp" line="97"/>
<source>Page size:</source>
<translation>Velikost stránky:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="98"/>
<location filename="../src/GUI/exportdialog.cpp" line="99"/>
<source>Orientation:</source>
<translation>Orientace:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="93"/>
<location filename="../src/GUI/exportdialog.cpp" line="94"/>
<source>Page Setup</source>
<translation>Nastavení stránky</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="65"/>
<location filename="../src/GUI/exportdialog.cpp" line="25"/>
<source>PDF files</source>
<translation>Soubory PDF</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="25"/>
<source>All files</source>
<translation>Všechny soubory</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="66"/>
<source>in</source>
<translation>in</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="65"/>
<location filename="../src/GUI/exportdialog.cpp" line="66"/>
<source>mm</source>
<translation>mm</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="97"/>
<location filename="../src/GUI/exportdialog.cpp" line="98"/>
<source>Resolution:</source>
<translation>Rozlišení:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="99"/>
<location filename="../src/GUI/exportdialog.cpp" line="100"/>
<source>Margins:</source>
<translation>Okraje:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="105"/>
<location filename="../src/GUI/exportdialog.cpp" line="106"/>
<source>File:</source>
<translation>Soubor:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="112"/>
<location filename="../src/GUI/exportdialog.cpp" line="113"/>
<source>Output file</source>
<translation>Výstupní soubor</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="119"/>
<location filename="../src/GUI/exportdialog.cpp" line="120"/>
<source>Export</source>
<translation>Exportovat</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/>
<location filename="../src/GUI/exportdialog.cpp" line="151"/>
<location filename="../src/GUI/exportdialog.cpp" line="156"/>
<location filename="../src/GUI/exportdialog.cpp" line="142"/>
<location filename="../src/GUI/exportdialog.cpp" line="152"/>
<location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>Error</source>
<translation>Chyba</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/>
<location filename="../src/GUI/exportdialog.cpp" line="142"/>
<source>No output file selected.</source>
<translation>Nebyl zvolen žádný výstupní soubor.</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="151"/>
<location filename="../src/GUI/exportdialog.cpp" line="152"/>
<source>%1 is a directory.</source>
<translation>%1 je adresář.</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="156"/>
<location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>%1 is not writable.</source>
<translation>%1 nelze zapsat.</translation>
</message>
@ -316,393 +321,398 @@
<context>
<name>GUI</name>
<message>
<location filename="../src/GUI/gui.cpp" line="647"/>
<source>GPXSee is distributed under the terms of the GNU General Public License version 3. For more info about GPXSee visit the project homepage at </source>
<translation>Program GPXSee je distribuován pod podmínkami licence GNU General Public License verze 3. Pro více informací navštivte stránky programu na adrese </translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="721"/>
<location filename="../src/GUI/gui.cpp" line="725"/>
<source>Open file</source>
<translation>Otevřít soubor</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="826"/>
<location filename="../src/GUI/gui.cpp" line="830"/>
<source>Open POI file</source>
<translation>Otevřít POI soubor</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="205"/>
<location filename="../src/GUI/gui.cpp" line="208"/>
<source>Quit</source>
<translation>Ukončit</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="215"/>
<location filename="../src/GUI/gui.cpp" line="664"/>
<location filename="../src/GUI/gui.cpp" line="665"/>
<location filename="../src/GUI/gui.cpp" line="218"/>
<location filename="../src/GUI/gui.cpp" line="668"/>
<location filename="../src/GUI/gui.cpp" line="669"/>
<source>Keyboard controls</source>
<translation>Ovládací klávesy</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="241"/>
<location filename="../src/GUI/gui.cpp" line="244"/>
<source>Close</source>
<translation>Zavřít</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="247"/>
<location filename="../src/GUI/gui.cpp" line="250"/>
<source>Reload</source>
<translation>Znovu načíst</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="573"/>
<location filename="../src/GUI/gui.cpp" line="576"/>
<source>Show</source>
<translation>Zobrazit</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="566"/>
<location filename="../src/GUI/gui.cpp" line="569"/>
<source>File</source>
<translation>Soubor</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="266"/>
<location filename="../src/GUI/gui.cpp" line="269"/>
<source>Close POI files</source>
<translation>Zavřit POI soubory</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="270"/>
<location filename="../src/GUI/gui.cpp" line="273"/>
<source>Overlap POIs</source>
<translation>Překrývat POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="275"/>
<location filename="../src/GUI/gui.cpp" line="278"/>
<source>Show POI labels</source>
<translation>Zobrazit názvy POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="280"/>
<location filename="../src/GUI/gui.cpp" line="283"/>
<source>Show POIs</source>
<translation>Zobrazit POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="290"/>
<location filename="../src/GUI/gui.cpp" line="293"/>
<source>Show map</source>
<translation>Zobrazit mapu</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="302"/>
<location filename="../src/GUI/gui.cpp" line="305"/>
<source>Clear tile cache</source>
<translation>Vymazat mezipaměť dlaždic</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="223"/>
<location filename="../src/GUI/gui.cpp" line="226"/>
<source>Open...</source>
<translation>Otevřít...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="212"/>
<location filename="../src/GUI/gui.cpp" line="698"/>
<location filename="../src/GUI/gui.cpp" line="699"/>
<location filename="../src/GUI/gui.cpp" line="215"/>
<location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="703"/>
<source>Paths</source>
<translation>Cesty</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="254"/>
<location filename="../src/GUI/gui.cpp" line="257"/>
<source>Statistics...</source>
<translation>Statistika...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="262"/>
<location filename="../src/GUI/gui.cpp" line="265"/>
<source>Load POI file...</source>
<translation>Nahrát POI soubor...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="298"/>
<location filename="../src/GUI/gui.cpp" line="301"/>
<source>Load map...</source>
<translation>Nahrát mapu...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="307"/>
<location filename="../src/GUI/gui.cpp" line="312"/>
<location filename="../src/GUI/gui.cpp" line="681"/>
<location filename="../src/GUI/gui.cpp" line="310"/>
<location filename="../src/GUI/gui.cpp" line="315"/>
<location filename="../src/GUI/gui.cpp" line="685"/>
<source>Next map</source>
<translation>Následující mapa</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="323"/>
<location filename="../src/GUI/gui.cpp" line="326"/>
<source>Show tracks</source>
<translation>Zobrazit cesty</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="328"/>
<location filename="../src/GUI/gui.cpp" line="331"/>
<source>Show routes</source>
<translation>Zobrazit trasy</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="333"/>
<location filename="../src/GUI/gui.cpp" line="336"/>
<source>Show waypoints</source>
<translation>Zobrazit navigační body</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="338"/>
<location filename="../src/GUI/gui.cpp" line="341"/>
<source>Waypoint labels</source>
<translation>Názvy navigačních bodů</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="350"/>
<location filename="../src/GUI/gui.cpp" line="353"/>
<source>Show graphs</source>
<translation>Zobrazit grafy</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="374"/>
<location filename="../src/GUI/gui.cpp" line="377"/>
<source>Show grid</source>
<translation>Zobrazit mřížku</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="379"/>
<location filename="../src/GUI/gui.cpp" line="382"/>
<source>Show slider info</source>
<translation>Zobrazit informace o posuvníku</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="386"/>
<location filename="../src/GUI/gui.cpp" line="389"/>
<source>Show toolbars</source>
<translation>Zobrazovat nástrojové lišty</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="393"/>
<location filename="../src/GUI/gui.cpp" line="396"/>
<source>Total time</source>
<translation>Celkový čas</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="399"/>
<location filename="../src/GUI/gui.cpp" line="1018"/>
<location filename="../src/GUI/gui.cpp" line="1082"/>
<location filename="../src/GUI/gui.cpp" line="402"/>
<location filename="../src/GUI/gui.cpp" line="1022"/>
<location filename="../src/GUI/gui.cpp" line="1086"/>
<source>Moving time</source>
<translation>Čistý čas</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="407"/>
<location filename="../src/GUI/gui.cpp" line="410"/>
<source>Metric</source>
<translation>Metrické</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="413"/>
<location filename="../src/GUI/gui.cpp" line="416"/>
<source>Imperial</source>
<translation>Imperiální</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="419"/>
<location filename="../src/GUI/gui.cpp" line="422"/>
<source>Nautical</source>
<translation>Námořní</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="427"/>
<location filename="../src/GUI/gui.cpp" line="430"/>
<source>Decimal degrees (DD)</source>
<translation>Desetinné stupně (DD)</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="433"/>
<location filename="../src/GUI/gui.cpp" line="436"/>
<source>Degrees and decimal minutes (DMM)</source>
<translation>Stupně a desetinné minuty (DMM)</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="440"/>
<location filename="../src/GUI/gui.cpp" line="443"/>
<source>Degrees, minutes, seconds (DMS)</source>
<translation>Stupně, minuty, vteřiny (DMS)</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="446"/>
<location filename="../src/GUI/gui.cpp" line="449"/>
<source>Fullscreen mode</source>
<translation>Celoobrazovkový režim</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="453"/>
<location filename="../src/GUI/gui.cpp" line="456"/>
<source>Options...</source>
<translation>Nastavení...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="459"/>
<location filename="../src/GUI/gui.cpp" line="462"/>
<source>Next</source>
<translation>Následující</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="463"/>
<location filename="../src/GUI/gui.cpp" line="466"/>
<source>Previous</source>
<translation>Předchozí</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="467"/>
<location filename="../src/GUI/gui.cpp" line="470"/>
<source>Last</source>
<translation>Poslední</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="471"/>
<location filename="../src/GUI/gui.cpp" line="474"/>
<source>First</source>
<translation>První</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="512"/>
<location filename="../src/GUI/gui.cpp" line="515"/>
<source>POI files</source>
<translation>POI soubory</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="524"/>
<location filename="../src/GUI/gui.cpp" line="527"/>
<source>Display</source>
<translation>Zobrazit</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="536"/>
<location filename="../src/GUI/gui.cpp" line="539"/>
<source>Units</source>
<translation>Jednotky</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="540"/>
<location filename="../src/GUI/gui.cpp" line="543"/>
<source>Coordinates format</source>
<translation>Formát souřadnic</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="674"/>
<location filename="../src/GUI/gui.cpp" line="647"/>
<source>Version %1</source>
<translation>Verze %1</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="651"/>
<source>GPXSee is distributed under the terms of the GNU General Public License version 3. For more info about GPXSee visit the project homepage at %1.</source>
<translation>Program GPXSee je distribuován pod podmínkami licence GNU General Public License verze 3. Pro více informací navštivte stránky programu na adrese %1.</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="678"/>
<source>Append file</source>
<translation>Přidat soubor</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="675"/>
<location filename="../src/GUI/gui.cpp" line="679"/>
<source>Next/Previous</source>
<translation>Následující/Předchozí</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="677"/>
<location filename="../src/GUI/gui.cpp" line="681"/>
<source>Toggle graph type</source>
<translation>Přepnout typ grafu</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="679"/>
<location filename="../src/GUI/gui.cpp" line="683"/>
<source>Toggle time type</source>
<translation>Přepnout typ času</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="683"/>
<location filename="../src/GUI/gui.cpp" line="687"/>
<source>Previous map</source>
<translation>Předchozí mapa</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="684"/>
<location filename="../src/GUI/gui.cpp" line="688"/>
<source>Zoom in</source>
<translation>Přiblížit</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="686"/>
<location filename="../src/GUI/gui.cpp" line="690"/>
<source>Zoom out</source>
<translation>Oddálit</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="688"/>
<location filename="../src/GUI/gui.cpp" line="692"/>
<source>Digital zoom</source>
<translation>Digitální zoom</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="689"/>
<location filename="../src/GUI/gui.cpp" line="693"/>
<source>Zoom</source>
<translation>Zoom</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="706"/>
<source>Global</source>
<translation>Globální</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="706"/>
<location filename="../src/GUI/gui.cpp" line="712"/>
<location filename="../src/GUI/gui.cpp" line="710"/>
<location filename="../src/GUI/gui.cpp" line="716"/>
<source>GCS/PCS directory:</source>
<translation>Adresář s GCS/PCS soubory:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="708"/>
<location filename="../src/GUI/gui.cpp" line="712"/>
<source>User-specific</source>
<translation>Uživatelské</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1039"/>
<location filename="../src/GUI/gui.cpp" line="1040"/>
<location filename="../src/GUI/gui.cpp" line="1043"/>
<location filename="../src/GUI/gui.cpp" line="1044"/>
<source>Statistics</source>
<translation>Statistika</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1281"/>
<location filename="../src/GUI/gui.cpp" line="1285"/>
<source>Open map file</source>
<translation>Otevřít mapový soubor</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1322"/>
<location filename="../src/GUI/gui.cpp" line="1319"/>
<source>No files loaded</source>
<translation>Nejsou načteny žádné soubory</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1002"/>
<location filename="../src/GUI/gui.cpp" line="1006"/>
<location filename="../src/GUI/gui.cpp" line="1068"/>
<location filename="../src/GUI/gui.cpp" line="1071"/>
<location filename="../src/GUI/gui.cpp" line="1010"/>
<location filename="../src/GUI/gui.cpp" line="1072"/>
<location filename="../src/GUI/gui.cpp" line="1075"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="479"/>
<location filename="../src/GUI/gui.cpp" line="482"/>
<source>&amp;File</source>
<translation>&amp;Soubor</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="494"/>
<location filename="../src/GUI/gui.cpp" line="497"/>
<source>&amp;Map</source>
<translation>&amp;Mapa</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="502"/>
<location filename="../src/GUI/gui.cpp" line="505"/>
<source>&amp;Graph</source>
<translation>&amp;Graf</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="511"/>
<location filename="../src/GUI/gui.cpp" line="514"/>
<source>&amp;POI</source>
<translation>&amp;POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="523"/>
<location filename="../src/GUI/gui.cpp" line="526"/>
<source>&amp;Data</source>
<translation>&amp;Data</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="532"/>
<location filename="../src/GUI/gui.cpp" line="535"/>
<source>&amp;Settings</source>
<translation>&amp;Nastavení</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="550"/>
<location filename="../src/GUI/gui.cpp" line="553"/>
<source>&amp;Help</source>
<translation>N&amp;ápověda</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="709"/>
<location filename="../src/GUI/gui.cpp" line="706"/>
<location filename="../src/GUI/gui.cpp" line="713"/>
<source>Map directory:</source>
<translation>Adresář s mapami:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="704"/>
<location filename="../src/GUI/gui.cpp" line="710"/>
<location filename="../src/GUI/gui.cpp" line="708"/>
<location filename="../src/GUI/gui.cpp" line="714"/>
<source>POI directory:</source>
<translation>Adresář s POI body:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="993"/>
<location filename="../src/GUI/gui.cpp" line="1060"/>
<location filename="../src/GUI/gui.cpp" line="997"/>
<location filename="../src/GUI/gui.cpp" line="1064"/>
<source>Routes</source>
<translation>Trasy</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1311"/>
<location filename="../src/GUI/gui.cpp" line="1308"/>
<source>Error loading map:</source>
<translation>Mapu nelze načíst:</translation>
</message>
<message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1326"/>
<location filename="../src/GUI/gui.cpp" line="1323"/>
<source>%n files</source>
<translation>
<numerusform>%n soubor</numerusform>
@ -711,101 +721,96 @@
</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="668"/>
<location filename="../src/GUI/gui.cpp" line="672"/>
<source>Next file</source>
<translation>Následující soubor</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="644"/>
<source>Version </source>
<translation>Verze </translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="228"/>
<location filename="../src/GUI/gui.cpp" line="231"/>
<source>Print...</source>
<translation>Tisknout...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="235"/>
<location filename="../src/GUI/gui.cpp" line="238"/>
<source>Export to PDF...</source>
<translation>Exportovat do PDF...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="996"/>
<location filename="../src/GUI/gui.cpp" line="1062"/>
<location filename="../src/GUI/gui.cpp" line="1000"/>
<location filename="../src/GUI/gui.cpp" line="1066"/>
<source>Waypoints</source>
<translation>Navigační body</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="669"/>
<location filename="../src/GUI/gui.cpp" line="673"/>
<source>Previous file</source>
<translation>Předchozí soubor</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="343"/>
<location filename="../src/GUI/gui.cpp" line="346"/>
<source>Route waypoints</source>
<translation>Body tras</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="671"/>
<location filename="../src/GUI/gui.cpp" line="675"/>
<source>First file</source>
<translation>První soubor</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="673"/>
<location filename="../src/GUI/gui.cpp" line="677"/>
<source>Last file</source>
<translation>Poslední soubor</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="815"/>
<location filename="../src/GUI/gui.cpp" line="819"/>
<source>Error loading data file:</source>
<translation>Datový soubor nelze načíst:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="818"/>
<location filename="../src/GUI/gui.cpp" line="845"/>
<location filename="../src/GUI/gui.cpp" line="822"/>
<location filename="../src/GUI/gui.cpp" line="857"/>
<source>Line: %1</source>
<translation>Řádka: %1</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="842"/>
<location filename="../src/GUI/gui.cpp" line="854"/>
<source>Error loading POI file:</source>
<translation>Soubor POI nelze načíst:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1054"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<source>Name</source>
<translation>Název</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="990"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<location filename="../src/GUI/gui.cpp" line="994"/>
<location filename="../src/GUI/gui.cpp" line="1062"/>
<source>Tracks</source>
<translation>Cesty</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="218"/>
<location filename="../src/GUI/gui.cpp" line="643"/>
<location filename="../src/GUI/gui.cpp" line="221"/>
<location filename="../src/GUI/gui.cpp" line="646"/>
<source>About GPXSee</source>
<translation>O aplikaci GPXSee</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="579"/>
<location filename="../src/GUI/gui.cpp" line="582"/>
<source>Navigation</source>
<translation>Navigace</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="360"/>
<location filename="../src/GUI/gui.cpp" line="1013"/>
<location filename="../src/GUI/gui.cpp" line="1078"/>
<location filename="../src/GUI/gui.cpp" line="363"/>
<location filename="../src/GUI/gui.cpp" line="1017"/>
<location filename="../src/GUI/gui.cpp" line="1082"/>
<source>Distance</source>
<translation>Vzdálenost</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="367"/>
<location filename="../src/GUI/gui.cpp" line="533"/>
<location filename="../src/GUI/gui.cpp" line="1016"/>
<location filename="../src/GUI/gui.cpp" line="1080"/>
<location filename="../src/GUI/gui.cpp" line="370"/>
<location filename="../src/GUI/gui.cpp" line="536"/>
<location filename="../src/GUI/gui.cpp" line="1020"/>
<location filename="../src/GUI/gui.cpp" line="1084"/>
<source>Time</source>
<translation>Čas</translation>
</message>
@ -958,32 +963,37 @@
<context>
<name>MapList</name>
<message>
<location filename="../src/map/maplist.cpp" line="114"/>
<location filename="../src/map/maplist.cpp" line="117"/>
<source>Supported files</source>
<translation>Podporované soubory</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="115"/>
<location filename="../src/map/maplist.cpp" line="119"/>
<source>MBTiles maps</source>
<translation>MBTiles mapy</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="120"/>
<source>Garmin JNX maps</source>
<translation>Garmin JNX mapy</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="116"/>
<location filename="../src/map/maplist.cpp" line="121"/>
<source>OziExplorer maps</source>
<translation>OziExplorer mapy</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="117"/>
<location filename="../src/map/maplist.cpp" line="122"/>
<source>TrekBuddy maps/atlases</source>
<translation>TrekBuddy mapy/atlasy</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="118"/>
<location filename="../src/map/maplist.cpp" line="123"/>
<source>GeoTIFF images</source>
<translation>GeoTIFF obrázky</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="119"/>
<location filename="../src/map/maplist.cpp" line="124"/>
<source>Online map sources</source>
<translation>Online mapové zdroje</translation>
</message>

1757
lang/gpxsee_da.ts Normal file

File diff suppressed because it is too large Load Diff

View File

@ -182,94 +182,99 @@
<context>
<name>ExportDialog</name>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="134"/>
<location filename="../src/GUI/exportdialog.cpp" line="135"/>
<source>Export to PDF</source>
<translation>PDF Export</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="25"/>
<source>PDF files (*.pdf);;All files (*)</source>
<translation>PDF-Dateien (*.pdf);;Alle Dateien (*)</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="51"/>
<location filename="../src/GUI/exportdialog.cpp" line="52"/>
<source>Portrait</source>
<translation>Hochformat</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="52"/>
<location filename="../src/GUI/exportdialog.cpp" line="53"/>
<source>Landscape</source>
<translation>Querformat</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="96"/>
<location filename="../src/GUI/exportdialog.cpp" line="97"/>
<source>Page size:</source>
<translation>Seitengröße:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="98"/>
<location filename="../src/GUI/exportdialog.cpp" line="99"/>
<source>Orientation:</source>
<translation>Orientierung:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="93"/>
<location filename="../src/GUI/exportdialog.cpp" line="94"/>
<source>Page Setup</source>
<translation>Seiten Setup</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="65"/>
<location filename="../src/GUI/exportdialog.cpp" line="25"/>
<source>PDF files</source>
<translation>PDF-Dateien</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="25"/>
<source>All files</source>
<translation>Alle Dateien</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="66"/>
<source>in</source>
<translation>in</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="65"/>
<location filename="../src/GUI/exportdialog.cpp" line="66"/>
<source>mm</source>
<translation>mm</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="97"/>
<location filename="../src/GUI/exportdialog.cpp" line="98"/>
<source>Resolution:</source>
<translation>Druckauflösung:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="99"/>
<location filename="../src/GUI/exportdialog.cpp" line="100"/>
<source>Margins:</source>
<translation>Ränder:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="105"/>
<location filename="../src/GUI/exportdialog.cpp" line="106"/>
<source>File:</source>
<translation>Ausgabedatei:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="112"/>
<location filename="../src/GUI/exportdialog.cpp" line="113"/>
<source>Output file</source>
<translation>Ausgabedatei</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="119"/>
<location filename="../src/GUI/exportdialog.cpp" line="120"/>
<source>Export</source>
<translation>Export</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/>
<location filename="../src/GUI/exportdialog.cpp" line="151"/>
<location filename="../src/GUI/exportdialog.cpp" line="156"/>
<location filename="../src/GUI/exportdialog.cpp" line="142"/>
<location filename="../src/GUI/exportdialog.cpp" line="152"/>
<location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/>
<location filename="../src/GUI/exportdialog.cpp" line="142"/>
<source>No output file selected.</source>
<translation>Keine Ausgabedatei ausgewählt.</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="151"/>
<location filename="../src/GUI/exportdialog.cpp" line="152"/>
<source>%1 is a directory.</source>
<translation>%1 ist ein Verzeichniss.</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="156"/>
<location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>%1 is not writable.</source>
<translation>%1 ist nich schreibbar.</translation>
</message>
@ -316,344 +321,349 @@
<context>
<name>GUI</name>
<message>
<location filename="../src/GUI/gui.cpp" line="647"/>
<source>GPXSee is distributed under the terms of the GNU General Public License version 3. For more info about GPXSee visit the project homepage at </source>
<translation>GPXSee wird unter der GNU General Public License version 3 vertrieben. Mehr Informationen zu GPXSee auf der Homepage </translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="709"/>
<location filename="../src/GUI/gui.cpp" line="706"/>
<location filename="../src/GUI/gui.cpp" line="713"/>
<source>Map directory:</source>
<translation>Kartenverzeichnis:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="704"/>
<location filename="../src/GUI/gui.cpp" line="710"/>
<location filename="../src/GUI/gui.cpp" line="708"/>
<location filename="../src/GUI/gui.cpp" line="714"/>
<source>POI directory:</source>
<translation>POI-Verzeichnis:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="721"/>
<location filename="../src/GUI/gui.cpp" line="725"/>
<source>Open file</source>
<translation>Datei öffnen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="826"/>
<location filename="../src/GUI/gui.cpp" line="830"/>
<source>Open POI file</source>
<translation>POI Datei öffnen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="205"/>
<location filename="../src/GUI/gui.cpp" line="208"/>
<source>Quit</source>
<translation>Beenden</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="215"/>
<location filename="../src/GUI/gui.cpp" line="664"/>
<location filename="../src/GUI/gui.cpp" line="665"/>
<location filename="../src/GUI/gui.cpp" line="218"/>
<location filename="../src/GUI/gui.cpp" line="668"/>
<location filename="../src/GUI/gui.cpp" line="669"/>
<source>Keyboard controls</source>
<translation>Tastaturkürzel</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="241"/>
<location filename="../src/GUI/gui.cpp" line="244"/>
<source>Close</source>
<translation>Schließen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="247"/>
<location filename="../src/GUI/gui.cpp" line="250"/>
<source>Reload</source>
<translation>Neu Laden</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="573"/>
<location filename="../src/GUI/gui.cpp" line="576"/>
<source>Show</source>
<translation>Ansicht</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="566"/>
<location filename="../src/GUI/gui.cpp" line="569"/>
<source>File</source>
<translation>Datei</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="266"/>
<location filename="../src/GUI/gui.cpp" line="269"/>
<source>Close POI files</source>
<translation>POI-Datei schließen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="270"/>
<location filename="../src/GUI/gui.cpp" line="273"/>
<source>Overlap POIs</source>
<translation>POI überlappen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="275"/>
<location filename="../src/GUI/gui.cpp" line="278"/>
<source>Show POI labels</source>
<translation>POI-Labels anzeigen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="280"/>
<location filename="../src/GUI/gui.cpp" line="283"/>
<source>Show POIs</source>
<translation>POIs anzeigen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="290"/>
<location filename="../src/GUI/gui.cpp" line="293"/>
<source>Show map</source>
<translation>Karte anzeigen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="302"/>
<location filename="../src/GUI/gui.cpp" line="305"/>
<source>Clear tile cache</source>
<translation>Tile-Cache bereinigen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="223"/>
<location filename="../src/GUI/gui.cpp" line="226"/>
<source>Open...</source>
<translation>Öffnen...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="212"/>
<location filename="../src/GUI/gui.cpp" line="698"/>
<location filename="../src/GUI/gui.cpp" line="699"/>
<location filename="../src/GUI/gui.cpp" line="215"/>
<location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="703"/>
<source>Paths</source>
<translation>Pfade</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="254"/>
<location filename="../src/GUI/gui.cpp" line="257"/>
<source>Statistics...</source>
<translation>Statistiken...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="262"/>
<location filename="../src/GUI/gui.cpp" line="265"/>
<source>Load POI file...</source>
<translation>POI-Datei laden...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="298"/>
<location filename="../src/GUI/gui.cpp" line="301"/>
<source>Load map...</source>
<translation>Karte laden...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="307"/>
<location filename="../src/GUI/gui.cpp" line="312"/>
<location filename="../src/GUI/gui.cpp" line="681"/>
<location filename="../src/GUI/gui.cpp" line="310"/>
<location filename="../src/GUI/gui.cpp" line="315"/>
<location filename="../src/GUI/gui.cpp" line="685"/>
<source>Next map</source>
<translation>Nächste Karte</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="323"/>
<location filename="../src/GUI/gui.cpp" line="326"/>
<source>Show tracks</source>
<translation>Strecken anzeigen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="328"/>
<location filename="../src/GUI/gui.cpp" line="331"/>
<source>Show routes</source>
<translation>Routen anzeigen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="333"/>
<location filename="../src/GUI/gui.cpp" line="336"/>
<source>Show waypoints</source>
<translation>Wegpunkte anzeigen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="338"/>
<location filename="../src/GUI/gui.cpp" line="341"/>
<source>Waypoint labels</source>
<translation>Wegpunkt Labels</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="350"/>
<location filename="../src/GUI/gui.cpp" line="353"/>
<source>Show graphs</source>
<translation>Graphen anzeigen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="374"/>
<location filename="../src/GUI/gui.cpp" line="377"/>
<source>Show grid</source>
<translation>Gitter anzeigen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="379"/>
<location filename="../src/GUI/gui.cpp" line="382"/>
<source>Show slider info</source>
<translation>Schieberinfo anzeigen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="386"/>
<location filename="../src/GUI/gui.cpp" line="389"/>
<source>Show toolbars</source>
<translation>Toolbars anzeigen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="393"/>
<location filename="../src/GUI/gui.cpp" line="396"/>
<source>Total time</source>
<translation>Gesamtzeit</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="399"/>
<location filename="../src/GUI/gui.cpp" line="1018"/>
<location filename="../src/GUI/gui.cpp" line="1082"/>
<location filename="../src/GUI/gui.cpp" line="402"/>
<location filename="../src/GUI/gui.cpp" line="1022"/>
<location filename="../src/GUI/gui.cpp" line="1086"/>
<source>Moving time</source>
<translation>Bewegungszeit</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="407"/>
<location filename="../src/GUI/gui.cpp" line="410"/>
<source>Metric</source>
<translation>Metrisch</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="413"/>
<location filename="../src/GUI/gui.cpp" line="416"/>
<source>Imperial</source>
<translation>Imperial</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="419"/>
<location filename="../src/GUI/gui.cpp" line="422"/>
<source>Nautical</source>
<translation>Nautisch</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="427"/>
<location filename="../src/GUI/gui.cpp" line="430"/>
<source>Decimal degrees (DD)</source>
<translation>Dezimalgrad (DD)</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="433"/>
<location filename="../src/GUI/gui.cpp" line="436"/>
<source>Degrees and decimal minutes (DMM)</source>
<translation>Grad und Dezimalminuten (DMM)</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="440"/>
<location filename="../src/GUI/gui.cpp" line="443"/>
<source>Degrees, minutes, seconds (DMS)</source>
<translation>Grad, Minuten, Sekunden (DMS)</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="446"/>
<location filename="../src/GUI/gui.cpp" line="449"/>
<source>Fullscreen mode</source>
<translation>Vollbildmodus</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="453"/>
<location filename="../src/GUI/gui.cpp" line="456"/>
<source>Options...</source>
<translation>Einstellungen...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="459"/>
<location filename="../src/GUI/gui.cpp" line="462"/>
<source>Next</source>
<translation>Nächste</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="463"/>
<location filename="../src/GUI/gui.cpp" line="466"/>
<source>Previous</source>
<translation>Vorherige</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="467"/>
<location filename="../src/GUI/gui.cpp" line="470"/>
<source>Last</source>
<translation>Letzte</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="471"/>
<location filename="../src/GUI/gui.cpp" line="474"/>
<source>First</source>
<translation>Erste</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="512"/>
<location filename="../src/GUI/gui.cpp" line="515"/>
<source>POI files</source>
<translation>POI-Dateien</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="524"/>
<location filename="../src/GUI/gui.cpp" line="527"/>
<source>Display</source>
<translation>Anzeige</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="536"/>
<location filename="../src/GUI/gui.cpp" line="539"/>
<source>Units</source>
<translation>Einheiten</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="540"/>
<location filename="../src/GUI/gui.cpp" line="543"/>
<source>Coordinates format</source>
<translation>Koordinatenformate</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="674"/>
<location filename="../src/GUI/gui.cpp" line="647"/>
<source>Version %1</source>
<translation>Version %1</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="651"/>
<source>GPXSee is distributed under the terms of the GNU General Public License version 3. For more info about GPXSee visit the project homepage at %1.</source>
<translation>GPXSee wird unter der GNU General Public License version 3 vertrieben. Mehr Informationen zu GPXSee auf der Homepage %1.</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="678"/>
<source>Append file</source>
<translation>An Datei anhängen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="675"/>
<location filename="../src/GUI/gui.cpp" line="679"/>
<source>Next/Previous</source>
<translation>Nächste/Vorherige</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="677"/>
<location filename="../src/GUI/gui.cpp" line="681"/>
<source>Toggle graph type</source>
<translation>Graphtyp umschalten</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="679"/>
<location filename="../src/GUI/gui.cpp" line="683"/>
<source>Toggle time type</source>
<translation>Zeittyp umschalten</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="683"/>
<location filename="../src/GUI/gui.cpp" line="687"/>
<source>Previous map</source>
<translation>Vorherige Karte</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="684"/>
<location filename="../src/GUI/gui.cpp" line="688"/>
<source>Zoom in</source>
<translation>Hineinzoomen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="686"/>
<location filename="../src/GUI/gui.cpp" line="690"/>
<source>Zoom out</source>
<translation>Herauszoomen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="688"/>
<location filename="../src/GUI/gui.cpp" line="692"/>
<source>Digital zoom</source>
<translation>Digitaler Zoom</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="689"/>
<location filename="../src/GUI/gui.cpp" line="693"/>
<source>Zoom</source>
<translation>Zoom</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="706"/>
<source>Global</source>
<translation>Global</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="706"/>
<location filename="../src/GUI/gui.cpp" line="712"/>
<location filename="../src/GUI/gui.cpp" line="710"/>
<location filename="../src/GUI/gui.cpp" line="716"/>
<source>GCS/PCS directory:</source>
<translation>GCS/PCS-Verzeichnis:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="708"/>
<location filename="../src/GUI/gui.cpp" line="712"/>
<source>User-specific</source>
<translation>Benutzerspezifisch</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1039"/>
<location filename="../src/GUI/gui.cpp" line="1040"/>
<location filename="../src/GUI/gui.cpp" line="1043"/>
<location filename="../src/GUI/gui.cpp" line="1044"/>
<source>Statistics</source>
<translation>Statistiken</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1281"/>
<location filename="../src/GUI/gui.cpp" line="1285"/>
<source>Open map file</source>
<translation>Karte Datei öffnen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1311"/>
<location filename="../src/GUI/gui.cpp" line="1308"/>
<source>Error loading map:</source>
<translation>Fehler beim Laden der Karte-Datei:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1322"/>
<location filename="../src/GUI/gui.cpp" line="1319"/>
<source>No files loaded</source>
<translation>Keine Dateien geladen</translation>
</message>
<message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1326"/>
<location filename="../src/GUI/gui.cpp" line="1323"/>
<source>%n files</source>
<translation>
<numerusform>%n Datei</numerusform>
@ -661,150 +671,145 @@
</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1002"/>
<location filename="../src/GUI/gui.cpp" line="1006"/>
<location filename="../src/GUI/gui.cpp" line="1068"/>
<location filename="../src/GUI/gui.cpp" line="1071"/>
<location filename="../src/GUI/gui.cpp" line="1010"/>
<location filename="../src/GUI/gui.cpp" line="1072"/>
<location filename="../src/GUI/gui.cpp" line="1075"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="993"/>
<location filename="../src/GUI/gui.cpp" line="1060"/>
<location filename="../src/GUI/gui.cpp" line="997"/>
<location filename="../src/GUI/gui.cpp" line="1064"/>
<source>Routes</source>
<translation>Routen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="668"/>
<location filename="../src/GUI/gui.cpp" line="672"/>
<source>Next file</source>
<translation>Nächste Datei</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="644"/>
<source>Version </source>
<translation>Version </translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="228"/>
<location filename="../src/GUI/gui.cpp" line="231"/>
<source>Print...</source>
<translation>Drucken...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="235"/>
<location filename="../src/GUI/gui.cpp" line="238"/>
<source>Export to PDF...</source>
<translation>Als PDF exportieren...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="996"/>
<location filename="../src/GUI/gui.cpp" line="1062"/>
<location filename="../src/GUI/gui.cpp" line="1000"/>
<location filename="../src/GUI/gui.cpp" line="1066"/>
<source>Waypoints</source>
<translation>Wegpunkte</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="669"/>
<location filename="../src/GUI/gui.cpp" line="673"/>
<source>Previous file</source>
<translation>Vorherige Datei</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="343"/>
<location filename="../src/GUI/gui.cpp" line="346"/>
<source>Route waypoints</source>
<translation>Routen Wegpunkte</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="479"/>
<location filename="../src/GUI/gui.cpp" line="482"/>
<source>&amp;File</source>
<translation>&amp;Datei</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="494"/>
<location filename="../src/GUI/gui.cpp" line="497"/>
<source>&amp;Map</source>
<translation>&amp;Karte</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="502"/>
<location filename="../src/GUI/gui.cpp" line="505"/>
<source>&amp;Graph</source>
<translation>&amp;Graph</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="511"/>
<location filename="../src/GUI/gui.cpp" line="514"/>
<source>&amp;POI</source>
<translation>&amp;POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="523"/>
<location filename="../src/GUI/gui.cpp" line="526"/>
<source>&amp;Data</source>
<translation>D&amp;ata</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="532"/>
<location filename="../src/GUI/gui.cpp" line="535"/>
<source>&amp;Settings</source>
<translation>&amp;Einstellungen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="550"/>
<location filename="../src/GUI/gui.cpp" line="553"/>
<source>&amp;Help</source>
<translation>&amp;Hilfe</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="671"/>
<location filename="../src/GUI/gui.cpp" line="675"/>
<source>First file</source>
<translation>Erste Datei</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="673"/>
<location filename="../src/GUI/gui.cpp" line="677"/>
<source>Last file</source>
<translation>Letzte Datei</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="815"/>
<location filename="../src/GUI/gui.cpp" line="819"/>
<source>Error loading data file:</source>
<translation>Fehler beim Laden der Datei:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="818"/>
<location filename="../src/GUI/gui.cpp" line="845"/>
<location filename="../src/GUI/gui.cpp" line="822"/>
<location filename="../src/GUI/gui.cpp" line="857"/>
<source>Line: %1</source>
<translation>Linie: %1</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="842"/>
<location filename="../src/GUI/gui.cpp" line="854"/>
<source>Error loading POI file:</source>
<translation>Fehler beim Laden der POI-Datei:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1054"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<source>Name</source>
<translation>Name</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="990"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<location filename="../src/GUI/gui.cpp" line="994"/>
<location filename="../src/GUI/gui.cpp" line="1062"/>
<source>Tracks</source>
<translation>Strecken</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="218"/>
<location filename="../src/GUI/gui.cpp" line="643"/>
<location filename="../src/GUI/gui.cpp" line="221"/>
<location filename="../src/GUI/gui.cpp" line="646"/>
<source>About GPXSee</source>
<translation>Über GPXSee</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="579"/>
<location filename="../src/GUI/gui.cpp" line="582"/>
<source>Navigation</source>
<translation>Navigation</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="360"/>
<location filename="../src/GUI/gui.cpp" line="1013"/>
<location filename="../src/GUI/gui.cpp" line="1078"/>
<location filename="../src/GUI/gui.cpp" line="363"/>
<location filename="../src/GUI/gui.cpp" line="1017"/>
<location filename="../src/GUI/gui.cpp" line="1082"/>
<source>Distance</source>
<translation>Distanz</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="367"/>
<location filename="../src/GUI/gui.cpp" line="533"/>
<location filename="../src/GUI/gui.cpp" line="1016"/>
<location filename="../src/GUI/gui.cpp" line="1080"/>
<location filename="../src/GUI/gui.cpp" line="370"/>
<location filename="../src/GUI/gui.cpp" line="536"/>
<location filename="../src/GUI/gui.cpp" line="1020"/>
<location filename="../src/GUI/gui.cpp" line="1084"/>
<source>Time</source>
<translation>Zeit</translation>
</message>
@ -957,32 +962,37 @@
<context>
<name>MapList</name>
<message>
<location filename="../src/map/maplist.cpp" line="114"/>
<location filename="../src/map/maplist.cpp" line="117"/>
<source>Supported files</source>
<translation>Unterstütze Dateien</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="115"/>
<location filename="../src/map/maplist.cpp" line="119"/>
<source>MBTiles maps</source>
<translation>MBTiles Karten</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="120"/>
<source>Garmin JNX maps</source>
<translation>Garmin JNX Karten</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="116"/>
<location filename="../src/map/maplist.cpp" line="121"/>
<source>OziExplorer maps</source>
<translation>OziExplorer Karten</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="117"/>
<location filename="../src/map/maplist.cpp" line="122"/>
<source>TrekBuddy maps/atlases</source>
<translation>TrekBuddy Karten/Atlanten</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="118"/>
<location filename="../src/map/maplist.cpp" line="123"/>
<source>GeoTIFF images</source>
<translation>GeoTIFF Bilder</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="119"/>
<location filename="../src/map/maplist.cpp" line="124"/>
<source>Online map sources</source>
<translation>Online-Kartenquellen</translation>
</message>
@ -1084,22 +1094,22 @@
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="45"/>
<source>High-resolution</source>
<translation type="unfinished"></translation>
<translation>Hohe Auflösung</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="46"/>
<source>Standard</source>
<translation type="unfinished"></translation>
<translation>Standardmäßig</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="51"/>
<source>Non-HiDPI maps are loaded as HiDPI maps. The map is sharp but map objects are small/hard to read.</source>
<translation type="unfinished"></translation>
<translation>Nicht-HiDPI-Karten werden als HiDPI-Karten geladen. Die Karte ist scharf, aber die Kartenobjekte sind klein / schwer zu lesen.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="53"/>
<source>Non-HiDPI maps are loaded such as they are. Map objects have the expected size but the map is blurry.</source>
<translation type="unfinished"></translation>
<translation>Nicht-HiDPI-Karten werden so geladen, wie sie sind. Kartenobjekte haben die erwartete Größe, aber die Karte ist verschwommen.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="86"/>
@ -1109,7 +1119,7 @@
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="88"/>
<source>HiDPI display mode</source>
<translation type="unfinished"></translation>
<translation>HiDPI-Anzeigemodus</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="122"/>
@ -1411,7 +1421,7 @@
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="532"/>
<source>Maps</source>
<translation type="unfinished"></translation>
<translation>Karten</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="533"/>

14
lang/gpxsee_en.ts Normal file
View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="en_US">
<context>
<name>GUI</name>
<message numerus="yes">
<source>%n files</source>
<translation type="vanished">
<numerusform>%n file</numerusform>
<numerusform>%n files</numerusform>
</translation>
</message>
</context>
</TS>

View File

@ -182,94 +182,99 @@
<context>
<name>ExportDialog</name>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="134"/>
<location filename="../src/GUI/exportdialog.cpp" line="135"/>
<source>Export to PDF</source>
<translation>Vie PDF:ksi</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="25"/>
<source>PDF files (*.pdf);;All files (*)</source>
<translation>PDF-tiedostot (*.pdf);;Kaikki tiedostot (*)</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="51"/>
<location filename="../src/GUI/exportdialog.cpp" line="52"/>
<source>Portrait</source>
<translation>Pystysuunta</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="52"/>
<location filename="../src/GUI/exportdialog.cpp" line="53"/>
<source>Landscape</source>
<translation>Vaakasuunta</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="96"/>
<location filename="../src/GUI/exportdialog.cpp" line="97"/>
<source>Page size:</source>
<translation>Sivukoko:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="98"/>
<location filename="../src/GUI/exportdialog.cpp" line="99"/>
<source>Orientation:</source>
<translation>Suunta:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="93"/>
<location filename="../src/GUI/exportdialog.cpp" line="94"/>
<source>Page Setup</source>
<translation>Sivuasetukset</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="65"/>
<location filename="../src/GUI/exportdialog.cpp" line="25"/>
<source>PDF files</source>
<translation>PDF-tiedostot</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="25"/>
<source>All files</source>
<translation>Kaikki tiedostot</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="66"/>
<source>in</source>
<translation>in</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="65"/>
<location filename="../src/GUI/exportdialog.cpp" line="66"/>
<source>mm</source>
<translation>mm</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="97"/>
<location filename="../src/GUI/exportdialog.cpp" line="98"/>
<source>Resolution:</source>
<translation>Resoluutio:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="99"/>
<location filename="../src/GUI/exportdialog.cpp" line="100"/>
<source>Margins:</source>
<translation>Reunukset:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="105"/>
<location filename="../src/GUI/exportdialog.cpp" line="106"/>
<source>File:</source>
<translation>Tiedosto:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="112"/>
<location filename="../src/GUI/exportdialog.cpp" line="113"/>
<source>Output file</source>
<translation>Tulostustiedosto</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="119"/>
<location filename="../src/GUI/exportdialog.cpp" line="120"/>
<source>Export</source>
<translation>Vie</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/>
<location filename="../src/GUI/exportdialog.cpp" line="151"/>
<location filename="../src/GUI/exportdialog.cpp" line="156"/>
<location filename="../src/GUI/exportdialog.cpp" line="142"/>
<location filename="../src/GUI/exportdialog.cpp" line="152"/>
<location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>Error</source>
<translation>Virhe</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/>
<location filename="../src/GUI/exportdialog.cpp" line="142"/>
<source>No output file selected.</source>
<translation>Ei tulostustiedostoa valittu.</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="151"/>
<location filename="../src/GUI/exportdialog.cpp" line="152"/>
<source>%1 is a directory.</source>
<translation>%1 on hakemisto.</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="156"/>
<location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>%1 is not writable.</source>
<translation>%1 ei voi kirjoittaa.</translation>
</message>
@ -316,393 +321,398 @@
<context>
<name>GUI</name>
<message>
<location filename="../src/GUI/gui.cpp" line="647"/>
<source>GPXSee is distributed under the terms of the GNU General Public License version 3. For more info about GPXSee visit the project homepage at </source>
<translation>GPXSee levitetään GNU yleisen lisenssin version 3 alaisena. Voit katsoa lisätietoja GPXSee:stä projektin kotisivulla </translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="721"/>
<location filename="../src/GUI/gui.cpp" line="725"/>
<source>Open file</source>
<translation>Avaa tiedosto</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="826"/>
<location filename="../src/GUI/gui.cpp" line="830"/>
<source>Open POI file</source>
<translation>Avaa POI-tiedosto</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="205"/>
<location filename="../src/GUI/gui.cpp" line="208"/>
<source>Quit</source>
<translation>Lopeta</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="215"/>
<location filename="../src/GUI/gui.cpp" line="664"/>
<location filename="../src/GUI/gui.cpp" line="665"/>
<location filename="../src/GUI/gui.cpp" line="218"/>
<location filename="../src/GUI/gui.cpp" line="668"/>
<location filename="../src/GUI/gui.cpp" line="669"/>
<source>Keyboard controls</source>
<translation>Näppäimistön säätimet</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="241"/>
<location filename="../src/GUI/gui.cpp" line="244"/>
<source>Close</source>
<translation>Sulje</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="247"/>
<location filename="../src/GUI/gui.cpp" line="250"/>
<source>Reload</source>
<translation>Lataa uudelleen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="573"/>
<location filename="../src/GUI/gui.cpp" line="576"/>
<source>Show</source>
<translation>Näytä</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="566"/>
<location filename="../src/GUI/gui.cpp" line="569"/>
<source>File</source>
<translation>Tiedosto</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="266"/>
<location filename="../src/GUI/gui.cpp" line="269"/>
<source>Close POI files</source>
<translation>Sulje POI-tiedostot</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="270"/>
<location filename="../src/GUI/gui.cpp" line="273"/>
<source>Overlap POIs</source>
<translation>Aseta POI:t limittäin</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="275"/>
<location filename="../src/GUI/gui.cpp" line="278"/>
<source>Show POI labels</source>
<translation>Näytä POI:n nimiöt</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="280"/>
<location filename="../src/GUI/gui.cpp" line="283"/>
<source>Show POIs</source>
<translation>Näytä POI:t</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="290"/>
<location filename="../src/GUI/gui.cpp" line="293"/>
<source>Show map</source>
<translation>Näytä kartta</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="302"/>
<location filename="../src/GUI/gui.cpp" line="305"/>
<source>Clear tile cache</source>
<translation>Tyhjennä välimuisti</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="223"/>
<location filename="../src/GUI/gui.cpp" line="226"/>
<source>Open...</source>
<translation>Avaa...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="212"/>
<location filename="../src/GUI/gui.cpp" line="698"/>
<location filename="../src/GUI/gui.cpp" line="699"/>
<location filename="../src/GUI/gui.cpp" line="215"/>
<location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="703"/>
<source>Paths</source>
<translation>Tiedostopolut</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="254"/>
<location filename="../src/GUI/gui.cpp" line="257"/>
<source>Statistics...</source>
<translation>Tilasto...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="262"/>
<location filename="../src/GUI/gui.cpp" line="265"/>
<source>Load POI file...</source>
<translation>Lataa POI-tiedosto...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="298"/>
<location filename="../src/GUI/gui.cpp" line="301"/>
<source>Load map...</source>
<translation>Lataa kartta...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="307"/>
<location filename="../src/GUI/gui.cpp" line="312"/>
<location filename="../src/GUI/gui.cpp" line="681"/>
<location filename="../src/GUI/gui.cpp" line="310"/>
<location filename="../src/GUI/gui.cpp" line="315"/>
<location filename="../src/GUI/gui.cpp" line="685"/>
<source>Next map</source>
<translation>Seuraava kartta</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="323"/>
<location filename="../src/GUI/gui.cpp" line="326"/>
<source>Show tracks</source>
<translation>Näytä jäljet</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="328"/>
<location filename="../src/GUI/gui.cpp" line="331"/>
<source>Show routes</source>
<translation>Näytä reitit</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="333"/>
<location filename="../src/GUI/gui.cpp" line="336"/>
<source>Show waypoints</source>
<translation>Näytä reittipisteet</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="338"/>
<location filename="../src/GUI/gui.cpp" line="341"/>
<source>Waypoint labels</source>
<translation>Reittipisteen nimiöt</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="350"/>
<location filename="../src/GUI/gui.cpp" line="353"/>
<source>Show graphs</source>
<translation>Näytä kaaviokuvat</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="374"/>
<location filename="../src/GUI/gui.cpp" line="377"/>
<source>Show grid</source>
<translation>Näytä ruudukko</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="379"/>
<location filename="../src/GUI/gui.cpp" line="382"/>
<source>Show slider info</source>
<translation>Näytä liukusäätimen arvo</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="386"/>
<location filename="../src/GUI/gui.cpp" line="389"/>
<source>Show toolbars</source>
<translation>Näytä työkalupalkit</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="393"/>
<location filename="../src/GUI/gui.cpp" line="396"/>
<source>Total time</source>
<translation>Kokonaisaika</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="399"/>
<location filename="../src/GUI/gui.cpp" line="1018"/>
<location filename="../src/GUI/gui.cpp" line="1082"/>
<location filename="../src/GUI/gui.cpp" line="402"/>
<location filename="../src/GUI/gui.cpp" line="1022"/>
<location filename="../src/GUI/gui.cpp" line="1086"/>
<source>Moving time</source>
<translation>Liikkumisaika</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="407"/>
<location filename="../src/GUI/gui.cpp" line="410"/>
<source>Metric</source>
<translation>Metriset</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="413"/>
<location filename="../src/GUI/gui.cpp" line="416"/>
<source>Imperial</source>
<translation>Brittiläiset</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="419"/>
<location filename="../src/GUI/gui.cpp" line="422"/>
<source>Nautical</source>
<translation>Merelliset</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="427"/>
<location filename="../src/GUI/gui.cpp" line="430"/>
<source>Decimal degrees (DD)</source>
<translation>Desimaaliasteet (DD)</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="433"/>
<location filename="../src/GUI/gui.cpp" line="436"/>
<source>Degrees and decimal minutes (DMM)</source>
<translation>Asteet, desimaaliminuutit (DMM)</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="440"/>
<location filename="../src/GUI/gui.cpp" line="443"/>
<source>Degrees, minutes, seconds (DMS)</source>
<translation>Asteet, minuutit, sekunnit (DMS)</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="446"/>
<location filename="../src/GUI/gui.cpp" line="449"/>
<source>Fullscreen mode</source>
<translation>Kokoruututila</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="453"/>
<location filename="../src/GUI/gui.cpp" line="456"/>
<source>Options...</source>
<translation>Valinnat...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="459"/>
<location filename="../src/GUI/gui.cpp" line="462"/>
<source>Next</source>
<translation>Seuraava</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="463"/>
<location filename="../src/GUI/gui.cpp" line="466"/>
<source>Previous</source>
<translation>Edellinen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="467"/>
<location filename="../src/GUI/gui.cpp" line="470"/>
<source>Last</source>
<translation>Viimeinen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="471"/>
<location filename="../src/GUI/gui.cpp" line="474"/>
<source>First</source>
<translation>Ensimmäinen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="512"/>
<location filename="../src/GUI/gui.cpp" line="515"/>
<source>POI files</source>
<translation>POI-tiedostot</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="524"/>
<location filename="../src/GUI/gui.cpp" line="527"/>
<source>Display</source>
<translation>Näytä</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="536"/>
<location filename="../src/GUI/gui.cpp" line="539"/>
<source>Units</source>
<translation>Yksiköt</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="540"/>
<location filename="../src/GUI/gui.cpp" line="543"/>
<source>Coordinates format</source>
<translation>Koordinaattien muoto</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="674"/>
<location filename="../src/GUI/gui.cpp" line="647"/>
<source>Version %1</source>
<translation>Versio %1</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="651"/>
<source>GPXSee is distributed under the terms of the GNU General Public License version 3. For more info about GPXSee visit the project homepage at %1.</source>
<translation>GPXSee levitetään GNU yleisen lisenssin version 3 alaisena. Voit katsoa lisätietoja GPXSee:stä projektin kotisivulla %1.</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="678"/>
<source>Append file</source>
<translation>Lisää tiedosto</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="675"/>
<location filename="../src/GUI/gui.cpp" line="679"/>
<source>Next/Previous</source>
<translation>Seuraava/edellinen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="677"/>
<location filename="../src/GUI/gui.cpp" line="681"/>
<source>Toggle graph type</source>
<translation>Vaihda kaaviokuvan tyyppi</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="679"/>
<location filename="../src/GUI/gui.cpp" line="683"/>
<source>Toggle time type</source>
<translation>Vaihda ajan tyyppi</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="683"/>
<location filename="../src/GUI/gui.cpp" line="687"/>
<source>Previous map</source>
<translation>Edellinen kartta</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="684"/>
<location filename="../src/GUI/gui.cpp" line="688"/>
<source>Zoom in</source>
<translation>Lähennä</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="686"/>
<location filename="../src/GUI/gui.cpp" line="690"/>
<source>Zoom out</source>
<translation>Loitonna</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="688"/>
<location filename="../src/GUI/gui.cpp" line="692"/>
<source>Digital zoom</source>
<translation>Digitalinen zoomi</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="689"/>
<location filename="../src/GUI/gui.cpp" line="693"/>
<source>Zoom</source>
<translation>Zoom</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="706"/>
<source>Global</source>
<translation>Globaaliset</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="706"/>
<location filename="../src/GUI/gui.cpp" line="712"/>
<location filename="../src/GUI/gui.cpp" line="710"/>
<location filename="../src/GUI/gui.cpp" line="716"/>
<source>GCS/PCS directory:</source>
<translation>GCS/PCS:n hakemisto:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="708"/>
<location filename="../src/GUI/gui.cpp" line="712"/>
<source>User-specific</source>
<translation>Käyttäjäkohtaiset</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1039"/>
<location filename="../src/GUI/gui.cpp" line="1040"/>
<location filename="../src/GUI/gui.cpp" line="1043"/>
<location filename="../src/GUI/gui.cpp" line="1044"/>
<source>Statistics</source>
<translation>Tilasto</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1281"/>
<location filename="../src/GUI/gui.cpp" line="1285"/>
<source>Open map file</source>
<translation>Avaa karttatiedosto</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1322"/>
<location filename="../src/GUI/gui.cpp" line="1319"/>
<source>No files loaded</source>
<translation>Yhtään tiedostoja ei ladattu</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1002"/>
<location filename="../src/GUI/gui.cpp" line="1006"/>
<location filename="../src/GUI/gui.cpp" line="1068"/>
<location filename="../src/GUI/gui.cpp" line="1071"/>
<location filename="../src/GUI/gui.cpp" line="1010"/>
<location filename="../src/GUI/gui.cpp" line="1072"/>
<location filename="../src/GUI/gui.cpp" line="1075"/>
<source>Date</source>
<translation>Päivämäärä</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="479"/>
<location filename="../src/GUI/gui.cpp" line="482"/>
<source>&amp;File</source>
<translation>&amp;Tiedosto</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="494"/>
<location filename="../src/GUI/gui.cpp" line="497"/>
<source>&amp;Map</source>
<translation>&amp;Kartat</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="502"/>
<location filename="../src/GUI/gui.cpp" line="505"/>
<source>&amp;Graph</source>
<translation>Kaa&amp;viokuva</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="511"/>
<location filename="../src/GUI/gui.cpp" line="514"/>
<source>&amp;POI</source>
<translation>&amp;POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="523"/>
<location filename="../src/GUI/gui.cpp" line="526"/>
<source>&amp;Data</source>
<translation>Tie&amp;dot</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="532"/>
<location filename="../src/GUI/gui.cpp" line="535"/>
<source>&amp;Settings</source>
<translation>&amp;Asetukset</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="550"/>
<location filename="../src/GUI/gui.cpp" line="553"/>
<source>&amp;Help</source>
<translation>&amp;Ohje</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="709"/>
<location filename="../src/GUI/gui.cpp" line="706"/>
<location filename="../src/GUI/gui.cpp" line="713"/>
<source>Map directory:</source>
<translation>Karttojen hakemisto:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="704"/>
<location filename="../src/GUI/gui.cpp" line="710"/>
<location filename="../src/GUI/gui.cpp" line="708"/>
<location filename="../src/GUI/gui.cpp" line="714"/>
<source>POI directory:</source>
<translation>POI:n hakemisto:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="993"/>
<location filename="../src/GUI/gui.cpp" line="1060"/>
<location filename="../src/GUI/gui.cpp" line="997"/>
<location filename="../src/GUI/gui.cpp" line="1064"/>
<source>Routes</source>
<translation>Reitit</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1311"/>
<location filename="../src/GUI/gui.cpp" line="1308"/>
<source>Error loading map:</source>
<translation>Virhe ladattaessa karttaa:</translation>
</message>
<message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1326"/>
<location filename="../src/GUI/gui.cpp" line="1323"/>
<source>%n files</source>
<translation>
<numerusform>%n tiedosto</numerusform>
@ -710,101 +720,96 @@
</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="668"/>
<location filename="../src/GUI/gui.cpp" line="672"/>
<source>Next file</source>
<translation>Seuraava tiedosto</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="644"/>
<source>Version </source>
<translation>Versio </translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="228"/>
<location filename="../src/GUI/gui.cpp" line="231"/>
<source>Print...</source>
<translation>Tulosta...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="235"/>
<location filename="../src/GUI/gui.cpp" line="238"/>
<source>Export to PDF...</source>
<translation>Vie PDF:ksi...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="996"/>
<location filename="../src/GUI/gui.cpp" line="1062"/>
<location filename="../src/GUI/gui.cpp" line="1000"/>
<location filename="../src/GUI/gui.cpp" line="1066"/>
<source>Waypoints</source>
<translation>Reittipisteet</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="669"/>
<location filename="../src/GUI/gui.cpp" line="673"/>
<source>Previous file</source>
<translation>Edellinen tiedosto</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="343"/>
<location filename="../src/GUI/gui.cpp" line="346"/>
<source>Route waypoints</source>
<translation>Reittipisteet</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="671"/>
<location filename="../src/GUI/gui.cpp" line="675"/>
<source>First file</source>
<translation>Ensimmäinen tiedosto</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="673"/>
<location filename="../src/GUI/gui.cpp" line="677"/>
<source>Last file</source>
<translation>Viimeinen tiedosto</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="815"/>
<location filename="../src/GUI/gui.cpp" line="819"/>
<source>Error loading data file:</source>
<translation>Virhe ladattaessa datatiedostoa:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="818"/>
<location filename="../src/GUI/gui.cpp" line="845"/>
<location filename="../src/GUI/gui.cpp" line="822"/>
<location filename="../src/GUI/gui.cpp" line="857"/>
<source>Line: %1</source>
<translation>Rivi: %1</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="842"/>
<location filename="../src/GUI/gui.cpp" line="854"/>
<source>Error loading POI file:</source>
<translation>Virhe ladattaessa POI-tiedostoa:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1054"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<source>Name</source>
<translation>Nimi</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="990"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<location filename="../src/GUI/gui.cpp" line="994"/>
<location filename="../src/GUI/gui.cpp" line="1062"/>
<source>Tracks</source>
<translation>Jäljet</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="218"/>
<location filename="../src/GUI/gui.cpp" line="643"/>
<location filename="../src/GUI/gui.cpp" line="221"/>
<location filename="../src/GUI/gui.cpp" line="646"/>
<source>About GPXSee</source>
<translation>Tietoja GPXSee:stä</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="579"/>
<location filename="../src/GUI/gui.cpp" line="582"/>
<source>Navigation</source>
<translation>Navigointi</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="360"/>
<location filename="../src/GUI/gui.cpp" line="1013"/>
<location filename="../src/GUI/gui.cpp" line="1078"/>
<location filename="../src/GUI/gui.cpp" line="363"/>
<location filename="../src/GUI/gui.cpp" line="1017"/>
<location filename="../src/GUI/gui.cpp" line="1082"/>
<source>Distance</source>
<translation>Etäisyys</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="367"/>
<location filename="../src/GUI/gui.cpp" line="533"/>
<location filename="../src/GUI/gui.cpp" line="1016"/>
<location filename="../src/GUI/gui.cpp" line="1080"/>
<location filename="../src/GUI/gui.cpp" line="370"/>
<location filename="../src/GUI/gui.cpp" line="536"/>
<location filename="../src/GUI/gui.cpp" line="1020"/>
<location filename="../src/GUI/gui.cpp" line="1084"/>
<source>Time</source>
<translation>Aika</translation>
</message>
@ -957,32 +962,37 @@
<context>
<name>MapList</name>
<message>
<location filename="../src/map/maplist.cpp" line="114"/>
<location filename="../src/map/maplist.cpp" line="117"/>
<source>Supported files</source>
<translation>Tuetut tiedostot</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="115"/>
<location filename="../src/map/maplist.cpp" line="119"/>
<source>MBTiles maps</source>
<translation>MBTiles -kartat</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="120"/>
<source>Garmin JNX maps</source>
<translation>Garmin JNX -kartat</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="116"/>
<location filename="../src/map/maplist.cpp" line="121"/>
<source>OziExplorer maps</source>
<translation>OziExplorer -kartat</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="117"/>
<location filename="../src/map/maplist.cpp" line="122"/>
<source>TrekBuddy maps/atlases</source>
<translation>TrekBuddy -kartat/kartastot</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="118"/>
<location filename="../src/map/maplist.cpp" line="123"/>
<source>GeoTIFF images</source>
<translation>GeoTIFF -kuvat</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="119"/>
<location filename="../src/map/maplist.cpp" line="124"/>
<source>Online map sources</source>
<translation>Online-karttojen lähteet</translation>
</message>

View File

@ -182,94 +182,99 @@
<context>
<name>ExportDialog</name>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="134"/>
<location filename="../src/GUI/exportdialog.cpp" line="135"/>
<source>Export to PDF</source>
<translation>Exporter au format PDF</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="25"/>
<source>PDF files (*.pdf);;All files (*)</source>
<translation>Fichiers PDF (*.pdf);;Tous les fichiers (*)</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="51"/>
<location filename="../src/GUI/exportdialog.cpp" line="52"/>
<source>Portrait</source>
<translation>Portrait</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="52"/>
<location filename="../src/GUI/exportdialog.cpp" line="53"/>
<source>Landscape</source>
<translation>Paysage</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="96"/>
<location filename="../src/GUI/exportdialog.cpp" line="97"/>
<source>Page size:</source>
<translation>Format de papier :</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="98"/>
<location filename="../src/GUI/exportdialog.cpp" line="99"/>
<source>Orientation:</source>
<translation>Orientation :</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="93"/>
<location filename="../src/GUI/exportdialog.cpp" line="94"/>
<source>Page Setup</source>
<translation>Style de page</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="65"/>
<location filename="../src/GUI/exportdialog.cpp" line="25"/>
<source>PDF files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="25"/>
<source>All files</source>
<translation type="unfinished">Tous les fichiers</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="66"/>
<source>in</source>
<translation>po</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="65"/>
<location filename="../src/GUI/exportdialog.cpp" line="66"/>
<source>mm</source>
<translation>mm</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="97"/>
<location filename="../src/GUI/exportdialog.cpp" line="98"/>
<source>Resolution:</source>
<translation>Résolution :</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="99"/>
<location filename="../src/GUI/exportdialog.cpp" line="100"/>
<source>Margins:</source>
<translation>Marges :</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="105"/>
<location filename="../src/GUI/exportdialog.cpp" line="106"/>
<source>File:</source>
<translation>Fichier :</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="112"/>
<location filename="../src/GUI/exportdialog.cpp" line="113"/>
<source>Output file</source>
<translation>Fichier exporté</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="119"/>
<location filename="../src/GUI/exportdialog.cpp" line="120"/>
<source>Export</source>
<translation>Exporter</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/>
<location filename="../src/GUI/exportdialog.cpp" line="151"/>
<location filename="../src/GUI/exportdialog.cpp" line="156"/>
<location filename="../src/GUI/exportdialog.cpp" line="142"/>
<location filename="../src/GUI/exportdialog.cpp" line="152"/>
<location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>Error</source>
<translation>Erreur</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/>
<location filename="../src/GUI/exportdialog.cpp" line="142"/>
<source>No output file selected.</source>
<translation>Auncun fichier sélectionné.</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="151"/>
<location filename="../src/GUI/exportdialog.cpp" line="152"/>
<source>%1 is a directory.</source>
<translation>%1 est un dossier.</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="156"/>
<location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>%1 is not writable.</source>
<translation>%1 n&apos;est pas inscriptible.</translation>
</message>
@ -316,344 +321,349 @@
<context>
<name>GUI</name>
<message>
<location filename="../src/GUI/gui.cpp" line="647"/>
<source>GPXSee is distributed under the terms of the GNU General Public License version 3. For more info about GPXSee visit the project homepage at </source>
<translation>GPXSee est distribué selon les termes de la licence publique générale GNU (version 3). Pour plus d&apos;information sur GPXSee, visiter le site du projet sur </translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="709"/>
<location filename="../src/GUI/gui.cpp" line="706"/>
<location filename="../src/GUI/gui.cpp" line="713"/>
<source>Map directory:</source>
<translation>Dossier des cartes :</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="704"/>
<location filename="../src/GUI/gui.cpp" line="710"/>
<location filename="../src/GUI/gui.cpp" line="708"/>
<location filename="../src/GUI/gui.cpp" line="714"/>
<source>POI directory:</source>
<translation>Dossier des POI:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="721"/>
<location filename="../src/GUI/gui.cpp" line="725"/>
<source>Open file</source>
<translation>Ouvrir un fichier</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="826"/>
<location filename="../src/GUI/gui.cpp" line="830"/>
<source>Open POI file</source>
<translation>Ouvrir un fichier POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="205"/>
<location filename="../src/GUI/gui.cpp" line="208"/>
<source>Quit</source>
<translation>Quitter</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="215"/>
<location filename="../src/GUI/gui.cpp" line="664"/>
<location filename="../src/GUI/gui.cpp" line="665"/>
<location filename="../src/GUI/gui.cpp" line="218"/>
<location filename="../src/GUI/gui.cpp" line="668"/>
<location filename="../src/GUI/gui.cpp" line="669"/>
<source>Keyboard controls</source>
<translation>Raccourcis clavier</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="241"/>
<location filename="../src/GUI/gui.cpp" line="244"/>
<source>Close</source>
<translation>Fermer</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="247"/>
<location filename="../src/GUI/gui.cpp" line="250"/>
<source>Reload</source>
<translation>Actualiser</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="573"/>
<location filename="../src/GUI/gui.cpp" line="576"/>
<source>Show</source>
<translation>Afficher</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="566"/>
<location filename="../src/GUI/gui.cpp" line="569"/>
<source>File</source>
<translation>Fichier</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="266"/>
<location filename="../src/GUI/gui.cpp" line="269"/>
<source>Close POI files</source>
<translation>Fermer les fichiers POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="270"/>
<location filename="../src/GUI/gui.cpp" line="273"/>
<source>Overlap POIs</source>
<translation>Superposer les POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="275"/>
<location filename="../src/GUI/gui.cpp" line="278"/>
<source>Show POI labels</source>
<translation>Afficher les notes des POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="280"/>
<location filename="../src/GUI/gui.cpp" line="283"/>
<source>Show POIs</source>
<translation>Afficher les POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="290"/>
<location filename="../src/GUI/gui.cpp" line="293"/>
<source>Show map</source>
<translation>Afficher la carte</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="302"/>
<location filename="../src/GUI/gui.cpp" line="305"/>
<source>Clear tile cache</source>
<translation>Effacer les tuiles en cache</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="223"/>
<location filename="../src/GUI/gui.cpp" line="226"/>
<source>Open...</source>
<translation>Ouvrir...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="212"/>
<location filename="../src/GUI/gui.cpp" line="698"/>
<location filename="../src/GUI/gui.cpp" line="699"/>
<location filename="../src/GUI/gui.cpp" line="215"/>
<location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="703"/>
<source>Paths</source>
<translation>Chemin d&apos;accès</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="254"/>
<location filename="../src/GUI/gui.cpp" line="257"/>
<source>Statistics...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="262"/>
<location filename="../src/GUI/gui.cpp" line="265"/>
<source>Load POI file...</source>
<translation>Charger un fichier POI...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="298"/>
<location filename="../src/GUI/gui.cpp" line="301"/>
<source>Load map...</source>
<translation>Charger une carte...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="307"/>
<location filename="../src/GUI/gui.cpp" line="312"/>
<location filename="../src/GUI/gui.cpp" line="681"/>
<location filename="../src/GUI/gui.cpp" line="310"/>
<location filename="../src/GUI/gui.cpp" line="315"/>
<location filename="../src/GUI/gui.cpp" line="685"/>
<source>Next map</source>
<translation>Carte suivante</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="323"/>
<location filename="../src/GUI/gui.cpp" line="326"/>
<source>Show tracks</source>
<translation>Afficher la trace</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="328"/>
<location filename="../src/GUI/gui.cpp" line="331"/>
<source>Show routes</source>
<translation>Afficher la route</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="333"/>
<location filename="../src/GUI/gui.cpp" line="336"/>
<source>Show waypoints</source>
<translation>Afficher les points de jalonnement</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="338"/>
<location filename="../src/GUI/gui.cpp" line="341"/>
<source>Waypoint labels</source>
<translation>Étiquettes des jalons</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="350"/>
<location filename="../src/GUI/gui.cpp" line="353"/>
<source>Show graphs</source>
<translation>Afficher les graphes</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="374"/>
<location filename="../src/GUI/gui.cpp" line="377"/>
<source>Show grid</source>
<translation>Afficher la grille</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="379"/>
<location filename="../src/GUI/gui.cpp" line="382"/>
<source>Show slider info</source>
<translation>Afficher les infos du curseur</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="386"/>
<location filename="../src/GUI/gui.cpp" line="389"/>
<source>Show toolbars</source>
<translation>Afficher la barre d&apos;outils</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="393"/>
<location filename="../src/GUI/gui.cpp" line="396"/>
<source>Total time</source>
<translation>Durée totale</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="399"/>
<location filename="../src/GUI/gui.cpp" line="1018"/>
<location filename="../src/GUI/gui.cpp" line="1082"/>
<location filename="../src/GUI/gui.cpp" line="402"/>
<location filename="../src/GUI/gui.cpp" line="1022"/>
<location filename="../src/GUI/gui.cpp" line="1086"/>
<source>Moving time</source>
<translation>Durée en déplacement</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="407"/>
<location filename="../src/GUI/gui.cpp" line="410"/>
<source>Metric</source>
<translation>Métrique</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="413"/>
<location filename="../src/GUI/gui.cpp" line="416"/>
<source>Imperial</source>
<translation>Impérial</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="419"/>
<location filename="../src/GUI/gui.cpp" line="422"/>
<source>Nautical</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="427"/>
<location filename="../src/GUI/gui.cpp" line="430"/>
<source>Decimal degrees (DD)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="433"/>
<location filename="../src/GUI/gui.cpp" line="436"/>
<source>Degrees and decimal minutes (DMM)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="440"/>
<location filename="../src/GUI/gui.cpp" line="443"/>
<source>Degrees, minutes, seconds (DMS)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="446"/>
<location filename="../src/GUI/gui.cpp" line="449"/>
<source>Fullscreen mode</source>
<translation>Mode plein écran</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="453"/>
<location filename="../src/GUI/gui.cpp" line="456"/>
<source>Options...</source>
<translation>Options...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="459"/>
<location filename="../src/GUI/gui.cpp" line="462"/>
<source>Next</source>
<translation>Suivant</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="463"/>
<location filename="../src/GUI/gui.cpp" line="466"/>
<source>Previous</source>
<translation>Précèdant</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="467"/>
<location filename="../src/GUI/gui.cpp" line="470"/>
<source>Last</source>
<translation>Dernier</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="471"/>
<location filename="../src/GUI/gui.cpp" line="474"/>
<source>First</source>
<translation>Premier</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="512"/>
<location filename="../src/GUI/gui.cpp" line="515"/>
<source>POI files</source>
<translation>Fichiers POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="524"/>
<location filename="../src/GUI/gui.cpp" line="527"/>
<source>Display</source>
<translation>Affichage</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="536"/>
<location filename="../src/GUI/gui.cpp" line="539"/>
<source>Units</source>
<translation>Système d&apos;unités</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="540"/>
<location filename="../src/GUI/gui.cpp" line="543"/>
<source>Coordinates format</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="674"/>
<location filename="../src/GUI/gui.cpp" line="647"/>
<source>Version %1</source>
<translation>Version %1</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="651"/>
<source>GPXSee is distributed under the terms of the GNU General Public License version 3. For more info about GPXSee visit the project homepage at %1.</source>
<translation>GPXSee est distribué selon les termes de la licence publique générale GNU (version 3). Pour plus d&apos;information sur GPXSee, visiter le site du projet sur %1.</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="678"/>
<source>Append file</source>
<translation>Joindre un fichier</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="675"/>
<location filename="../src/GUI/gui.cpp" line="679"/>
<source>Next/Previous</source>
<translation>Suivant/Précèdant</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="677"/>
<location filename="../src/GUI/gui.cpp" line="681"/>
<source>Toggle graph type</source>
<translation>Controler le type de graphe</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="679"/>
<location filename="../src/GUI/gui.cpp" line="683"/>
<source>Toggle time type</source>
<translation>Controler le type de durée</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="683"/>
<location filename="../src/GUI/gui.cpp" line="687"/>
<source>Previous map</source>
<translation>Carte précèdente</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="684"/>
<location filename="../src/GUI/gui.cpp" line="688"/>
<source>Zoom in</source>
<translation>Zoomer</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="686"/>
<location filename="../src/GUI/gui.cpp" line="690"/>
<source>Zoom out</source>
<translation>Dézoomer</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="688"/>
<location filename="../src/GUI/gui.cpp" line="692"/>
<source>Digital zoom</source>
<translation>Zoom numérique</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="689"/>
<location filename="../src/GUI/gui.cpp" line="693"/>
<source>Zoom</source>
<translation>Zoom</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="706"/>
<source>Global</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="706"/>
<location filename="../src/GUI/gui.cpp" line="712"/>
<location filename="../src/GUI/gui.cpp" line="710"/>
<location filename="../src/GUI/gui.cpp" line="716"/>
<source>GCS/PCS directory:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="708"/>
<location filename="../src/GUI/gui.cpp" line="712"/>
<source>User-specific</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1039"/>
<location filename="../src/GUI/gui.cpp" line="1040"/>
<location filename="../src/GUI/gui.cpp" line="1043"/>
<location filename="../src/GUI/gui.cpp" line="1044"/>
<source>Statistics</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1281"/>
<location filename="../src/GUI/gui.cpp" line="1285"/>
<source>Open map file</source>
<translation>Ouvrir un fichier de carte</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1311"/>
<location filename="../src/GUI/gui.cpp" line="1308"/>
<source>Error loading map:</source>
<translation>Erreur lors du chargement de la carte :</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1322"/>
<location filename="../src/GUI/gui.cpp" line="1319"/>
<source>No files loaded</source>
<translation>Aucun fichier chargé</translation>
</message>
<message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1326"/>
<location filename="../src/GUI/gui.cpp" line="1323"/>
<source>%n files</source>
<translation>
<numerusform>%n fichier</numerusform>
@ -661,150 +671,145 @@
</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1002"/>
<location filename="../src/GUI/gui.cpp" line="1006"/>
<location filename="../src/GUI/gui.cpp" line="1068"/>
<location filename="../src/GUI/gui.cpp" line="1071"/>
<location filename="../src/GUI/gui.cpp" line="1010"/>
<location filename="../src/GUI/gui.cpp" line="1072"/>
<location filename="../src/GUI/gui.cpp" line="1075"/>
<source>Date</source>
<translation>Date</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="993"/>
<location filename="../src/GUI/gui.cpp" line="1060"/>
<location filename="../src/GUI/gui.cpp" line="997"/>
<location filename="../src/GUI/gui.cpp" line="1064"/>
<source>Routes</source>
<translation>Routes</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="668"/>
<location filename="../src/GUI/gui.cpp" line="672"/>
<source>Next file</source>
<translation>Fichier suivant</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="644"/>
<source>Version </source>
<translation>Version </translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="228"/>
<location filename="../src/GUI/gui.cpp" line="231"/>
<source>Print...</source>
<translation>Imprimer...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="235"/>
<location filename="../src/GUI/gui.cpp" line="238"/>
<source>Export to PDF...</source>
<translation>Exporter au format PDF...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="996"/>
<location filename="../src/GUI/gui.cpp" line="1062"/>
<location filename="../src/GUI/gui.cpp" line="1000"/>
<location filename="../src/GUI/gui.cpp" line="1066"/>
<source>Waypoints</source>
<translation>Points de jalonnement</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="669"/>
<location filename="../src/GUI/gui.cpp" line="673"/>
<source>Previous file</source>
<translation>Fichier précédent</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="343"/>
<location filename="../src/GUI/gui.cpp" line="346"/>
<source>Route waypoints</source>
<translation>Jalons de route</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="479"/>
<location filename="../src/GUI/gui.cpp" line="482"/>
<source>&amp;File</source>
<translation>&amp;Fichier</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="494"/>
<location filename="../src/GUI/gui.cpp" line="497"/>
<source>&amp;Map</source>
<translation>&amp;Carte</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="502"/>
<location filename="../src/GUI/gui.cpp" line="505"/>
<source>&amp;Graph</source>
<translation>&amp;Graphe</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="511"/>
<location filename="../src/GUI/gui.cpp" line="514"/>
<source>&amp;POI</source>
<translation>&amp;POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="523"/>
<location filename="../src/GUI/gui.cpp" line="526"/>
<source>&amp;Data</source>
<translation>&amp;Données</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="532"/>
<location filename="../src/GUI/gui.cpp" line="535"/>
<source>&amp;Settings</source>
<translation>Pa&amp;ramètres</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="550"/>
<location filename="../src/GUI/gui.cpp" line="553"/>
<source>&amp;Help</source>
<translation>&amp;Aide</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="671"/>
<location filename="../src/GUI/gui.cpp" line="675"/>
<source>First file</source>
<translation>Premier fichier</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="673"/>
<location filename="../src/GUI/gui.cpp" line="677"/>
<source>Last file</source>
<translation>Dernier fichier</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="815"/>
<location filename="../src/GUI/gui.cpp" line="819"/>
<source>Error loading data file:</source>
<translation>Erreur lors du chargement des données:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="818"/>
<location filename="../src/GUI/gui.cpp" line="845"/>
<location filename="../src/GUI/gui.cpp" line="822"/>
<location filename="../src/GUI/gui.cpp" line="857"/>
<source>Line: %1</source>
<translation>Ligne : %1</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="842"/>
<location filename="../src/GUI/gui.cpp" line="854"/>
<source>Error loading POI file:</source>
<translation>Erreur lors du chargement du fichier POI :</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1054"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<source>Name</source>
<translation>Nom</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="990"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<location filename="../src/GUI/gui.cpp" line="994"/>
<location filename="../src/GUI/gui.cpp" line="1062"/>
<source>Tracks</source>
<translation>Traces</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="218"/>
<location filename="../src/GUI/gui.cpp" line="643"/>
<location filename="../src/GUI/gui.cpp" line="221"/>
<location filename="../src/GUI/gui.cpp" line="646"/>
<source>About GPXSee</source>
<translation>À propos de GPXSee</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="579"/>
<location filename="../src/GUI/gui.cpp" line="582"/>
<source>Navigation</source>
<translation>Navigation</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="360"/>
<location filename="../src/GUI/gui.cpp" line="1013"/>
<location filename="../src/GUI/gui.cpp" line="1078"/>
<location filename="../src/GUI/gui.cpp" line="363"/>
<location filename="../src/GUI/gui.cpp" line="1017"/>
<location filename="../src/GUI/gui.cpp" line="1082"/>
<source>Distance</source>
<translation>Distance</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="367"/>
<location filename="../src/GUI/gui.cpp" line="533"/>
<location filename="../src/GUI/gui.cpp" line="1016"/>
<location filename="../src/GUI/gui.cpp" line="1080"/>
<location filename="../src/GUI/gui.cpp" line="370"/>
<location filename="../src/GUI/gui.cpp" line="536"/>
<location filename="../src/GUI/gui.cpp" line="1020"/>
<location filename="../src/GUI/gui.cpp" line="1084"/>
<source>Time</source>
<translation>Temps</translation>
</message>
@ -957,32 +962,37 @@
<context>
<name>MapList</name>
<message>
<location filename="../src/map/maplist.cpp" line="114"/>
<location filename="../src/map/maplist.cpp" line="117"/>
<source>Supported files</source>
<translation>Formats pris en charge</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="115"/>
<location filename="../src/map/maplist.cpp" line="119"/>
<source>MBTiles maps</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="120"/>
<source>Garmin JNX maps</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="116"/>
<location filename="../src/map/maplist.cpp" line="121"/>
<source>OziExplorer maps</source>
<translation>Cartes OziExplorer</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="117"/>
<location filename="../src/map/maplist.cpp" line="122"/>
<source>TrekBuddy maps/atlases</source>
<translation>Cartes ou atlas TrekBuddy</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="118"/>
<location filename="../src/map/maplist.cpp" line="123"/>
<source>GeoTIFF images</source>
<translation>Images GeoTIFF</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="119"/>
<location filename="../src/map/maplist.cpp" line="124"/>
<source>Online map sources</source>
<translation>Cartes en ligne</translation>
</message>

1757
lang/gpxsee_nb.ts Normal file

File diff suppressed because it is too large Load Diff

View File

@ -6,7 +6,7 @@
<message>
<location filename="../src/GUI/cadencegraph.cpp" line="11"/>
<source>rpm</source>
<translation type="unfinished"></translation>
<translation>obr./min</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraph.cpp" line="12"/>
@ -36,7 +36,7 @@
<location filename="../src/GUI/cadencegraphitem.cpp" line="24"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="26"/>
<source>rpm</source>
<translation type="unfinished"></translation>
<translation>obr./min</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="25"/>
@ -79,7 +79,7 @@
<message>
<location filename="../src/data/data.cpp" line="120"/>
<source>LOC files</source>
<translation type="unfinished"></translation>
<translation>Pliki LOC</translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="121"/>
@ -99,7 +99,7 @@
<message>
<location filename="../src/data/data.cpp" line="123"/>
<source>SLF files</source>
<translation type="unfinished"></translation>
<translation>Pliki SLF</translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="124"/>
@ -182,94 +182,99 @@
<context>
<name>ExportDialog</name>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="134"/>
<location filename="../src/GUI/exportdialog.cpp" line="135"/>
<source>Export to PDF</source>
<translation>Eksportuj do PDF</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="25"/>
<source>PDF files (*.pdf);;All files (*)</source>
<translation>Pliki PDF (*.pdf);;Wszystkie pliki (*)</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="51"/>
<location filename="../src/GUI/exportdialog.cpp" line="52"/>
<source>Portrait</source>
<translation>Pionowo</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="52"/>
<location filename="../src/GUI/exportdialog.cpp" line="53"/>
<source>Landscape</source>
<translation>Poziomo</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="96"/>
<location filename="../src/GUI/exportdialog.cpp" line="97"/>
<source>Page size:</source>
<translation>Rozmiar strony:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="98"/>
<location filename="../src/GUI/exportdialog.cpp" line="99"/>
<source>Orientation:</source>
<translation>Orientacja:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="93"/>
<location filename="../src/GUI/exportdialog.cpp" line="94"/>
<source>Page Setup</source>
<translation>Ustawienia strony</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="65"/>
<location filename="../src/GUI/exportdialog.cpp" line="25"/>
<source>PDF files</source>
<translation>Pliki PDF</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="25"/>
<source>All files</source>
<translation>Wszystkie pliki</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="66"/>
<source>in</source>
<translation>in</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="65"/>
<location filename="../src/GUI/exportdialog.cpp" line="66"/>
<source>mm</source>
<translation>mm</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="97"/>
<location filename="../src/GUI/exportdialog.cpp" line="98"/>
<source>Resolution:</source>
<translation>Rozdzielczość:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="99"/>
<location filename="../src/GUI/exportdialog.cpp" line="100"/>
<source>Margins:</source>
<translation>Marginesy:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="105"/>
<location filename="../src/GUI/exportdialog.cpp" line="106"/>
<source>File:</source>
<translation>Plik:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="112"/>
<location filename="../src/GUI/exportdialog.cpp" line="113"/>
<source>Output file</source>
<translation>Plik docelowy</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="119"/>
<location filename="../src/GUI/exportdialog.cpp" line="120"/>
<source>Export</source>
<translation>Eksportuj</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/>
<location filename="../src/GUI/exportdialog.cpp" line="151"/>
<location filename="../src/GUI/exportdialog.cpp" line="156"/>
<location filename="../src/GUI/exportdialog.cpp" line="142"/>
<location filename="../src/GUI/exportdialog.cpp" line="152"/>
<location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>Error</source>
<translation>Błąd</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/>
<location filename="../src/GUI/exportdialog.cpp" line="142"/>
<source>No output file selected.</source>
<translation>Nie wybrano pliku docelowego.</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="151"/>
<location filename="../src/GUI/exportdialog.cpp" line="152"/>
<source>%1 is a directory.</source>
<translation>%1 jest katalogiem.</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="156"/>
<location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>%1 is not writable.</source>
<translation>%1 nie jest zapisywalny.</translation>
</message>
@ -316,393 +321,398 @@
<context>
<name>GUI</name>
<message>
<location filename="../src/GUI/gui.cpp" line="647"/>
<source>GPXSee is distributed under the terms of the GNU General Public License version 3. For more info about GPXSee visit the project homepage at </source>
<translation>Program GPXSee jest rozpowszechniany na warunkach licencji GNU General Public License w wersji 3. Więcej informacji o programie GPXSee można znaleźć na stronie głównej projektu pod adresem </translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="721"/>
<location filename="../src/GUI/gui.cpp" line="725"/>
<source>Open file</source>
<translation>Otwórz plik</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="826"/>
<location filename="../src/GUI/gui.cpp" line="830"/>
<source>Open POI file</source>
<translation>Otwórz plik POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="205"/>
<location filename="../src/GUI/gui.cpp" line="208"/>
<source>Quit</source>
<translation>Zakończ</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="215"/>
<location filename="../src/GUI/gui.cpp" line="664"/>
<location filename="../src/GUI/gui.cpp" line="665"/>
<location filename="../src/GUI/gui.cpp" line="218"/>
<location filename="../src/GUI/gui.cpp" line="668"/>
<location filename="../src/GUI/gui.cpp" line="669"/>
<source>Keyboard controls</source>
<translation>Elementy sterujące klawiatury</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="241"/>
<location filename="../src/GUI/gui.cpp" line="244"/>
<source>Close</source>
<translation>Zamknij</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="247"/>
<location filename="../src/GUI/gui.cpp" line="250"/>
<source>Reload</source>
<translation>Odśwież</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="573"/>
<location filename="../src/GUI/gui.cpp" line="576"/>
<source>Show</source>
<translation>Pokaż</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="566"/>
<location filename="../src/GUI/gui.cpp" line="569"/>
<source>File</source>
<translation>Plik</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="266"/>
<location filename="../src/GUI/gui.cpp" line="269"/>
<source>Close POI files</source>
<translation>Zamknij pliki POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="270"/>
<location filename="../src/GUI/gui.cpp" line="273"/>
<source>Overlap POIs</source>
<translation>Nakładka POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="275"/>
<location filename="../src/GUI/gui.cpp" line="278"/>
<source>Show POI labels</source>
<translation>Pokaż etykiety POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="280"/>
<location filename="../src/GUI/gui.cpp" line="283"/>
<source>Show POIs</source>
<translation>Pokaż punkty POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="290"/>
<location filename="../src/GUI/gui.cpp" line="293"/>
<source>Show map</source>
<translation>Pokaż mapę</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="302"/>
<location filename="../src/GUI/gui.cpp" line="305"/>
<source>Clear tile cache</source>
<translation>Wyczyść pamięć podręczną kafelków</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="223"/>
<location filename="../src/GUI/gui.cpp" line="226"/>
<source>Open...</source>
<translation>Otwórz...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="212"/>
<location filename="../src/GUI/gui.cpp" line="698"/>
<location filename="../src/GUI/gui.cpp" line="699"/>
<location filename="../src/GUI/gui.cpp" line="215"/>
<location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="703"/>
<source>Paths</source>
<translation>Ścieżki</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="254"/>
<location filename="../src/GUI/gui.cpp" line="257"/>
<source>Statistics...</source>
<translation type="unfinished"></translation>
<translation>Statystyka...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="262"/>
<location filename="../src/GUI/gui.cpp" line="265"/>
<source>Load POI file...</source>
<translation>Załaduj plik POI...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="298"/>
<location filename="../src/GUI/gui.cpp" line="301"/>
<source>Load map...</source>
<translation>Załaduj mapę...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="307"/>
<location filename="../src/GUI/gui.cpp" line="312"/>
<location filename="../src/GUI/gui.cpp" line="681"/>
<location filename="../src/GUI/gui.cpp" line="310"/>
<location filename="../src/GUI/gui.cpp" line="315"/>
<location filename="../src/GUI/gui.cpp" line="685"/>
<source>Next map</source>
<translation>Następna mapa</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="323"/>
<location filename="../src/GUI/gui.cpp" line="326"/>
<source>Show tracks</source>
<translation>Pokaż ślady</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="328"/>
<location filename="../src/GUI/gui.cpp" line="331"/>
<source>Show routes</source>
<translation>Pokaż trasy</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="333"/>
<location filename="../src/GUI/gui.cpp" line="336"/>
<source>Show waypoints</source>
<translation>Pokaż punkty nawigacyjne</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="338"/>
<location filename="../src/GUI/gui.cpp" line="341"/>
<source>Waypoint labels</source>
<translation>Etykiety punktów nawigacyjnych</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="350"/>
<location filename="../src/GUI/gui.cpp" line="353"/>
<source>Show graphs</source>
<translation>Pokaż wykresy</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="374"/>
<location filename="../src/GUI/gui.cpp" line="377"/>
<source>Show grid</source>
<translation>Pokaż siatkę</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="379"/>
<location filename="../src/GUI/gui.cpp" line="382"/>
<source>Show slider info</source>
<translation>Pokaż informację o suwaku</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="386"/>
<location filename="../src/GUI/gui.cpp" line="389"/>
<source>Show toolbars</source>
<translation>Pokaż paski narzędzi</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="393"/>
<location filename="../src/GUI/gui.cpp" line="396"/>
<source>Total time</source>
<translation>Całkowity czas</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="399"/>
<location filename="../src/GUI/gui.cpp" line="1018"/>
<location filename="../src/GUI/gui.cpp" line="1082"/>
<location filename="../src/GUI/gui.cpp" line="402"/>
<location filename="../src/GUI/gui.cpp" line="1022"/>
<location filename="../src/GUI/gui.cpp" line="1086"/>
<source>Moving time</source>
<translation>Czas ruchu</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="407"/>
<location filename="../src/GUI/gui.cpp" line="410"/>
<source>Metric</source>
<translation>Metryczne</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="413"/>
<location filename="../src/GUI/gui.cpp" line="416"/>
<source>Imperial</source>
<translation>Imperialne</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="419"/>
<location filename="../src/GUI/gui.cpp" line="422"/>
<source>Nautical</source>
<translation>Morskie</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="427"/>
<location filename="../src/GUI/gui.cpp" line="430"/>
<source>Decimal degrees (DD)</source>
<translation>Stopnie dziesiętne (DD)</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="433"/>
<location filename="../src/GUI/gui.cpp" line="436"/>
<source>Degrees and decimal minutes (DMM)</source>
<translation>Stopnie i minuty dziesiętne (DMM)</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="440"/>
<location filename="../src/GUI/gui.cpp" line="443"/>
<source>Degrees, minutes, seconds (DMS)</source>
<translation>Stopnie, minuty, sekundy (DMS)</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="446"/>
<location filename="../src/GUI/gui.cpp" line="449"/>
<source>Fullscreen mode</source>
<translation>Tryb pełnoekranowy</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="453"/>
<location filename="../src/GUI/gui.cpp" line="456"/>
<source>Options...</source>
<translation>Opcje...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="459"/>
<location filename="../src/GUI/gui.cpp" line="462"/>
<source>Next</source>
<translation>Następny</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="463"/>
<location filename="../src/GUI/gui.cpp" line="466"/>
<source>Previous</source>
<translation>Poprzedni</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="467"/>
<location filename="../src/GUI/gui.cpp" line="470"/>
<source>Last</source>
<translation>Ostatni</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="471"/>
<location filename="../src/GUI/gui.cpp" line="474"/>
<source>First</source>
<translation>Pierwszy</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="512"/>
<location filename="../src/GUI/gui.cpp" line="515"/>
<source>POI files</source>
<translation>Pliki POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="524"/>
<location filename="../src/GUI/gui.cpp" line="527"/>
<source>Display</source>
<translation>Wyświetlanie</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="536"/>
<location filename="../src/GUI/gui.cpp" line="539"/>
<source>Units</source>
<translation>Jednostki</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="540"/>
<location filename="../src/GUI/gui.cpp" line="543"/>
<source>Coordinates format</source>
<translation>Format współrzędnych</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="674"/>
<location filename="../src/GUI/gui.cpp" line="647"/>
<source>Version %1</source>
<translation>Wersja %1</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="651"/>
<source>GPXSee is distributed under the terms of the GNU General Public License version 3. For more info about GPXSee visit the project homepage at %1.</source>
<translation>Program GPXSee jest rozpowszechniany na warunkach licencji GNU General Public License w wersji 3. Więcej informacji o programie GPXSee można znaleźć na stronie głównej projektu pod adresem %1.</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="678"/>
<source>Append file</source>
<translation>Dołącz plik</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="675"/>
<location filename="../src/GUI/gui.cpp" line="679"/>
<source>Next/Previous</source>
<translation>Następny/Poprzedni</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="677"/>
<location filename="../src/GUI/gui.cpp" line="681"/>
<source>Toggle graph type</source>
<translation>Zmień typ wykresu</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="679"/>
<location filename="../src/GUI/gui.cpp" line="683"/>
<source>Toggle time type</source>
<translation>Zmień typ czasu</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="683"/>
<location filename="../src/GUI/gui.cpp" line="687"/>
<source>Previous map</source>
<translation>Poprzednia mapa</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="684"/>
<location filename="../src/GUI/gui.cpp" line="688"/>
<source>Zoom in</source>
<translation>Przybliż</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="686"/>
<location filename="../src/GUI/gui.cpp" line="690"/>
<source>Zoom out</source>
<translation>Oddal</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="688"/>
<location filename="../src/GUI/gui.cpp" line="692"/>
<source>Digital zoom</source>
<translation>Zoom cyfrowy</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="689"/>
<location filename="../src/GUI/gui.cpp" line="693"/>
<source>Zoom</source>
<translation>Zoom</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="702"/>
<source>Global</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="706"/>
<location filename="../src/GUI/gui.cpp" line="712"/>
<source>Global</source>
<translation>Globalny</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="710"/>
<location filename="../src/GUI/gui.cpp" line="716"/>
<source>GCS/PCS directory:</source>
<translation type="unfinished"></translation>
<translation>Katalog plików GCS/PCS:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="708"/>
<location filename="../src/GUI/gui.cpp" line="712"/>
<source>User-specific</source>
<translation type="unfinished"></translation>
<translation>Użytkownika</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1039"/>
<location filename="../src/GUI/gui.cpp" line="1040"/>
<location filename="../src/GUI/gui.cpp" line="1043"/>
<location filename="../src/GUI/gui.cpp" line="1044"/>
<source>Statistics</source>
<translation type="unfinished"></translation>
<translation>Statystyka</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1281"/>
<location filename="../src/GUI/gui.cpp" line="1285"/>
<source>Open map file</source>
<translation>Otwórz plik mapy</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1322"/>
<location filename="../src/GUI/gui.cpp" line="1319"/>
<source>No files loaded</source>
<translation>Nie załadowano żadnych plików</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1002"/>
<location filename="../src/GUI/gui.cpp" line="1006"/>
<location filename="../src/GUI/gui.cpp" line="1068"/>
<location filename="../src/GUI/gui.cpp" line="1071"/>
<location filename="../src/GUI/gui.cpp" line="1010"/>
<location filename="../src/GUI/gui.cpp" line="1072"/>
<location filename="../src/GUI/gui.cpp" line="1075"/>
<source>Date</source>
<translation>Data</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="479"/>
<location filename="../src/GUI/gui.cpp" line="482"/>
<source>&amp;File</source>
<translation>&amp;Plik</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="494"/>
<location filename="../src/GUI/gui.cpp" line="497"/>
<source>&amp;Map</source>
<translation>&amp;Mapa</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="502"/>
<location filename="../src/GUI/gui.cpp" line="505"/>
<source>&amp;Graph</source>
<translation>&amp;Wykres</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="511"/>
<location filename="../src/GUI/gui.cpp" line="514"/>
<source>&amp;POI</source>
<translation>P&amp;OI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="523"/>
<location filename="../src/GUI/gui.cpp" line="526"/>
<source>&amp;Data</source>
<translation>&amp;Dane</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="532"/>
<location filename="../src/GUI/gui.cpp" line="535"/>
<source>&amp;Settings</source>
<translation>&amp;Ustawienia</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="550"/>
<location filename="../src/GUI/gui.cpp" line="553"/>
<source>&amp;Help</source>
<translation>Pomo&amp;c</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="709"/>
<location filename="../src/GUI/gui.cpp" line="706"/>
<location filename="../src/GUI/gui.cpp" line="713"/>
<source>Map directory:</source>
<translation>Katalog z mapami:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="704"/>
<location filename="../src/GUI/gui.cpp" line="710"/>
<location filename="../src/GUI/gui.cpp" line="708"/>
<location filename="../src/GUI/gui.cpp" line="714"/>
<source>POI directory:</source>
<translation>Katalog z POI:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="993"/>
<location filename="../src/GUI/gui.cpp" line="1060"/>
<location filename="../src/GUI/gui.cpp" line="997"/>
<location filename="../src/GUI/gui.cpp" line="1064"/>
<source>Routes</source>
<translation>Trasy</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1311"/>
<location filename="../src/GUI/gui.cpp" line="1308"/>
<source>Error loading map:</source>
<translation>Wystąpił błąd podczas ładowania mapy:</translation>
</message>
<message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1326"/>
<location filename="../src/GUI/gui.cpp" line="1323"/>
<source>%n files</source>
<translation>
<numerusform>%n plik</numerusform>
@ -711,101 +721,96 @@
</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="668"/>
<location filename="../src/GUI/gui.cpp" line="672"/>
<source>Next file</source>
<translation>Następny plik</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="644"/>
<source>Version </source>
<translation>Wersja </translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="228"/>
<location filename="../src/GUI/gui.cpp" line="231"/>
<source>Print...</source>
<translation>Drukuj...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="235"/>
<location filename="../src/GUI/gui.cpp" line="238"/>
<source>Export to PDF...</source>
<translation>Eksportuj do PDF...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="996"/>
<location filename="../src/GUI/gui.cpp" line="1062"/>
<location filename="../src/GUI/gui.cpp" line="1000"/>
<location filename="../src/GUI/gui.cpp" line="1066"/>
<source>Waypoints</source>
<translation>Punkty nawigacyjne</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="669"/>
<location filename="../src/GUI/gui.cpp" line="673"/>
<source>Previous file</source>
<translation>Poprzedni plik</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="343"/>
<location filename="../src/GUI/gui.cpp" line="346"/>
<source>Route waypoints</source>
<translation>Punkty trasy</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="671"/>
<location filename="../src/GUI/gui.cpp" line="675"/>
<source>First file</source>
<translation>Pierwszy plik</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="673"/>
<location filename="../src/GUI/gui.cpp" line="677"/>
<source>Last file</source>
<translation>Ostatni plik</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="815"/>
<location filename="../src/GUI/gui.cpp" line="819"/>
<source>Error loading data file:</source>
<translation>Błąd podczas ładowania pliku danych:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="818"/>
<location filename="../src/GUI/gui.cpp" line="845"/>
<location filename="../src/GUI/gui.cpp" line="822"/>
<location filename="../src/GUI/gui.cpp" line="857"/>
<source>Line: %1</source>
<translation>Linia: %1</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="842"/>
<location filename="../src/GUI/gui.cpp" line="854"/>
<source>Error loading POI file:</source>
<translation>Błąd podczas ładowania pliku POI:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1054"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<source>Name</source>
<translation>Nazwa</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="990"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<location filename="../src/GUI/gui.cpp" line="994"/>
<location filename="../src/GUI/gui.cpp" line="1062"/>
<source>Tracks</source>
<translation>Ślady</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="218"/>
<location filename="../src/GUI/gui.cpp" line="643"/>
<location filename="../src/GUI/gui.cpp" line="221"/>
<location filename="../src/GUI/gui.cpp" line="646"/>
<source>About GPXSee</source>
<translation>O programie GPXSee</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="579"/>
<location filename="../src/GUI/gui.cpp" line="582"/>
<source>Navigation</source>
<translation>Nawigacja</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="360"/>
<location filename="../src/GUI/gui.cpp" line="1013"/>
<location filename="../src/GUI/gui.cpp" line="1078"/>
<location filename="../src/GUI/gui.cpp" line="363"/>
<location filename="../src/GUI/gui.cpp" line="1017"/>
<location filename="../src/GUI/gui.cpp" line="1082"/>
<source>Distance</source>
<translation>Dystans</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="367"/>
<location filename="../src/GUI/gui.cpp" line="533"/>
<location filename="../src/GUI/gui.cpp" line="1016"/>
<location filename="../src/GUI/gui.cpp" line="1080"/>
<location filename="../src/GUI/gui.cpp" line="370"/>
<location filename="../src/GUI/gui.cpp" line="536"/>
<location filename="../src/GUI/gui.cpp" line="1020"/>
<location filename="../src/GUI/gui.cpp" line="1084"/>
<source>Time</source>
<translation>Czas</translation>
</message>
@ -816,22 +821,22 @@
<location filename="../src/GUI/gearratiograph.cpp" line="12"/>
<location filename="../src/GUI/gearratiograph.h" line="14"/>
<source>Gear ratio</source>
<translation type="unfinished"></translation>
<translation>Przełożenie</translation>
</message>
<message>
<location filename="../src/GUI/gearratiograph.cpp" line="22"/>
<source>Most used</source>
<translation type="unfinished"></translation>
<translation>Najczęściej używane</translation>
</message>
<message>
<location filename="../src/GUI/gearratiograph.cpp" line="24"/>
<source>Minimum</source>
<translation type="unfinished">Minimum</translation>
<translation>Minimum</translation>
</message>
<message>
<location filename="../src/GUI/gearratiograph.cpp" line="26"/>
<source>Maximum</source>
<translation type="unfinished">Maksimum</translation>
<translation>Maksimum</translation>
</message>
</context>
<context>
@ -839,17 +844,17 @@
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<source>Minimum</source>
<translation type="unfinished">Minimum</translation>
<translation>Minimum</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="38"/>
<source>Maximum</source>
<translation type="unfinished">Maksimum</translation>
<translation>Maksimum</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="39"/>
<source>Most used</source>
<translation type="unfinished"></translation>
<translation>Najczęściej używane</translation>
</message>
</context>
<context>
@ -873,7 +878,7 @@
<message>
<location filename="../src/GUI/graphview.cpp" line="47"/>
<source>Data not available</source>
<translation type="unfinished"></translation>
<translation>Brak danych</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="115"/>
@ -923,7 +928,7 @@
<message>
<location filename="../src/GUI/heartrategraph.cpp" line="11"/>
<source>bpm</source>
<translation type="unfinished"></translation>
<translation>uderzeń/min</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraph.cpp" line="22"/>
@ -947,7 +952,7 @@
<location filename="../src/GUI/heartrategraphitem.cpp" line="24"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="26"/>
<source>bpm</source>
<translation type="unfinished"></translation>
<translation>uderzeń/min</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="25"/>
@ -958,32 +963,37 @@
<context>
<name>MapList</name>
<message>
<location filename="../src/map/maplist.cpp" line="114"/>
<location filename="../src/map/maplist.cpp" line="117"/>
<source>Supported files</source>
<translation>Obsługiwane pliki</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="115"/>
<source>Garmin JNX maps</source>
<translation type="unfinished"></translation>
<location filename="../src/map/maplist.cpp" line="119"/>
<source>MBTiles maps</source>
<translation>Mapy MBTiles</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="116"/>
<location filename="../src/map/maplist.cpp" line="120"/>
<source>Garmin JNX maps</source>
<translation>Mapy Garmin JNX</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="121"/>
<source>OziExplorer maps</source>
<translation>Mapy OziExplorer</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="117"/>
<location filename="../src/map/maplist.cpp" line="122"/>
<source>TrekBuddy maps/atlases</source>
<translation>Mapy/atlasy TrekBuddy</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="118"/>
<location filename="../src/map/maplist.cpp" line="123"/>
<source>GeoTIFF images</source>
<translation>Obrazy GeoTIFF</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="119"/>
<location filename="../src/map/maplist.cpp" line="124"/>
<source>Online map sources</source>
<translation>Źródła map online</translation>
</message>
@ -1085,22 +1095,22 @@
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="45"/>
<source>High-resolution</source>
<translation type="unfinished"></translation>
<translation>Wysoka rozdzielczość</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="46"/>
<source>Standard</source>
<translation type="unfinished"></translation>
<translation>Standardowy</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="51"/>
<source>Non-HiDPI maps are loaded as HiDPI maps. The map is sharp but map objects are small/hard to read.</source>
<translation type="unfinished"></translation>
<translation>Mapy inne niż HiDPI ładowane jako mapy HiDPI. Mapa jest ostra, ale obiekty mapy małe / trudne do odczytania.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="53"/>
<source>Non-HiDPI maps are loaded such as they are. Map objects have the expected size but the map is blurry.</source>
<translation type="unfinished"></translation>
<translation>Mapy inne niż HiDPI ładowane w takiej postaci, w jakiej . Obiekty mapy mają oczekiwany rozmiar, ale mapa jest rozmyta / nieostra.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="86"/>
@ -1110,7 +1120,7 @@
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="88"/>
<source>HiDPI display mode</source>
<translation type="unfinished"></translation>
<translation>Tryb wyświetlania HiDPI</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="122"/>
@ -1260,12 +1270,12 @@
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="348"/>
<source>Computed from distance/time</source>
<translation type="unfinished"></translation>
<translation>Obliczona na postawie odległości/czasu</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="349"/>
<source>Recorded by device</source>
<translation type="unfinished"></translation>
<translation>Zapisana przez urządzenie</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="364"/>
@ -1381,7 +1391,7 @@
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<source>Enable HTTP/2</source>
<translation type="unfinished"></translation>
<translation>Włącz HTTP/2</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="485"/>
@ -1412,7 +1422,7 @@
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="532"/>
<source>Maps</source>
<translation type="unfinished"></translation>
<translation>Mapy</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="533"/>
@ -1465,7 +1475,7 @@
<location filename="../src/GUI/powergraphitem.cpp" line="24"/>
<location filename="../src/GUI/powergraphitem.cpp" line="26"/>
<source>W</source>
<translation type="unfinished">W</translation>
<translation>W</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="25"/>

View File

@ -182,94 +182,99 @@
<context>
<name>ExportDialog</name>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="134"/>
<location filename="../src/GUI/exportdialog.cpp" line="135"/>
<source>Export to PDF</source>
<translation>Экспорт в PDF</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="25"/>
<source>PDF files (*.pdf);;All files (*)</source>
<translation>PDF файлы (*.pdf);;Все файлы (*)</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="51"/>
<location filename="../src/GUI/exportdialog.cpp" line="52"/>
<source>Portrait</source>
<translation>Портретная</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="52"/>
<location filename="../src/GUI/exportdialog.cpp" line="53"/>
<source>Landscape</source>
<translation>Ландшафтная</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="96"/>
<location filename="../src/GUI/exportdialog.cpp" line="97"/>
<source>Page size:</source>
<translation>Размер страницы:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="98"/>
<location filename="../src/GUI/exportdialog.cpp" line="99"/>
<source>Orientation:</source>
<translation>Ориентация:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="93"/>
<location filename="../src/GUI/exportdialog.cpp" line="94"/>
<source>Page Setup</source>
<translation>Параметры страницы</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="65"/>
<location filename="../src/GUI/exportdialog.cpp" line="25"/>
<source>PDF files</source>
<translation>PDF файлы</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="25"/>
<source>All files</source>
<translation>Все файлы</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="66"/>
<source>in</source>
<translation>in</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="65"/>
<location filename="../src/GUI/exportdialog.cpp" line="66"/>
<source>mm</source>
<translation>мм</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="97"/>
<location filename="../src/GUI/exportdialog.cpp" line="98"/>
<source>Resolution:</source>
<translation>Разрешение:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="99"/>
<location filename="../src/GUI/exportdialog.cpp" line="100"/>
<source>Margins:</source>
<translation>Поля:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="105"/>
<location filename="../src/GUI/exportdialog.cpp" line="106"/>
<source>File:</source>
<translation>Файл:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="112"/>
<location filename="../src/GUI/exportdialog.cpp" line="113"/>
<source>Output file</source>
<translation>Файл вывода</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="119"/>
<location filename="../src/GUI/exportdialog.cpp" line="120"/>
<source>Export</source>
<translation>Экспорт</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/>
<location filename="../src/GUI/exportdialog.cpp" line="151"/>
<location filename="../src/GUI/exportdialog.cpp" line="156"/>
<location filename="../src/GUI/exportdialog.cpp" line="142"/>
<location filename="../src/GUI/exportdialog.cpp" line="152"/>
<location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>Error</source>
<translation>Ошибка</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/>
<location filename="../src/GUI/exportdialog.cpp" line="142"/>
<source>No output file selected.</source>
<translation>Не выбран файл вывода.</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="151"/>
<location filename="../src/GUI/exportdialog.cpp" line="152"/>
<source>%1 is a directory.</source>
<translation>Файл %1 - это директория.</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="156"/>
<location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>%1 is not writable.</source>
<translation>%1 не доступен для записи.</translation>
</message>
@ -316,393 +321,398 @@
<context>
<name>GUI</name>
<message>
<location filename="../src/GUI/gui.cpp" line="647"/>
<source>GPXSee is distributed under the terms of the GNU General Public License version 3. For more info about GPXSee visit the project homepage at </source>
<translation>GPXSee распространяется в соответствиями с условиями версии 3 Стандартной Общественной Лицензии GNU. Для получения дополнительной информации о GPXSee посетите страницу проекта </translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="721"/>
<location filename="../src/GUI/gui.cpp" line="725"/>
<source>Open file</source>
<translation>Открыть файл</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="826"/>
<location filename="../src/GUI/gui.cpp" line="830"/>
<source>Open POI file</source>
<translation>Открыть файл с точками POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="205"/>
<location filename="../src/GUI/gui.cpp" line="208"/>
<source>Quit</source>
<translation>Выход</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="215"/>
<location filename="../src/GUI/gui.cpp" line="664"/>
<location filename="../src/GUI/gui.cpp" line="665"/>
<location filename="../src/GUI/gui.cpp" line="218"/>
<location filename="../src/GUI/gui.cpp" line="668"/>
<location filename="../src/GUI/gui.cpp" line="669"/>
<source>Keyboard controls</source>
<translation>Управление с помощью клавиатуры</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="241"/>
<location filename="../src/GUI/gui.cpp" line="244"/>
<source>Close</source>
<translation>Закрыть</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="247"/>
<location filename="../src/GUI/gui.cpp" line="250"/>
<source>Reload</source>
<translation>Обновить</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="573"/>
<location filename="../src/GUI/gui.cpp" line="576"/>
<source>Show</source>
<translation>Показать</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="566"/>
<location filename="../src/GUI/gui.cpp" line="569"/>
<source>File</source>
<translation>Файл</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="266"/>
<location filename="../src/GUI/gui.cpp" line="269"/>
<source>Close POI files</source>
<translation>Закрыть файлы с точками POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="270"/>
<location filename="../src/GUI/gui.cpp" line="273"/>
<source>Overlap POIs</source>
<translation>Перекрывать точки POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="275"/>
<location filename="../src/GUI/gui.cpp" line="278"/>
<source>Show POI labels</source>
<translation>Показать подписи к точкам POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="280"/>
<location filename="../src/GUI/gui.cpp" line="283"/>
<source>Show POIs</source>
<translation>Показать точки POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="290"/>
<location filename="../src/GUI/gui.cpp" line="293"/>
<source>Show map</source>
<translation>Показать карту</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="302"/>
<location filename="../src/GUI/gui.cpp" line="305"/>
<source>Clear tile cache</source>
<translation>Очистить кэш</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="223"/>
<location filename="../src/GUI/gui.cpp" line="226"/>
<source>Open...</source>
<translation>Открыть...</translation>
<translation>Открыть</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="212"/>
<location filename="../src/GUI/gui.cpp" line="698"/>
<location filename="../src/GUI/gui.cpp" line="699"/>
<location filename="../src/GUI/gui.cpp" line="215"/>
<location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="703"/>
<source>Paths</source>
<translation>Пути</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="254"/>
<location filename="../src/GUI/gui.cpp" line="257"/>
<source>Statistics...</source>
<translation>Статистика...</translation>
<translation>Статистика</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="262"/>
<location filename="../src/GUI/gui.cpp" line="265"/>
<source>Load POI file...</source>
<translation>Загрузить файл с точками POI...</translation>
<translation>Загрузить файл с точками POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="298"/>
<location filename="../src/GUI/gui.cpp" line="301"/>
<source>Load map...</source>
<translation>Загрузить карту...</translation>
<translation>Загрузить карту</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="307"/>
<location filename="../src/GUI/gui.cpp" line="312"/>
<location filename="../src/GUI/gui.cpp" line="681"/>
<location filename="../src/GUI/gui.cpp" line="310"/>
<location filename="../src/GUI/gui.cpp" line="315"/>
<location filename="../src/GUI/gui.cpp" line="685"/>
<source>Next map</source>
<translation>Следующая карта</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="323"/>
<location filename="../src/GUI/gui.cpp" line="326"/>
<source>Show tracks</source>
<translation>Показать треки</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="328"/>
<location filename="../src/GUI/gui.cpp" line="331"/>
<source>Show routes</source>
<translation>Показать маршруты</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="333"/>
<location filename="../src/GUI/gui.cpp" line="336"/>
<source>Show waypoints</source>
<translation>Показать точки</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="338"/>
<location filename="../src/GUI/gui.cpp" line="341"/>
<source>Waypoint labels</source>
<translation>Подписи точек</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="350"/>
<location filename="../src/GUI/gui.cpp" line="353"/>
<source>Show graphs</source>
<translation>Показать графики</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="374"/>
<location filename="../src/GUI/gui.cpp" line="377"/>
<source>Show grid</source>
<translation>Показать сетку</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="379"/>
<location filename="../src/GUI/gui.cpp" line="382"/>
<source>Show slider info</source>
<translation>Показать значение на слайдере</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="386"/>
<location filename="../src/GUI/gui.cpp" line="389"/>
<source>Show toolbars</source>
<translation>Показывать панели инструментов</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="393"/>
<location filename="../src/GUI/gui.cpp" line="396"/>
<source>Total time</source>
<translation>Общее время</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="399"/>
<location filename="../src/GUI/gui.cpp" line="1018"/>
<location filename="../src/GUI/gui.cpp" line="1082"/>
<location filename="../src/GUI/gui.cpp" line="402"/>
<location filename="../src/GUI/gui.cpp" line="1022"/>
<location filename="../src/GUI/gui.cpp" line="1086"/>
<source>Moving time</source>
<translation>Время движения</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="407"/>
<location filename="../src/GUI/gui.cpp" line="410"/>
<source>Metric</source>
<translation>Метрические</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="413"/>
<location filename="../src/GUI/gui.cpp" line="416"/>
<source>Imperial</source>
<translation>Британские</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="419"/>
<location filename="../src/GUI/gui.cpp" line="422"/>
<source>Nautical</source>
<translation>Морские</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="427"/>
<location filename="../src/GUI/gui.cpp" line="430"/>
<source>Decimal degrees (DD)</source>
<translation>Десятичные градусы (DD)</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="433"/>
<location filename="../src/GUI/gui.cpp" line="436"/>
<source>Degrees and decimal minutes (DMM)</source>
<translation>Градусы, десятичные минуты (DMM)</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="440"/>
<location filename="../src/GUI/gui.cpp" line="443"/>
<source>Degrees, minutes, seconds (DMS)</source>
<translation>Градусы, минуты, секунды (DMS)</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="446"/>
<location filename="../src/GUI/gui.cpp" line="449"/>
<source>Fullscreen mode</source>
<translation>Полноэкранный режим</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="453"/>
<location filename="../src/GUI/gui.cpp" line="456"/>
<source>Options...</source>
<translation>Параметры...</translation>
<translation>Параметры</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="459"/>
<location filename="../src/GUI/gui.cpp" line="462"/>
<source>Next</source>
<translation>Следующий</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="463"/>
<location filename="../src/GUI/gui.cpp" line="466"/>
<source>Previous</source>
<translation>Предыдущий</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="467"/>
<location filename="../src/GUI/gui.cpp" line="470"/>
<source>Last</source>
<translation>Последний</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="471"/>
<location filename="../src/GUI/gui.cpp" line="474"/>
<source>First</source>
<translation>Первый</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="512"/>
<location filename="../src/GUI/gui.cpp" line="515"/>
<source>POI files</source>
<translation>Файлы с точками POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="524"/>
<location filename="../src/GUI/gui.cpp" line="527"/>
<source>Display</source>
<translation>Отображать</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="536"/>
<location filename="../src/GUI/gui.cpp" line="539"/>
<source>Units</source>
<translation>Единицы</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="540"/>
<location filename="../src/GUI/gui.cpp" line="543"/>
<source>Coordinates format</source>
<translation>Формат координат</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="674"/>
<location filename="../src/GUI/gui.cpp" line="647"/>
<source>Version %1</source>
<translation>Версия %1</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="651"/>
<source>GPXSee is distributed under the terms of the GNU General Public License version 3. For more info about GPXSee visit the project homepage at %1.</source>
<translation>GPXSee распространяется в соответствиями с условиями версии 3 Стандартной Общественной Лицензии GNU. Для получения дополнительной информации о GPXSee посетите страницу проекта %1.</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="678"/>
<source>Append file</source>
<translation>Добавить файл</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="675"/>
<location filename="../src/GUI/gui.cpp" line="679"/>
<source>Next/Previous</source>
<translation>Следующий/предыдущий</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="677"/>
<location filename="../src/GUI/gui.cpp" line="681"/>
<source>Toggle graph type</source>
<translation>Переключить тип графика</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="679"/>
<location filename="../src/GUI/gui.cpp" line="683"/>
<source>Toggle time type</source>
<translation>Переключить тип времени</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="683"/>
<location filename="../src/GUI/gui.cpp" line="687"/>
<source>Previous map</source>
<translation>Предыдущая карта</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="684"/>
<location filename="../src/GUI/gui.cpp" line="688"/>
<source>Zoom in</source>
<translation>Увеличить</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="686"/>
<location filename="../src/GUI/gui.cpp" line="690"/>
<source>Zoom out</source>
<translation>Уменьшить</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="688"/>
<location filename="../src/GUI/gui.cpp" line="692"/>
<source>Digital zoom</source>
<translation>Цифровой зум</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="689"/>
<location filename="../src/GUI/gui.cpp" line="693"/>
<source>Zoom</source>
<translation>Zoom</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="706"/>
<source>Global</source>
<translation>Глобальные</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="706"/>
<location filename="../src/GUI/gui.cpp" line="712"/>
<location filename="../src/GUI/gui.cpp" line="710"/>
<location filename="../src/GUI/gui.cpp" line="716"/>
<source>GCS/PCS directory:</source>
<translation>Директория с GCS/PCS:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="708"/>
<location filename="../src/GUI/gui.cpp" line="712"/>
<source>User-specific</source>
<translation>Пользовательские</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1039"/>
<location filename="../src/GUI/gui.cpp" line="1040"/>
<location filename="../src/GUI/gui.cpp" line="1043"/>
<location filename="../src/GUI/gui.cpp" line="1044"/>
<source>Statistics</source>
<translation>Статистика</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1281"/>
<location filename="../src/GUI/gui.cpp" line="1285"/>
<source>Open map file</source>
<translation>Открыть файл карты</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1322"/>
<location filename="../src/GUI/gui.cpp" line="1319"/>
<source>No files loaded</source>
<translation>Нет загруженных файлов</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1002"/>
<location filename="../src/GUI/gui.cpp" line="1006"/>
<location filename="../src/GUI/gui.cpp" line="1068"/>
<location filename="../src/GUI/gui.cpp" line="1071"/>
<location filename="../src/GUI/gui.cpp" line="1010"/>
<location filename="../src/GUI/gui.cpp" line="1072"/>
<location filename="../src/GUI/gui.cpp" line="1075"/>
<source>Date</source>
<translation>Дата</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="479"/>
<location filename="../src/GUI/gui.cpp" line="482"/>
<source>&amp;File</source>
<translation>&amp;Файл</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="494"/>
<location filename="../src/GUI/gui.cpp" line="497"/>
<source>&amp;Map</source>
<translation>&amp;Карты</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="502"/>
<location filename="../src/GUI/gui.cpp" line="505"/>
<source>&amp;Graph</source>
<translation>&amp;График</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="511"/>
<location filename="../src/GUI/gui.cpp" line="514"/>
<source>&amp;POI</source>
<translation>&amp;Точки POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="523"/>
<location filename="../src/GUI/gui.cpp" line="526"/>
<source>&amp;Data</source>
<translation>&amp;Данные</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="532"/>
<location filename="../src/GUI/gui.cpp" line="535"/>
<source>&amp;Settings</source>
<translation>&amp;Параметры</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="550"/>
<location filename="../src/GUI/gui.cpp" line="553"/>
<source>&amp;Help</source>
<translation>&amp;Справка</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="709"/>
<location filename="../src/GUI/gui.cpp" line="706"/>
<location filename="../src/GUI/gui.cpp" line="713"/>
<source>Map directory:</source>
<translation>Директория с картами:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="704"/>
<location filename="../src/GUI/gui.cpp" line="710"/>
<location filename="../src/GUI/gui.cpp" line="708"/>
<location filename="../src/GUI/gui.cpp" line="714"/>
<source>POI directory:</source>
<translation>Директория с POI:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="993"/>
<location filename="../src/GUI/gui.cpp" line="1060"/>
<location filename="../src/GUI/gui.cpp" line="997"/>
<location filename="../src/GUI/gui.cpp" line="1064"/>
<source>Routes</source>
<translation>Маршруты</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1311"/>
<location filename="../src/GUI/gui.cpp" line="1308"/>
<source>Error loading map:</source>
<translation>Ошибка загрузки карты:</translation>
</message>
<message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1326"/>
<location filename="../src/GUI/gui.cpp" line="1323"/>
<source>%n files</source>
<translation>
<numerusform>%n файл</numerusform>
@ -711,101 +721,96 @@
</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="668"/>
<location filename="../src/GUI/gui.cpp" line="672"/>
<source>Next file</source>
<translation>Следующий файл</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="644"/>
<source>Version </source>
<translation>Версия </translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="228"/>
<location filename="../src/GUI/gui.cpp" line="231"/>
<source>Print...</source>
<translation>Печать...</translation>
<translation>Печать</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="235"/>
<location filename="../src/GUI/gui.cpp" line="238"/>
<source>Export to PDF...</source>
<translation>Экспорт в PDF...</translation>
<translation>Экспорт в PDF</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="996"/>
<location filename="../src/GUI/gui.cpp" line="1062"/>
<location filename="../src/GUI/gui.cpp" line="1000"/>
<location filename="../src/GUI/gui.cpp" line="1066"/>
<source>Waypoints</source>
<translation>Точки</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="669"/>
<location filename="../src/GUI/gui.cpp" line="673"/>
<source>Previous file</source>
<translation>Предыдущий файл</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="343"/>
<location filename="../src/GUI/gui.cpp" line="346"/>
<source>Route waypoints</source>
<translation>Маршрутные точки</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="671"/>
<location filename="../src/GUI/gui.cpp" line="675"/>
<source>First file</source>
<translation>Первый файл</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="673"/>
<location filename="../src/GUI/gui.cpp" line="677"/>
<source>Last file</source>
<translation>Последний файл</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="815"/>
<location filename="../src/GUI/gui.cpp" line="819"/>
<source>Error loading data file:</source>
<translation>Ошибка загрузки файла данных:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="818"/>
<location filename="../src/GUI/gui.cpp" line="845"/>
<location filename="../src/GUI/gui.cpp" line="822"/>
<location filename="../src/GUI/gui.cpp" line="857"/>
<source>Line: %1</source>
<translation>Строка: %1</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="842"/>
<location filename="../src/GUI/gui.cpp" line="854"/>
<source>Error loading POI file:</source>
<translation>Ошибка загрузки файла с точками POI:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1054"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<source>Name</source>
<translation>Имя</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="990"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<location filename="../src/GUI/gui.cpp" line="994"/>
<location filename="../src/GUI/gui.cpp" line="1062"/>
<source>Tracks</source>
<translation>Треки</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="218"/>
<location filename="../src/GUI/gui.cpp" line="643"/>
<location filename="../src/GUI/gui.cpp" line="221"/>
<location filename="../src/GUI/gui.cpp" line="646"/>
<source>About GPXSee</source>
<translation>О GPXSee</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="579"/>
<location filename="../src/GUI/gui.cpp" line="582"/>
<source>Navigation</source>
<translation>Навигация</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="360"/>
<location filename="../src/GUI/gui.cpp" line="1013"/>
<location filename="../src/GUI/gui.cpp" line="1078"/>
<location filename="../src/GUI/gui.cpp" line="363"/>
<location filename="../src/GUI/gui.cpp" line="1017"/>
<location filename="../src/GUI/gui.cpp" line="1082"/>
<source>Distance</source>
<translation>Расстояние</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="367"/>
<location filename="../src/GUI/gui.cpp" line="533"/>
<location filename="../src/GUI/gui.cpp" line="1016"/>
<location filename="../src/GUI/gui.cpp" line="1080"/>
<location filename="../src/GUI/gui.cpp" line="370"/>
<location filename="../src/GUI/gui.cpp" line="536"/>
<location filename="../src/GUI/gui.cpp" line="1020"/>
<location filename="../src/GUI/gui.cpp" line="1084"/>
<source>Time</source>
<translation>Время</translation>
</message>
@ -958,32 +963,37 @@
<context>
<name>MapList</name>
<message>
<location filename="../src/map/maplist.cpp" line="114"/>
<location filename="../src/map/maplist.cpp" line="117"/>
<source>Supported files</source>
<translation>Все поддерживаемые файлы</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="115"/>
<location filename="../src/map/maplist.cpp" line="119"/>
<source>MBTiles maps</source>
<translation>MBTiles карты</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="120"/>
<source>Garmin JNX maps</source>
<translation>Garmin JNX карты</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="116"/>
<location filename="../src/map/maplist.cpp" line="121"/>
<source>OziExplorer maps</source>
<translation>OziExplorer карты</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="117"/>
<location filename="../src/map/maplist.cpp" line="122"/>
<source>TrekBuddy maps/atlases</source>
<translation>TrekBuddy карты/атласы</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="118"/>
<location filename="../src/map/maplist.cpp" line="123"/>
<source>GeoTIFF images</source>
<translation>GeoTIFF изображения</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="119"/>
<location filename="../src/map/maplist.cpp" line="124"/>
<source>Online map sources</source>
<translation>Источники онлайн карт</translation>
</message>

View File

@ -182,94 +182,99 @@
<context>
<name>ExportDialog</name>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="134"/>
<location filename="../src/GUI/exportdialog.cpp" line="135"/>
<source>Export to PDF</source>
<translation>Exportera till PDF</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="25"/>
<source>PDF files (*.pdf);;All files (*)</source>
<translation>PDF-filer (*.pdf);;Alla filer (*)</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="51"/>
<location filename="../src/GUI/exportdialog.cpp" line="52"/>
<source>Portrait</source>
<translation>Stående</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="52"/>
<location filename="../src/GUI/exportdialog.cpp" line="53"/>
<source>Landscape</source>
<translation>Liggande</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="96"/>
<location filename="../src/GUI/exportdialog.cpp" line="97"/>
<source>Page size:</source>
<translation>Sidstorlek:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="98"/>
<location filename="../src/GUI/exportdialog.cpp" line="99"/>
<source>Orientation:</source>
<translation>Orientering:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="93"/>
<location filename="../src/GUI/exportdialog.cpp" line="94"/>
<source>Page Setup</source>
<translation>Sidinställning</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="65"/>
<location filename="../src/GUI/exportdialog.cpp" line="25"/>
<source>PDF files</source>
<translation>PDF-filer</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="25"/>
<source>All files</source>
<translation>Alla filer</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="66"/>
<source>in</source>
<translation>i</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="65"/>
<location filename="../src/GUI/exportdialog.cpp" line="66"/>
<source>mm</source>
<translation>mm</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="97"/>
<location filename="../src/GUI/exportdialog.cpp" line="98"/>
<source>Resolution:</source>
<translation>Upplösning:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="99"/>
<location filename="../src/GUI/exportdialog.cpp" line="100"/>
<source>Margins:</source>
<translation>Marginaler:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="105"/>
<location filename="../src/GUI/exportdialog.cpp" line="106"/>
<source>File:</source>
<translation>Fil:</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="112"/>
<location filename="../src/GUI/exportdialog.cpp" line="113"/>
<source>Output file</source>
<translation>Utdatafil</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="119"/>
<location filename="../src/GUI/exportdialog.cpp" line="120"/>
<source>Export</source>
<translation>Exportera</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/>
<location filename="../src/GUI/exportdialog.cpp" line="151"/>
<location filename="../src/GUI/exportdialog.cpp" line="156"/>
<location filename="../src/GUI/exportdialog.cpp" line="142"/>
<location filename="../src/GUI/exportdialog.cpp" line="152"/>
<location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>Error</source>
<translation>Fel</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/>
<location filename="../src/GUI/exportdialog.cpp" line="142"/>
<source>No output file selected.</source>
<translation>Ingen utdatafil vald.</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="151"/>
<location filename="../src/GUI/exportdialog.cpp" line="152"/>
<source>%1 is a directory.</source>
<translation>%1 är en mapp.</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="156"/>
<location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>%1 is not writable.</source>
<translation>%1 är skrivskyddad.</translation>
</message>
@ -316,493 +321,495 @@
<context>
<name>GUI</name>
<message>
<location filename="../src/GUI/gui.cpp" line="647"/>
<source>GPXSee is distributed under the terms of the GNU General Public License version 3. For more info about GPXSee visit the project homepage at </source>
<translation>GPXSee distribueras under vilkoren för GNU General Public License version 3. För mer info om GPXSee, besök hemsidan </translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="709"/>
<location filename="../src/GUI/gui.cpp" line="706"/>
<location filename="../src/GUI/gui.cpp" line="713"/>
<source>Map directory:</source>
<translation>Kartmapp:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="704"/>
<location filename="../src/GUI/gui.cpp" line="710"/>
<location filename="../src/GUI/gui.cpp" line="708"/>
<location filename="../src/GUI/gui.cpp" line="714"/>
<source>POI directory:</source>
<translation>POI-mapp:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="721"/>
<location filename="../src/GUI/gui.cpp" line="725"/>
<source>Open file</source>
<translation>Öppna fil</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="826"/>
<location filename="../src/GUI/gui.cpp" line="830"/>
<source>Open POI file</source>
<translation>Öppna POI-fil</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="205"/>
<location filename="../src/GUI/gui.cpp" line="208"/>
<source>Quit</source>
<translation>Avsluta</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="215"/>
<location filename="../src/GUI/gui.cpp" line="664"/>
<location filename="../src/GUI/gui.cpp" line="665"/>
<location filename="../src/GUI/gui.cpp" line="218"/>
<location filename="../src/GUI/gui.cpp" line="668"/>
<location filename="../src/GUI/gui.cpp" line="669"/>
<source>Keyboard controls</source>
<translation>Snabbtangenter</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="241"/>
<location filename="../src/GUI/gui.cpp" line="244"/>
<source>Close</source>
<translation>Stäng</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="247"/>
<location filename="../src/GUI/gui.cpp" line="250"/>
<source>Reload</source>
<translation>Uppdatera</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="573"/>
<location filename="../src/GUI/gui.cpp" line="576"/>
<source>Show</source>
<translation>Visa</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="566"/>
<location filename="../src/GUI/gui.cpp" line="569"/>
<source>File</source>
<translation>Arkiv</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="266"/>
<location filename="../src/GUI/gui.cpp" line="269"/>
<source>Close POI files</source>
<translation>Stäng POI-filer</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="270"/>
<location filename="../src/GUI/gui.cpp" line="273"/>
<source>Overlap POIs</source>
<translation>Överlappa POI:er</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="275"/>
<location filename="../src/GUI/gui.cpp" line="278"/>
<source>Show POI labels</source>
<translation>Visa POI-namn</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="280"/>
<location filename="../src/GUI/gui.cpp" line="283"/>
<source>Show POIs</source>
<translation>Visa POI:er</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="290"/>
<location filename="../src/GUI/gui.cpp" line="293"/>
<source>Show map</source>
<translation>Visa karta</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="302"/>
<location filename="../src/GUI/gui.cpp" line="305"/>
<source>Clear tile cache</source>
<translation>Rensa kart-cache</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="223"/>
<location filename="../src/GUI/gui.cpp" line="226"/>
<source>Open...</source>
<translation>Öppna...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="212"/>
<location filename="../src/GUI/gui.cpp" line="698"/>
<location filename="../src/GUI/gui.cpp" line="699"/>
<location filename="../src/GUI/gui.cpp" line="215"/>
<location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="703"/>
<source>Paths</source>
<translation>Sökvägar</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="254"/>
<location filename="../src/GUI/gui.cpp" line="257"/>
<source>Statistics...</source>
<translation>Statistik...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="262"/>
<location filename="../src/GUI/gui.cpp" line="265"/>
<source>Load POI file...</source>
<translation>Läs in POI-fil...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="298"/>
<location filename="../src/GUI/gui.cpp" line="301"/>
<source>Load map...</source>
<translation>Läs in karta...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="307"/>
<location filename="../src/GUI/gui.cpp" line="312"/>
<location filename="../src/GUI/gui.cpp" line="681"/>
<location filename="../src/GUI/gui.cpp" line="310"/>
<location filename="../src/GUI/gui.cpp" line="315"/>
<location filename="../src/GUI/gui.cpp" line="685"/>
<source>Next map</source>
<translation>Nästa karta</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="323"/>
<location filename="../src/GUI/gui.cpp" line="326"/>
<source>Show tracks</source>
<translation>Visa spår</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="328"/>
<location filename="../src/GUI/gui.cpp" line="331"/>
<source>Show routes</source>
<translation>Visa rutter</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="333"/>
<location filename="../src/GUI/gui.cpp" line="336"/>
<source>Show waypoints</source>
<translation>Visa vägpunkter</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="338"/>
<location filename="../src/GUI/gui.cpp" line="341"/>
<source>Waypoint labels</source>
<translation>Vägpunktsnamn</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="350"/>
<location filename="../src/GUI/gui.cpp" line="353"/>
<source>Show graphs</source>
<translation>Visa diagram</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="374"/>
<location filename="../src/GUI/gui.cpp" line="377"/>
<source>Show grid</source>
<translation>Visa stödlinjer</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="379"/>
<location filename="../src/GUI/gui.cpp" line="382"/>
<source>Show slider info</source>
<translation>Visa reglageinfo</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="386"/>
<location filename="../src/GUI/gui.cpp" line="389"/>
<source>Show toolbars</source>
<translation>Visa verktygsfält</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="393"/>
<location filename="../src/GUI/gui.cpp" line="396"/>
<source>Total time</source>
<translation>Total tid</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="399"/>
<location filename="../src/GUI/gui.cpp" line="1018"/>
<location filename="../src/GUI/gui.cpp" line="1082"/>
<location filename="../src/GUI/gui.cpp" line="402"/>
<location filename="../src/GUI/gui.cpp" line="1022"/>
<location filename="../src/GUI/gui.cpp" line="1086"/>
<source>Moving time</source>
<translation>Förflyttningstid</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="407"/>
<location filename="../src/GUI/gui.cpp" line="410"/>
<source>Metric</source>
<translation>Meter</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="413"/>
<location filename="../src/GUI/gui.cpp" line="416"/>
<source>Imperial</source>
<translation>Imperial</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="419"/>
<location filename="../src/GUI/gui.cpp" line="422"/>
<source>Nautical</source>
<translation>Nautiska</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="427"/>
<location filename="../src/GUI/gui.cpp" line="430"/>
<source>Decimal degrees (DD)</source>
<translation>Decimala grader (DD)</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="433"/>
<location filename="../src/GUI/gui.cpp" line="436"/>
<source>Degrees and decimal minutes (DMM)</source>
<translation>Grader och decimala minuter (DMM)</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="440"/>
<location filename="../src/GUI/gui.cpp" line="443"/>
<source>Degrees, minutes, seconds (DMS)</source>
<translation>Grader, minuter, sekunder (DMS)</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="446"/>
<location filename="../src/GUI/gui.cpp" line="449"/>
<source>Fullscreen mode</source>
<translation>Helskärmsläge</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="453"/>
<location filename="../src/GUI/gui.cpp" line="456"/>
<source>Options...</source>
<translation>Alternativ...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="459"/>
<location filename="../src/GUI/gui.cpp" line="462"/>
<source>Next</source>
<translation>Nästa</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="463"/>
<location filename="../src/GUI/gui.cpp" line="466"/>
<source>Previous</source>
<translation>Föregående</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="467"/>
<location filename="../src/GUI/gui.cpp" line="470"/>
<source>Last</source>
<translation>Sista</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="471"/>
<location filename="../src/GUI/gui.cpp" line="474"/>
<source>First</source>
<translation>Första</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="512"/>
<location filename="../src/GUI/gui.cpp" line="515"/>
<source>POI files</source>
<translation>POI-filer</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="524"/>
<location filename="../src/GUI/gui.cpp" line="527"/>
<source>Display</source>
<translation>Visa</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="536"/>
<location filename="../src/GUI/gui.cpp" line="539"/>
<source>Units</source>
<translation>Enhet</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="540"/>
<location filename="../src/GUI/gui.cpp" line="543"/>
<source>Coordinates format</source>
<translation>Koordinatformat</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="674"/>
<location filename="../src/GUI/gui.cpp" line="647"/>
<source>Version %1</source>
<translation>Version %1</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="651"/>
<source>GPXSee is distributed under the terms of the GNU General Public License version 3. For more info about GPXSee visit the project homepage at %1.</source>
<translation>GPXSee distribueras under vilkoren för GNU General Public License version 3. För mer info om GPXSee, besök hemsidan %1.</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="678"/>
<source>Append file</source>
<translation>Lägg till fil</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="675"/>
<location filename="../src/GUI/gui.cpp" line="679"/>
<source>Next/Previous</source>
<translation>Nästa/Föregående</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="677"/>
<location filename="../src/GUI/gui.cpp" line="681"/>
<source>Toggle graph type</source>
<translation>Växla diagramtyp</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="679"/>
<location filename="../src/GUI/gui.cpp" line="683"/>
<source>Toggle time type</source>
<translation>Växla tidstyp</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="683"/>
<location filename="../src/GUI/gui.cpp" line="687"/>
<source>Previous map</source>
<translation>Föregående karta</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="684"/>
<location filename="../src/GUI/gui.cpp" line="688"/>
<source>Zoom in</source>
<translation>Zooma in</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="686"/>
<location filename="../src/GUI/gui.cpp" line="690"/>
<source>Zoom out</source>
<translation>Zooma ut</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="688"/>
<location filename="../src/GUI/gui.cpp" line="692"/>
<source>Digital zoom</source>
<translation>Digital zoom</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="689"/>
<location filename="../src/GUI/gui.cpp" line="693"/>
<source>Zoom</source>
<translation>Zoom</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="706"/>
<source>Global</source>
<translation>Övergripande</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="706"/>
<location filename="../src/GUI/gui.cpp" line="712"/>
<location filename="../src/GUI/gui.cpp" line="710"/>
<location filename="../src/GUI/gui.cpp" line="716"/>
<source>GCS/PCS directory:</source>
<translation>GCS-/PCS-mapp:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="708"/>
<location filename="../src/GUI/gui.cpp" line="712"/>
<source>User-specific</source>
<translation>Användarspecifik</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1039"/>
<location filename="../src/GUI/gui.cpp" line="1040"/>
<location filename="../src/GUI/gui.cpp" line="1043"/>
<location filename="../src/GUI/gui.cpp" line="1044"/>
<source>Statistics</source>
<translation>Statistik</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1281"/>
<location filename="../src/GUI/gui.cpp" line="1285"/>
<source>Open map file</source>
<translation>Öppna kartfil</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1311"/>
<location filename="../src/GUI/gui.cpp" line="1308"/>
<source>Error loading map:</source>
<translation>Fel vid inläsning av karta:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1322"/>
<location filename="../src/GUI/gui.cpp" line="1319"/>
<source>No files loaded</source>
<translation>Inga filer inlästa</translation>
</message>
<message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1326"/>
<location filename="../src/GUI/gui.cpp" line="1323"/>
<source>%n files</source>
<translation><numerusform>%n fil</numerusform>
<translation>
<numerusform>%n fil</numerusform>
<numerusform>%n filer</numerusform>
</translation></message>
</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1002"/>
<location filename="../src/GUI/gui.cpp" line="1006"/>
<location filename="../src/GUI/gui.cpp" line="1068"/>
<location filename="../src/GUI/gui.cpp" line="1071"/>
<location filename="../src/GUI/gui.cpp" line="1010"/>
<location filename="../src/GUI/gui.cpp" line="1072"/>
<location filename="../src/GUI/gui.cpp" line="1075"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="993"/>
<location filename="../src/GUI/gui.cpp" line="1060"/>
<location filename="../src/GUI/gui.cpp" line="997"/>
<location filename="../src/GUI/gui.cpp" line="1064"/>
<source>Routes</source>
<translation>Rutter</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="668"/>
<location filename="../src/GUI/gui.cpp" line="672"/>
<source>Next file</source>
<translation>Nästa fil</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="644"/>
<source>Version </source>
<translation>Version </translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="228"/>
<location filename="../src/GUI/gui.cpp" line="231"/>
<source>Print...</source>
<translation>Skriv ut...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="235"/>
<location filename="../src/GUI/gui.cpp" line="238"/>
<source>Export to PDF...</source>
<translation>Exportera till PDF...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="996"/>
<location filename="../src/GUI/gui.cpp" line="1062"/>
<location filename="../src/GUI/gui.cpp" line="1000"/>
<location filename="../src/GUI/gui.cpp" line="1066"/>
<source>Waypoints</source>
<translation>Vägpunkter</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="669"/>
<location filename="../src/GUI/gui.cpp" line="673"/>
<source>Previous file</source>
<translation>Föregående fil</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="343"/>
<location filename="../src/GUI/gui.cpp" line="346"/>
<source>Route waypoints</source>
<translation>Ruttvägpunkter</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="479"/>
<location filename="../src/GUI/gui.cpp" line="482"/>
<source>&amp;File</source>
<translation>&amp;Arkiv</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="494"/>
<location filename="../src/GUI/gui.cpp" line="497"/>
<source>&amp;Map</source>
<translation>&amp;Karta</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="502"/>
<location filename="../src/GUI/gui.cpp" line="505"/>
<source>&amp;Graph</source>
<translation>&amp;Diagram</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="511"/>
<location filename="../src/GUI/gui.cpp" line="514"/>
<source>&amp;POI</source>
<translation>&amp;POI</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="523"/>
<location filename="../src/GUI/gui.cpp" line="526"/>
<source>&amp;Data</source>
<translation>Da&amp;ta</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="532"/>
<location filename="../src/GUI/gui.cpp" line="535"/>
<source>&amp;Settings</source>
<translation>&amp;Inställningar</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="550"/>
<location filename="../src/GUI/gui.cpp" line="553"/>
<source>&amp;Help</source>
<translation>&amp;Hjälp</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="671"/>
<location filename="../src/GUI/gui.cpp" line="675"/>
<source>First file</source>
<translation>Första filen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="673"/>
<location filename="../src/GUI/gui.cpp" line="677"/>
<source>Last file</source>
<translation>Sista filen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="815"/>
<location filename="../src/GUI/gui.cpp" line="819"/>
<source>Error loading data file:</source>
<translation>Fel vid inläsning av datafil:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="818"/>
<location filename="../src/GUI/gui.cpp" line="845"/>
<location filename="../src/GUI/gui.cpp" line="822"/>
<location filename="../src/GUI/gui.cpp" line="857"/>
<source>Line: %1</source>
<translation>Rad: %1</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="842"/>
<location filename="../src/GUI/gui.cpp" line="854"/>
<source>Error loading POI file:</source>
<translation>Fel vid inläsning av POI-fil:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1054"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<source>Name</source>
<translation>Namn</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="990"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<location filename="../src/GUI/gui.cpp" line="994"/>
<location filename="../src/GUI/gui.cpp" line="1062"/>
<source>Tracks</source>
<translation>Spår</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="218"/>
<location filename="../src/GUI/gui.cpp" line="643"/>
<location filename="../src/GUI/gui.cpp" line="221"/>
<location filename="../src/GUI/gui.cpp" line="646"/>
<source>About GPXSee</source>
<translation>Om GPXSee</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="579"/>
<location filename="../src/GUI/gui.cpp" line="582"/>
<source>Navigation</source>
<translation>Navigation</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="360"/>
<location filename="../src/GUI/gui.cpp" line="1013"/>
<location filename="../src/GUI/gui.cpp" line="1078"/>
<location filename="../src/GUI/gui.cpp" line="363"/>
<location filename="../src/GUI/gui.cpp" line="1017"/>
<location filename="../src/GUI/gui.cpp" line="1082"/>
<source>Distance</source>
<translation>Avstånd</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="367"/>
<location filename="../src/GUI/gui.cpp" line="533"/>
<location filename="../src/GUI/gui.cpp" line="1016"/>
<location filename="../src/GUI/gui.cpp" line="1080"/>
<location filename="../src/GUI/gui.cpp" line="370"/>
<location filename="../src/GUI/gui.cpp" line="536"/>
<location filename="../src/GUI/gui.cpp" line="1020"/>
<location filename="../src/GUI/gui.cpp" line="1084"/>
<source>Time</source>
<translation>Tid</translation>
</message>
@ -955,32 +962,37 @@
<context>
<name>MapList</name>
<message>
<location filename="../src/map/maplist.cpp" line="114"/>
<location filename="../src/map/maplist.cpp" line="117"/>
<source>Supported files</source>
<translation>Filer som stöds</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="115"/>
<location filename="../src/map/maplist.cpp" line="119"/>
<source>MBTiles maps</source>
<translation>MBTiles-kartor</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="120"/>
<source>Garmin JNX maps</source>
<translation>Garmin JNX-kartor</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="116"/>
<location filename="../src/map/maplist.cpp" line="121"/>
<source>OziExplorer maps</source>
<translation>OziExplorer-kartor</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="117"/>
<location filename="../src/map/maplist.cpp" line="122"/>
<source>TrekBuddy maps/atlases</source>
<translation>TrekBuddy-kartor/-atlaser</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="118"/>
<location filename="../src/map/maplist.cpp" line="123"/>
<source>GeoTIFF images</source>
<translation>GeoTIFF-bilder</translation>
</message>
<message>
<location filename="../src/map/maplist.cpp" line="119"/>
<location filename="../src/map/maplist.cpp" line="124"/>
<source>Online map sources</source>
<translation>Online-kartkällor</translation>
</message>

View File

@ -8,21 +8,23 @@
<summary>GPS log file viewer and analyzer</summary>
<description>
<p>GPXSee is a GPS log file viewer and analyzer that supports GPX, TCX,
KML, FIT, IGC, NMEA and OziExplorer files.</p>
KML, FIT, IGC, NMEA, SLF, LOC and OziExplorer files.</p>
<p>Features:</p>
<ul>
<li>User-definable online maps (OSM/Google tiles, WMTS, WMS).</li>
<li>Offline maps (OziExplorer maps, TrekBuddy maps/atlases, GeoTIFF
images).</li>
<li>User-definable online maps (OpenStreetMap/Google tiles, WMTS,
WMS, TMS).</li>
<li>Offline maps (MBTiles, OziExplorer maps, TrekBuddy maps/atlases,
GeoTIFF images).</li>
<li>Elevation, speed, heart rate, cadence, power and temperature
graphs.</li>
<li>Support for multiple tracks in one view.</li>
<li>Support for POI files.</li>
<li>Print/export to PDF.</li>
<li>Full-screen mode.</li>
<li>Opens GPX, TCX, FIT, KML, IGC, NMEA, OziExplorer (PLT, WPT, RTE)
and Garmin CSV files.</li>
<li>HiDPI/Retina displays &amp; maps support.</li>
<li>Opens GPX, TCX, FIT, KML, IGC, NMEA, SLF, LOC, OziExplorer (PLT,
WPT, RTE) and Garmin CSV files.</li>
</ul>
</description>
@ -38,6 +40,10 @@
<categories>
<category>Graphics</category>
<category>Viewer</category>
<category>Maps</category>
<category>Geoscience</category>
<category>Geography</category>
<category>DataVisualization</category>
</categories>
<url type="homepage">http://www.gpxsee.org</url>
@ -58,5 +64,7 @@
<mimetype>application/vnd.oziexplorer.plt</mimetype>
<mimetype>application/vnd.oziexplorer.rte</mimetype>
<mimetype>application/vnd.oziexplorer.wpt</mimetype>
<mimetype>application/loc+xml</mimetype>
<mimetype>application/slf+xml</mimetype>
</mimetypes>
</component>

View File

@ -1,36 +1,13 @@
!include "MUI2.nsh"
!include "x64.nsh"
!include "WinVer.nsh"
; Macros
!macro FILE_ASSOCIATION_ADD EXT DESC ICON
WriteRegStr HKCR ".${EXT}" "" "GPXSee.${EXT}"
WriteRegStr HKCR "GPXSee.${EXT}" "" "${DESC}"
WriteRegStr HKCR "GPXSee.${EXT}\DefaultIcon" "" "$INSTDIR\GPXSee.exe,${ICON}"
WriteRegStr HKCR "GPXSee.${EXT}\shell\open\command" "" "$\"$INSTDIR\GPXSee.exe$\" $\"%1$\""
!macroend
!macro FILE_ASSOCIATION_REMOVE EXT
DeleteRegKey HKCR "GPXSee.${EXT}"
DeleteRegKey HKCR ".${EXT}"
!macroend
!macro LOCALIZATION LANG CODE
Section "${LANG}"
CreateDirectory "$INSTDIR\translations"
File /oname=translations\gpxsee_${CODE}.qm translations\gpxsee_${CODE}.qm
!if /FileExists translations\qt_${CODE}.qm
File /oname=translations\qt_${CODE}.qm translations\qt_${CODE}.qm
!endif
SectionEnd
!macroend
!include "macros.nsh"
; The name of the installer
Name "GPXSee"
; Program version
!define VERSION "5.18"
!define VERSION "6.3"
; The file to write
OutFile "GPXSee-${VERSION}.exe"
@ -153,10 +130,12 @@ Section "QT framework" SEC_QT
File "Qt5Widgets.dll"
File "Qt5PrintSupport.dll"
File "Qt5Network.dll"
File "Qt5Sql.dll"
File /r "platforms"
File /r "imageformats"
File /r "printsupport"
File /r "styles"
File /r "sqldrivers"
SectionEnd
@ -201,9 +180,11 @@ SectionEnd
SectionGroup "Localization" SEC_LOCALIZATION
!insertmacro LOCALIZATION "Czech" "cs"
!insertmacro LOCALIZATION "Danish" "da"
!insertmacro LOCALIZATION "Finnish" "fi"
!insertmacro LOCALIZATION "French" "fr"
!insertmacro LOCALIZATION "German" "de"
!insertmacro LOCALIZATION "Norwegian" "nb"
!insertmacro LOCALIZATION "Polish" "pl"
!insertmacro LOCALIZATION "Russian" "ru"
!insertmacro LOCALIZATION "Swedish" "sv"

View File

@ -1,36 +1,13 @@
!include "MUI2.nsh"
!include "x64.nsh"
!include "WinVer.nsh"
; Macros
!macro FILE_ASSOCIATION_ADD EXT DESC ICON
WriteRegStr HKCR ".${EXT}" "" "GPXSee.${EXT}"
WriteRegStr HKCR "GPXSee.${EXT}" "" "${DESC}"
WriteRegStr HKCR "GPXSee.${EXT}\DefaultIcon" "" "$INSTDIR\GPXSee.exe,${ICON}"
WriteRegStr HKCR "GPXSee.${EXT}\shell\open\command" "" "$\"$INSTDIR\GPXSee.exe$\" $\"%1$\""
!macroend
!macro FILE_ASSOCIATION_REMOVE EXT
DeleteRegKey HKCR "GPXSee.${EXT}"
DeleteRegKey HKCR ".${EXT}"
!macroend
!macro LOCALIZATION LANG CODE
Section "${LANG}"
CreateDirectory "$INSTDIR\translations"
File /oname=translations\gpxsee_${CODE}.qm translations\gpxsee_${CODE}.qm
!if /FileExists translations\qt_${CODE}.qm
File /oname=translations\qt_${CODE}.qm translations\qt_${CODE}.qm
!endif
SectionEnd
!macroend
!include "macros.nsh"
; The name of the installer
Name "GPXSee"
; Program version
!define VERSION "5.18"
!define VERSION "6.3"
; The file to write
OutFile "GPXSee-${VERSION}_x64.exe"
@ -160,10 +137,12 @@ Section "QT framework" SEC_QT
File "Qt5Widgets.dll"
File "Qt5PrintSupport.dll"
File "Qt5Network.dll"
File "Qt5Sql.dll"
File /r "platforms"
File /r "imageformats"
File /r "printsupport"
File /r "styles"
File /r "sqldrivers"
SectionEnd
@ -203,9 +182,11 @@ SectionEnd
SectionGroup "Localization" SEC_LOCALIZATION
!insertmacro LOCALIZATION "Czech" "cs"
!insertmacro LOCALIZATION "Danish" "da"
!insertmacro LOCALIZATION "Finnish" "fi"
!insertmacro LOCALIZATION "French" "fr"
!insertmacro LOCALIZATION "German" "de"
!insertmacro LOCALIZATION "Norwegian" "nb"
!insertmacro LOCALIZATION "Polish" "pl"
!insertmacro LOCALIZATION "Russian" "ru"
!insertmacro LOCALIZATION "Swedish" "sv"

23
pkg/macros.nsh Normal file
View File

@ -0,0 +1,23 @@
; File association
!macro FILE_ASSOCIATION_ADD EXT DESC ICON
WriteRegStr HKCR ".${EXT}" "" "GPXSee.${EXT}"
WriteRegStr HKCR "GPXSee.${EXT}" "" "${DESC}"
WriteRegStr HKCR "GPXSee.${EXT}\DefaultIcon" "" "$INSTDIR\GPXSee.exe,${ICON}"
WriteRegStr HKCR "GPXSee.${EXT}\shell\open\command" "" "$\"$INSTDIR\GPXSee.exe$\" $\"%1$\""
!macroend
!macro FILE_ASSOCIATION_REMOVE EXT
DeleteRegKey HKCR "GPXSee.${EXT}"
DeleteRegKey HKCR ".${EXT}"
!macroend
; Translations
!macro LOCALIZATION LANG CODE
Section "${LANG}"
CreateDirectory "$INSTDIR\translations"
File /oname=translations\gpxsee_${CODE}.qm translations\gpxsee_${CODE}.qm
!if /FileExists translations\qt_${CODE}.qm
File /oname=translations\qt_${CODE}.qm translations\qt_${CODE}.qm
!endif
SectionEnd
!macroend

View File

@ -5,6 +5,7 @@
#include <QNetworkProxyFactory>
#include <QNetworkAccessManager>
#include <QLibraryInfo>
#include <QSettings>
#include "map/downloader.h"
#include "map/ellipsoid.h"
#include "map/gcs.h"
@ -12,6 +13,7 @@
#include "opengl.h"
#include "gui.h"
#include "config.h"
#include "settings.h"
#include "app.h"
@ -36,7 +38,21 @@ App::App(int &argc, char **argv) : QApplication(argc, argv),
#endif // Q_OS_MAC
QNetworkProxyFactory::setUseSystemConfiguration(true);
Downloader::setNetworkAccessManager(new QNetworkAccessManager(this));
QSettings settings(APP_NAME, APP_NAME);
settings.beginGroup(OPTIONS_SETTINGS_GROUP);
/* The QNetworkAccessManager must be a child of QApplication, otherwise it
triggers the following warning on exit (and may probably crash):
"QThreadStorage: Thread X exited after QThreadStorage Y destroyed" */
Downloader::setNetworkManager(new QNetworkAccessManager(this));
#ifdef ENABLE_HTTP2
Downloader::enableHTTP2(settings.value(ENABLE_HTTP2_SETTING,
ENABLE_HTTP2_DEFAULT).toBool());
#endif // ENABLE_HTTP2
Downloader::setTimeout(settings.value(CONNECTION_TIMEOUT_SETTING,
CONNECTION_TIMEOUT_DEFAULT).toInt());
settings.endGroup();
OPENGL_SET_SAMPLES(4);
loadDatums();
loadPCSs();

View File

@ -1,7 +1,7 @@
#include <cmath>
#include <QPainter>
#include "common/util.h"
#include "config.h"
#include "nicenum.h"
#include "axisitem.h"

View File

@ -22,7 +22,8 @@ ExportDialog::ExportDialog(Export *exp, QWidget *parent)
int index;
_fileSelect = new FileSelectWidget();
_fileSelect->setFilter(tr("PDF files (*.pdf);;All files (*)"));
_fileSelect->setFilter(tr("PDF files") + " (*.pdf);;" + tr("All files")
+ " (*)");
_fileSelect->setFile(_export->fileName);
_paperSize = new QComboBox();

View File

@ -147,20 +147,25 @@ void GUI::createMapActions()
_mapsActionGroup = new QActionGroup(this);
_mapsActionGroup->setExclusive(true);
for (int i = 0; i < _ml->maps().count(); i++) {
QAction *a = new QAction(_ml->maps().at(i)->name(), this);
for (int i = 0; i < _ml->maps().count(); i++)
createMapAction(_ml->maps().at(i));
connect(_mapsSignalMapper, SIGNAL(mapped(int)), this,
SLOT(mapChanged(int)));
}
QAction *GUI::createMapAction(const Map *map)
{
QAction *a = new QAction(map->name(), this);
a->setMenuRole(QAction::NoRole);
a->setCheckable(true);
a->setActionGroup(_mapsActionGroup);
_mapsSignalMapper->setMapping(a, i);
_mapActions.append(a);
_mapsSignalMapper->setMapping(a, _mapActions.size() - 1);
connect(a, SIGNAL(triggered()), _mapsSignalMapper, SLOT(map()));
_mapActions.append(a);
}
connect(_mapsSignalMapper, SIGNAL(mapped(int)), this,
SLOT(mapChanged(int)));
return a;
}
void GUI::createPOIFilesActions()
@ -168,23 +173,21 @@ void GUI::createPOIFilesActions()
_poiFilesSignalMapper = new QSignalMapper(this);
for (int i = 0; i < _poi->files().count(); i++)
createPOIFileAction(i);
createPOIFileAction(_poi->files().at(i));
connect(_poiFilesSignalMapper, SIGNAL(mapped(int)), this,
SLOT(poiFileChecked(int)));
}
QAction *GUI::createPOIFileAction(int index)
QAction *GUI::createPOIFileAction(const QString &fileName)
{
QAction *a = new QAction(QFileInfo(_poi->files().at(index)).fileName(),
this);
QAction *a = new QAction(QFileInfo(fileName).fileName(), this);
a->setMenuRole(QAction::NoRole);
a->setCheckable(true);
_poiFilesSignalMapper->setMapping(a, index);
connect(a, SIGNAL(triggered()), _poiFilesSignalMapper, SLOT(map()));
_poiFilesActions.append(a);
_poiFilesSignalMapper->setMapping(a, _poiFilesActions.size() - 1);
connect(a, SIGNAL(triggered()), _poiFilesSignalMapper, SLOT(map()));
return a;
}
@ -641,14 +644,15 @@ void GUI::about()
QUrl homepage(APP_HOMEPAGE);
msgBox.setWindowTitle(tr("About GPXSee"));
msgBox.setText("<h2>" + QString(APP_NAME) + "</h2><p><p>" + tr("Version ")
+ APP_VERSION + " (" + CPU_ARCH + ", Qt " + QT_VERSION_STR + ")</p>");
msgBox.setText("<h2>" + QString(APP_NAME) + "</h2><p><p>" + tr("Version %1")
.arg(QString(APP_VERSION) + " (" + CPU_ARCH + ", Qt " + QT_VERSION_STR
+ ")") + "</p>");
msgBox.setInformativeText("<table width=\"300\"><tr><td>"
+ tr("GPXSee is distributed under the terms of the GNU General Public "
"License version 3. For more info about GPXSee visit the project "
"homepage at ") + "<a href=\"" + homepage.toString() + "\">"
+ homepage.toString(QUrl::RemoveScheme).mid(2)
+ "</a>.</td></tr></table>");
"homepage at %1.").arg("<a href=\"" + homepage.toString() + "\">"
+ homepage.toString(QUrl::RemoveScheme).mid(2) + "</a>")
+ "</td></tr></table>");
QIcon icon = msgBox.windowIcon();
QSize size = icon.actualSize(QSize(64, 64));
@ -838,7 +842,15 @@ bool GUI::openPOIFile(const QString &fileName)
if (fileName.isEmpty() || _poi->files().contains(fileName))
return false;
if (!_poi->loadFile(fileName)) {
if (_poi->loadFile(fileName)) {
_mapView->showPOI(true);
_showPOIAction->setChecked(true);
QAction *action = createPOIFileAction(fileName);
action->setChecked(true);
_poiFilesMenu->addAction(action);
return true;
} else {
QString error = tr("Error loading POI file:") + "\n\n"
+ fileName + "\n\n" + _poi->errorString();
if (_poi->errorLine())
@ -846,14 +858,6 @@ bool GUI::openPOIFile(const QString &fileName)
QMessageBox::critical(this, APP_NAME, error);
return false;
} else {
_mapView->showPOI(true);
_showPOIAction->setChecked(true);
QAction *action = createPOIFileAction(_poi->files().indexOf(fileName));
action->setChecked(true);
_poiFilesMenu->addAction(action);
return true;
}
}
@ -1294,18 +1298,11 @@ bool GUI::loadMap(const QString &fileName)
return false;
if (_ml->loadFile(fileName)) {
QAction *a = new QAction(_ml->maps().last()->name(), this);
a->setMenuRole(QAction::NoRole);
a->setCheckable(true);
a->setActionGroup(_mapsActionGroup);
_mapsSignalMapper->setMapping(a, _ml->maps().size() - 1);
connect(a, SIGNAL(triggered()), _mapsSignalMapper, SLOT(map()));
_mapActions.append(a);
QAction *a = createMapAction(_ml->maps().last());
_mapMenu->insertAction(_mapsEnd, a);
_showMapAction->setEnabled(true);
_clearMapCacheAction->setEnabled(true);
_mapActions.last()->trigger();
a->trigger();
return true;
} else {
QString error = tr("Error loading map:") + "\n\n"
@ -2089,10 +2086,6 @@ void GUI::readSettings()
_poi->setRadius(_options.poiRadius);
QPixmapCache::setCacheLimit(_options.pixmapCache * 1024);
Downloader::setTimeout(_options.connectionTimeout);
#ifdef ENABLE_HTTP2
Downloader::enableHTTP2(_options.enableHTTP2);
#endif // ENABLE_HTTP2
settings.endGroup();
}

View File

@ -96,7 +96,8 @@ private:
void closeFiles();
void plot(QPrinter *printer);
QAction *createPOIFileAction(int index);
QAction *createPOIFileAction(const QString &fileName);
QAction *createMapAction(const Map *map);
void createPOIFilesActions();
void createMapActions();
void createActions();

View File

@ -3,7 +3,7 @@
#include <QGraphicsItem>
#include <QList>
#include "kv.h"
#include "common/kv.h"
class InfoItem : public QGraphicsItem
{

View File

@ -18,7 +18,7 @@
#define MAX_DIGITAL_ZOOM 2
#define MIN_DIGITAL_ZOOM -3
#define MARGIN 10.0
#define MARGIN 10
#define SCALE_OFFSET 7
MapView::MapView(Map *map, POI *poi, QWidget *parent)

View File

@ -1,6 +0,0 @@
#ifndef MISC_H
#define MISC_H
double niceNum(double x, int round);
#endif // MISC_H

View File

@ -1,11 +1,8 @@
#include <cmath>
#include <QApplication>
#include <QCursor>
#include <QPainter>
#include "common/greatcircle.h"
#include "map/map.h"
#include "tooltip.h"
#include "nicenum.h"
#include "pathitem.h"
@ -49,9 +46,27 @@ void PathItem::updateShape()
void PathItem::addSegment(const Coordinates &c1, const Coordinates &c2)
{
if (fabs(c1.lon() - c2.lon()) > 180.0)
_painterPath.moveTo(_map->ll2xy(c2));
else
if (fabs(c1.lon() - c2.lon()) > 180.0) {
// Split segment on date line crossing
QPointF p;
if (c2.lon() < 0) {
QLineF l(QPointF(c1.lon(), c1.lat()), QPointF(c2.lon() + 360,
c2.lat()));
QLineF dl(QPointF(180, -90), QPointF(180, 90));
l.intersect(dl, &p);
_painterPath.lineTo(_map->ll2xy(Coordinates(180, p.y())));
_painterPath.moveTo(_map->ll2xy(Coordinates(-180, p.y())));
} else {
QLineF l(QPointF(c1.lon(), c1.lat()), QPointF(c2.lon() - 360,
c2.lat()));
QLineF dl(QPointF(-180, -90), QPointF(-180, 90));
l.intersect(dl, &p);
_painterPath.lineTo(_map->ll2xy(Coordinates(-180, p.y())));
_painterPath.moveTo(_map->ll2xy(Coordinates(180, p.y())));
}
_painterPath.lineTo(_map->ll2xy(c2));
} else
_painterPath.lineTo(_map->ll2xy(c2));
}

View File

@ -1,7 +1,7 @@
#include <cmath>
#include <QPainter>
#include "common/util.h"
#include "config.h"
#include "nicenum.h"
#include "scaleitem.h"

View File

@ -2,8 +2,7 @@
void ToolTip::insert(const QString &key, const QString &value)
{
QPair<QString, QString> entry(key, value);
_list.append(entry);
_list.append(KV(key, value));
}
QString ToolTip::toString()
@ -11,8 +10,8 @@ QString ToolTip::toString()
QString ret = "<table>";
for (int i = 0; i < _list.count(); i++)
ret += "<tr><td align=\"right\"><b>" + _list.at(i).first
+ ":&nbsp;</b></td><td>" + _list.at(i).second + "</td></tr>";
ret += "<tr><td align=\"right\"><b>" + _list.at(i).key()
+ ":&nbsp;</b></td><td>" + _list.at(i).value() + "</td></tr>";
ret += "</table>";

View File

@ -3,7 +3,7 @@
#include <QString>
#include <QList>
#include <QPair>
#include "common/kv.h"
class ToolTip
{
@ -12,7 +12,7 @@ public:
QString toString();
private:
QList<QPair<QString, QString> > _list;
QList<KV> _list;
};
#endif // TOOLTIP_H

View File

@ -32,6 +32,8 @@ private:
double _lat, _lon;
};
Q_DECLARE_TYPEINFO(Coordinates, Q_PRIMITIVE_TYPE);
inline bool operator==(const Coordinates &c1, const Coordinates &c2)
{return (c1.lat() == c2.lat() && c1.lon() == c2.lon());}
inline bool operator!=(const Coordinates &c1, const Coordinates &c2)

View File

@ -8,7 +8,7 @@ class Range
{
public:
Range() {_min = 0; _max = 0;}
Range(int min, int max) {_min = min, _max = max;}
Range(int min, int max) : _min(min), _max(max) {}
int min() const {return _min;}
int max() const {return _max;}
@ -19,6 +19,8 @@ public:
void setMin(int min) {_min = min;}
void setMax(int max) {_max = max;}
bool contains(int val) const {return (val >= _min && val <= _max);}
private:
int _min, _max;
};
@ -27,7 +29,7 @@ class RangeF
{
public:
RangeF() {_min = 0; _max = 0;}
RangeF(qreal min, qreal max) {_min = min, _max = max;}
RangeF(qreal min, qreal max) : _min(min), _max(max) {}
RangeF operator&(const RangeF &r) const;
RangeF &operator&=(const RangeF &r) {*this = *this & r; return *this;}

View File

@ -23,6 +23,11 @@ public:
{return Coordinates((_tl.lon() + _br.lon()) / 2.0,
(_tl.lat() + _br.lat()) / 2.0);}
double top() const {return _tl.lat();}
double bottom() const {return _br.lat();}
double left() const {return _tl.lon();}
double right() const {return _br.lon();}
RectC operator|(const RectC &r) const;
RectC &operator|=(const RectC &r) {*this = *this | r; return *this;}
RectC operator&(const RectC &r) const;

View File

@ -1,16 +0,0 @@
#include <cctype>
#include "str2int.h"
int str2int(const char *str, int len)
{
int res = 0;
for (const char *sp = str; sp < str + len; sp++) {
if (::isdigit(*sp))
res = res * 10 + *sp - '0';
else
return -1;
}
return res;
}

View File

@ -1,6 +0,0 @@
#ifndef MISC_H
#define MISC_H
int str2int(const char *str, int len);
#endif // MISC_H

View File

@ -1,5 +1,21 @@
#include <cctype>
#include <cmath>
#include "nicenum.h"
#include "util.h"
int str2int(const char *str, int len)
{
int res = 0;
for (const char *sp = str; sp < str + len; sp++) {
if (::isdigit(*sp))
res = res * 10 + *sp - '0';
else
return -1;
}
return res;
}
double niceNum(double x, int round)
{

7
src/common/util.h Normal file
View File

@ -0,0 +1,7 @@
#ifndef UTIL_H
#define UTIL_H
int str2int(const char *str, int len);
double niceNum(double x, int round);
#endif // UTIL_H

View File

@ -98,9 +98,9 @@ bool Data::loadFile(const QString &fileName)
file.reset();
}
qWarning("Error loading data file: %s:\n", qPrintable(fileName));
qWarning("Error loading data file: %s:", qPrintable(fileName));
for (it = _parsers.begin(); it != _parsers.end(); it++)
qWarning("%s: line %d: %s\n", qPrintable(it.key()),
qWarning("%s: line %d: %s", qPrintable(it.key()),
it.value()->errorLine(), qPrintable(it.value()->errorString()));
_errorLine = 0;

View File

@ -1,5 +1,5 @@
#include <cstring>
#include "common/str2int.h"
#include "common/util.h"
#include "igcparser.h"

View File

@ -1,5 +1,5 @@
#include <cstring>
#include "common/str2int.h"
#include "common/util.h"
#include "nmeaparser.h"

View File

@ -9,7 +9,6 @@
#include "waypoint.h"
#include "path.h"
class WaypointItem;
class POI : public QObject
{

View File

@ -3,7 +3,7 @@
void SLFParser::warning(const char *text) const
{
const QFile *file = static_cast<QFile *>(_reader.device());
qWarning("%s:%lld: %s\n", qPrintable(file->fileName()),
qWarning("%s:%lld: %s", qPrintable(file->fileName()),
_reader.lineNumber(), text);
}

View File

@ -4,7 +4,7 @@
void TCXParser::warning(const char *text) const
{
const QFile *file = static_cast<QFile *>(_reader.device());
qWarning("%s:%lld: %s\n", qPrintable(file->fileName()),
qWarning("%s:%lld: %s", qPrintable(file->fileName()),
_reader.lineNumber(), text);
}

View File

@ -1,5 +1,5 @@
#include "common/coordinates.h"
#include "common/str2int.h"
#include "common/util.h"
#include "angularunits.h"
static double sDMS2deg(double val)

View File

@ -297,9 +297,9 @@ bool Atlas::isAtlas(const QString &path)
{
QFileInfo fi(path);
QString suffix = fi.suffix().toLower();
Tar tar(path);
if (suffix == "tar") {
Tar tar(path);
if (!tar.open())
return false;
QString tbaFileName = fi.completeBaseName() + ".tba";

View File

@ -20,8 +20,10 @@
#define ATTR_REDIRECT QNetworkRequest::RedirectionTargetAttribute
#define ATTR_FILE QNetworkRequest::User
#define ATTR_ORIGIN (QNetworkRequest::Attribute)(QNetworkRequest::User + 1)
#define ATTR_LEVEL (QNetworkRequest::Attribute)(QNetworkRequest::User + 2)
#define ATTR_ORIGIN \
static_cast<QNetworkRequest::Attribute>(QNetworkRequest::User + 1)
#define ATTR_LEVEL \
static_cast<QNetworkRequest::Attribute>(QNetworkRequest::User + 2)
#define MAX_REDIRECT_LEVEL 5
#define RETRIES 3
@ -77,7 +79,6 @@ private:
int _level;
};
QNetworkAccessManager *Downloader::_manager = 0;
int Downloader::_timeout = 30;
#ifdef ENABLE_HTTP2
@ -87,10 +88,11 @@ bool Downloader::_http2 = true;
bool Downloader::doDownload(const Download &dl,
const QByteArray &authorization, const Redirect *redirect)
{
QUrl url(dl.url());
const QUrl &url = dl.url();
if (!url.isValid() || !(url.scheme() == "http" || url.scheme() == "https")) {
qWarning("%s: Invalid URL\n", qPrintable(url.toString()));
if (!url.isValid() || !(url.scheme() == QLatin1String("http")
|| url.scheme() == QLatin1String("https"))) {
qWarning("%s: Invalid URL", qPrintable(url.toString()));
if (redirect)
_errorDownloads.insert(redirect->origin(), RETRIES);
return false;
@ -115,6 +117,7 @@ bool Downloader::doDownload(const Download &dl,
QVariant(_http2));
#endif // ENABLE_HTTP2
Q_ASSERT(_manager);
QNetworkReply *reply = _manager->get(request);
if (reply && reply->isRunning()) {
_currentDownloads.insert(url);
@ -138,7 +141,7 @@ bool Downloader::saveToDisk(const QString &filename, QIODevice *data)
QFile file(filename);
if (!file.open(QIODevice::WriteOnly)) {
qWarning("Error writing file: %s: %s\n",
qWarning("Error writing file: %s: %s",
qPrintable(filename), qPrintable(file.errorString()));
return false;
}
@ -159,34 +162,33 @@ void Downloader::insertError(const QUrl &url, QNetworkReply::NetworkError error)
void Downloader::downloadFinished(QNetworkReply *reply)
{
QUrl url = reply->request().url();
QUrl url(reply->request().url());
QNetworkReply::NetworkError error = reply->error();
if (error) {
QUrl origin = reply->request().attribute(ATTR_ORIGIN).toUrl();
QUrl origin(reply->request().attribute(ATTR_ORIGIN).toUrl());
if (origin.isEmpty()) {
insertError(url, error);
qWarning("Error downloading file: %s: %s\n",
qWarning("Error downloading file: %s: %s",
url.toEncoded().constData(), qPrintable(reply->errorString()));
} else {
insertError(origin, error);
qWarning("Error downloading file: %s -> %s: %s\n",
qWarning("Error downloading file: %s -> %s: %s",
origin.toEncoded().constData(), url.toEncoded().constData(),
qPrintable(reply->errorString()));
}
} else {
QUrl location = reply->attribute(ATTR_REDIRECT).toUrl();
QString filename = reply->request().attribute(ATTR_FILE)
.toString();
QUrl location(reply->attribute(ATTR_REDIRECT).toUrl());
QString filename(reply->request().attribute(ATTR_FILE).toString());
if (!location.isEmpty()) {
QUrl origin = reply->request().attribute(ATTR_ORIGIN).toUrl();
QUrl origin(reply->request().attribute(ATTR_ORIGIN).toUrl());
int level = reply->request().attribute(ATTR_LEVEL).toInt();
if (level >= MAX_REDIRECT_LEVEL) {
_errorDownloads.insert(origin, RETRIES);
qWarning("Error downloading file: %s: "
"redirect level limit reached (redirect loop?)\n",
"redirect level limit reached (redirect loop?)",
origin.toEncoded().constData());
} else {
QUrl redirectUrl;
@ -225,3 +227,12 @@ bool Downloader::get(const QList<Download> &list,
return finishEmitted;
}
#ifdef ENABLE_HTTP2
void Downloader::enableHTTP2(bool enable)
{
Q_ASSERT(_manager);
_http2 = enable;
_manager->clearConnectionCache();
}
#endif // ENABLE_HTTP2

View File

@ -46,12 +46,12 @@ public:
= Authorization());
void clearErrors() {_errorDownloads.clear();}
static void setNetworkManager(QNetworkAccessManager *manager)
{_manager = manager;}
static void setTimeout(int timeout) {_timeout = timeout;}
#ifdef ENABLE_HTTP2
static void enableHTTP2(bool enable) {_http2 = enable;}
static void enableHTTP2(bool enable);
#endif // ENABLE_HTTP2
static void setNetworkAccessManager(QNetworkAccessManager *manager)
{_manager = manager;}
signals:
void finished();
@ -72,11 +72,11 @@ private:
QSet<QUrl> _currentDownloads;
QHash<QUrl, int> _errorDownloads;
static QNetworkAccessManager *_manager;
static int _timeout;
#ifdef ENABLE_HTTP2
static bool _http2;
#endif // ENABLE_HTTP2
static QNetworkAccessManager *_manager;
};
#endif // DOWNLOADER_H

View File

@ -1,41 +1,18 @@
#include <QtGlobal>
#include <QPainter>
#include "common/coordinates.h"
#include "common/rectc.h"
#include "common/wgs84.h"
#include "osm.h"
#include "emptymap.h"
#define ZOOM_MIN 0
#define ZOOM_MAX 19
#define TILE_SIZE 256
static QPointF ll2m(const Coordinates &c)
{
return QPointF(c.lon(), rad2deg(log(tan(M_PI_4 + deg2rad(c.lat())/2.0))));
}
static Coordinates m2ll(const QPointF &p)
{
return Coordinates(p.x(), rad2deg(2.0 * atan(exp(deg2rad(p.y()))) - M_PI_2));
}
static qreal zoom2scale(int zoom)
{
return (360.0/(qreal)((1<<zoom) * TILE_SIZE));
}
static int scale2zoom(qreal scale)
{
return (int)log2(360.0/(scale * (qreal)TILE_SIZE));
}
static int limitZoom(int zoom)
{
if (zoom < ZOOM_MIN)
return ZOOM_MIN;
if (zoom > ZOOM_MAX)
return ZOOM_MAX;
if (zoom < OSM::ZOOMS.min())
return OSM::ZOOMS.min();
if (zoom > OSM::ZOOMS.max())
return OSM::ZOOMS.max();
return zoom;
}
@ -43,23 +20,23 @@ static int limitZoom(int zoom)
EmptyMap::EmptyMap(QObject *parent) : Map(parent)
{
_zoom = ZOOM_MAX;
_zoom = OSM::ZOOMS.max();
}
QRectF EmptyMap::bounds()
{
return QRectF(ll2xy(Coordinates(-180, 85)), ll2xy(Coordinates(180, -85)));
return QRectF(ll2xy(OSM::BOUNDS.topLeft()), ll2xy(OSM::BOUNDS.bottomRight()));
}
int EmptyMap::zoomFit(const QSize &size, const RectC &rect)
{
if (!rect.isValid())
_zoom = ZOOM_MAX;
_zoom = OSM::ZOOMS.max();
else {
QRectF tbr(ll2m(rect.topLeft()), ll2m(rect.bottomRight()));
QRectF tbr(OSM::ll2m(rect.topLeft()), OSM::ll2m(rect.bottomRight()));
QPointF sc(tbr.width() / size.width(), tbr.height() / size.height());
_zoom = limitZoom(scale2zoom(qMax(sc.x(), -sc.y())));
_zoom = limitZoom(OSM::scale2zoom(qMax(sc.x(), -sc.y()), TILE_SIZE));
}
return _zoom;
@ -67,21 +44,18 @@ int EmptyMap::zoomFit(const QSize &size, const RectC &rect)
qreal EmptyMap::resolution(const QRectF &rect)
{
qreal scale = zoom2scale(_zoom);
return (WGS84_RADIUS * 2.0 * M_PI * scale / 360.0
* cos(2.0 * atan(exp(deg2rad(-rect.center().y() * scale))) - M_PI/2));
return OSM::resolution(rect.center(), _zoom, TILE_SIZE);
}
int EmptyMap::zoomIn()
{
_zoom = qMin(_zoom + 1, ZOOM_MAX);
_zoom = qMin(_zoom + 1, OSM::ZOOMS.max());
return _zoom;
}
int EmptyMap::zoomOut()
{
_zoom = qMax(_zoom - 1, ZOOM_MIN);
_zoom = qMax(_zoom - 1, OSM::ZOOMS.min());
return _zoom;
}
@ -94,13 +68,13 @@ void EmptyMap::draw(QPainter *painter, const QRectF &rect, Flags flags)
QPointF EmptyMap::ll2xy(const Coordinates &c)
{
qreal scale = zoom2scale(_zoom);
QPointF m = ll2m(c);
qreal scale = OSM::zoom2scale(_zoom, TILE_SIZE);
QPointF m = OSM::ll2m(c);
return QPointF(m.x() / scale, m.y() / -scale);
}
Coordinates EmptyMap::xy2ll(const QPointF &p)
{
qreal scale = zoom2scale(_zoom);
return m2ll(QPointF(p.x() * scale, -p.y() * scale));
qreal scale = OSM::zoom2scale(_zoom, TILE_SIZE);
return OSM::m2ll(QPointF(p.x() * scale, -p.y() * scale));
}

View File

@ -6,6 +6,7 @@
#include "jnxmap.h"
#include "geotiffmap.h"
#include "mapsource.h"
#include "mbtilesmap.h"
#include "maplist.h"
@ -56,6 +57,8 @@ bool MapList::loadFile(const QString &path, bool *atlas, bool dir)
return loadMap(new JNXMap(path, this), path, dir);
else if (suffix == "tif" || suffix == "tiff")
return loadMap(new GeoTIFFMap(path, this), path, dir);
else if (suffix == "mbtiles")
return loadMap(new MBTilesMap(path, this), path, dir);
else
return loadMap(new OziMap(path, this), path, dir);
}
@ -111,7 +114,9 @@ void MapList::clear()
QString MapList::formats()
{
return
tr("Supported files") + " (*.jnx *.map *.tar *.tba *.tif *.tiff *.xml);;"
tr("Supported files")
+ " (*.jnx *.map *.mbtiles *.tar *.tba *.tif *.tiff *.xml);;"
+ tr("MBTiles maps") + " (*.mbtiles);;"
+ tr("Garmin JNX maps") + " (*.jnx);;"
+ tr("OziExplorer maps") + " (*.map);;"
+ tr("TrekBuddy maps/atlases") + " (*.tar *.tba);;"
@ -123,6 +128,6 @@ QStringList MapList::filter()
{
QStringList filter;
filter << "*.jnx" << "*.map" << "*.tba" << "*.tar" << "*.xml" << "*.tif"
<< "*.tiff";
<< "*.tiff" << "*.mbtiles";
return filter;
}

View File

@ -4,19 +4,12 @@
#include "onlinemap.h"
#include "wmtsmap.h"
#include "wmsmap.h"
#include "osm.h"
#include "mapsource.h"
#define ZOOM_MAX 19
#define ZOOM_MIN 0
#define BOUNDS_LEFT -180
#define BOUNDS_TOP 85.0511
#define BOUNDS_RIGHT 180
#define BOUNDS_BOTTOM -85.0511
MapSource::Config::Config() : type(OSM), zooms(ZOOM_MIN, ZOOM_MAX),
bounds(Coordinates(BOUNDS_LEFT, BOUNDS_TOP), Coordinates(BOUNDS_RIGHT,
BOUNDS_BOTTOM)), format("image/png"), rest(false), tileRatio(1.0) {}
MapSource::Config::Config() : type(OSM), zooms(OSM::ZOOMS), bounds(OSM::BOUNDS),
format("image/png"), rest(false), tileRatio(1.0) {}
static CoordinateSystem coordinateSystem(QXmlStreamReader &reader)
@ -38,21 +31,21 @@ Range MapSource::zooms(QXmlStreamReader &reader)
if (attr.hasAttribute("min")) {
min = attr.value("min").toString().toInt(&res);
if (!res || (min < ZOOM_MIN || min > ZOOM_MAX)) {
if (!res || !OSM::ZOOMS.contains(min)) {
reader.raiseError("Invalid minimal zoom level");
return Range();
}
} else
min = ZOOM_MIN;
min = OSM::ZOOMS.min();
if (attr.hasAttribute("max")) {
max = attr.value("max").toString().toInt(&res);
if (!res || (max < ZOOM_MIN || max > ZOOM_MAX)) {
if (!res || !OSM::ZOOMS.contains(max)) {
reader.raiseError("Invalid maximal zoom level");
return Range();
}
} else
max = ZOOM_MAX;
max = OSM::ZOOMS.max();
if (min > max) {
reader.raiseError("Invalid maximal/minimal zoom level combination");
@ -70,39 +63,41 @@ RectC MapSource::bounds(QXmlStreamReader &reader)
if (attr.hasAttribute("top")) {
top = attr.value("top").toString().toDouble(&res);
if (!res || (top < BOUNDS_BOTTOM || top > BOUNDS_TOP)) {
if (!res || (top < OSM::BOUNDS.bottom() || top > OSM::BOUNDS.top())) {
reader.raiseError("Invalid bounds top value");
return RectC();
}
} else
top = BOUNDS_TOP;
top = OSM::BOUNDS.top();
if (attr.hasAttribute("bottom")) {
bottom = attr.value("bottom").toString().toDouble(&res);
if (!res || (bottom < BOUNDS_BOTTOM || bottom > BOUNDS_TOP)) {
if (!res || (bottom < OSM::BOUNDS.bottom()
|| bottom > OSM::BOUNDS.top())) {
reader.raiseError("Invalid bounds bottom value");
return RectC();
}
} else
bottom = BOUNDS_BOTTOM;
bottom = OSM::BOUNDS.bottom();
if (attr.hasAttribute("left")) {
left = attr.value("left").toString().toDouble(&res);
if (!res || (left < BOUNDS_LEFT || left > BOUNDS_RIGHT)) {
if (!res || (left < OSM::BOUNDS.left() || left > OSM::BOUNDS.right())) {
reader.raiseError("Invalid bounds left value");
return RectC();
}
} else
left = BOUNDS_LEFT;
left = OSM::BOUNDS.left();
if (attr.hasAttribute("right")) {
right = attr.value("right").toString().toDouble(&res);
if (!res || (right < BOUNDS_LEFT || right > BOUNDS_RIGHT)) {
if (!res || (right < OSM::BOUNDS.left()
|| right > OSM::BOUNDS.right())) {
reader.raiseError("Invalid bounds right value");
return RectC();
}
} else
right = BOUNDS_RIGHT;
right = OSM::BOUNDS.right();
if (bottom >= top) {
reader.raiseError("Invalid bottom/top bounds combination");
@ -119,8 +114,20 @@ RectC MapSource::bounds(QXmlStreamReader &reader)
void MapSource::map(QXmlStreamReader &reader, Config &config)
{
const QXmlStreamAttributes &attr = reader.attributes();
config.type = (attr.value("type") == "WMTS") ? WMTS
: (attr.value("type") == "WMS") ? WMS : OSM;
QStringRef type = attr.value("type");
if (type == "WMTS")
config.type = WMTS;
else if (type == "WMS")
config.type = WMS;
else if (type == "TMS")
config.type = TMS;
else if (type == "OSM" || type.isEmpty())
config.type = OSM;
else {
reader.raiseError("Invalid map type");
return;
}
while (reader.readNextStartElement()) {
if (reader.name() == "name")
@ -149,8 +156,8 @@ void MapSource::map(QXmlStreamReader &reader, Config &config)
if (!attr.hasAttribute("id"))
reader.raiseError("Missing dimension id");
else
config.dimensions.append(QPair<QString, QString>(
attr.value("id").toString(), reader.readElementText()));
config.dimensions.append(KV(attr.value("id").toString(),
reader.readElementText()));
} else if (reader.name() == "crs") {
config.coordinateSystem = coordinateSystem(reader);
config.crs = reader.readElementText();
@ -231,16 +238,23 @@ Map *MapSource::loadMap(const QString &path, QString &errorString)
}
}
if (config.type == WMTS)
switch (config.type) {
case WMTS:
return new WMTSMap(config.name, WMTS::Setup(config.url, config.layer,
config.set, config.style, config.format, config.rest,
config.coordinateSystem, config.dimensions, config.authorization),
config.tileRatio);
else if (config.type == WMS)
case WMS:
return new WMSMap(config.name, WMS::Setup(config.url, config.layer,
config.style, config.format, config.crs, config.coordinateSystem,
config.dimensions, config.authorization));
else
case TMS:
return new OnlineMap(config.name, config.url, config.zooms,
config.bounds, config.tileRatio, config.authorization);
config.bounds, config.tileRatio, config.authorization, true);
case OSM:
return new OnlineMap(config.name, config.url, config.zooms,
config.bounds, config.tileRatio, config.authorization, false);
default:
return 0;
}
}

View File

@ -4,6 +4,7 @@
#include <QList>
#include "common/range.h"
#include "common/rectc.h"
#include "common/kv.h"
#include "downloader.h"
#include "coordinatesystem.h"
@ -19,7 +20,8 @@ private:
enum Type {
OSM,
WMTS,
WMS
WMS,
TMS
};
struct Config {
@ -35,7 +37,7 @@ private:
QString crs;
CoordinateSystem coordinateSystem;
bool rest;
QList<QPair<QString, QString> > dimensions;
QList<KV> dimensions;
Authorization authorization;
qreal tileRatio;

260
src/map/mbtilesmap.cpp Normal file
View File

@ -0,0 +1,260 @@
#include <QSqlQuery>
#include <QSqlRecord>
#include <QSqlField>
#include <QFileInfo>
#include <QPainter>
#include <QPixmapCache>
#include "common/rectc.h"
#include "osm.h"
#include "config.h"
#include "mbtilesmap.h"
#define META_TYPE(type) static_cast<QMetaType::Type>(type)
static double index2mercator(int index, int zoom)
{
return rad2deg(-M_PI + 2 * M_PI * ((double)index / (1<<zoom)));
}
MBTilesMap::MBTilesMap(const QString &fileName, QObject *parent)
: Map(parent), _fileName(fileName), _deviceRatio(1.0), _tileRatio(1.0),
_valid(false)
{
_db = QSqlDatabase::addDatabase("QSQLITE", fileName);
_db.setDatabaseName(fileName);
if (!_db.open()) {
_errorString = fileName + ": Error opening database file";
return;
}
QSqlRecord r = _db.record("tiles");
if (r.isEmpty()
|| r.field(0).name() != "zoom_level"
|| META_TYPE(r.field(0).type()) != QMetaType::Int
|| r.field(1).name() != "tile_column"
|| META_TYPE(r.field(1).type()) != QMetaType::Int
|| r.field(2).name() != "tile_row"
|| META_TYPE(r.field(2).type()) != QMetaType::Int
|| r.field(3).name() != "tile_data"
|| META_TYPE(r.field(3).type()) != QMetaType::QByteArray) {
_errorString = "Invalid table format";
return;
}
{
QSqlQuery query("SELECT min(zoom_level), max(zoom_level) FROM tiles",
_db);
if (!query.first()) {
_errorString = "Empty tile set";
return;
}
_zooms = Range(query.value(0).toInt(), query.value(1).toInt());
if (_zooms.min() < 0 || !_zooms.isValid()) {
_errorString = "Invalid zoom levels";
return;
}
}
_zoom = _zooms.max();
{
QString sql = QString("SELECT min(tile_column), min(tile_row), "
"max(tile_column), max(tile_row) FROM tiles WHERE zoom_level = %1")
.arg(_zooms.min());
QSqlQuery query(sql, _db);
query.first();
double minX = index2mercator(qMin((1<<_zooms.min()) - 1,
qMax(0, query.value(0).toInt())), _zooms.min());
double minY = index2mercator(qMin((1<<_zooms.min()) - 1,
qMax(0, query.value(1).toInt())), _zooms.min());
double maxX = index2mercator(qMin((1<<_zooms.min()) - 1,
qMax(0, query.value(2).toInt())) + 1, _zooms.min());
double maxY = index2mercator(qMin((1<<_zooms.min()) - 1,
qMax(0, query.value(3).toInt())) + 1, _zooms.min());
Coordinates tl(OSM::m2ll(QPointF(minX, maxY)));
Coordinates br(OSM::m2ll(QPointF(maxX, minY)));
// Workaround of broken zoom levels 0 and 1 due to numerical instability
tl.rlat() = qMin(tl.lat(), OSM::BOUNDS.top());
br.rlat() = qMax(br.lat(), OSM::BOUNDS.bottom());
_bounds = RectC(tl, br);
}
{
QString sql = QString("SELECT tile_data FROM tiles LIMIT 1");
QSqlQuery query(sql, _db);
query.first();
QImage tile = QImage::fromData(query.value(0).toByteArray());
if (tile.isNull() || tile.size().width() != tile.size().height()) {
_errorString = "Unsupported/invalid tile images";
return;
}
_tileSize = tile.size().width();
}
{
QSqlQuery query("SELECT value FROM metadata WHERE name = 'name'", _db);
if (query.first())
_name = query.value(0).toString();
else {
qWarning("%s: missing map name", qPrintable(_fileName));
_name = QFileInfo(_fileName).fileName();
}
}
{
QSqlQuery query(
"SELECT value FROM metadata WHERE name = 'tilepixelratio'", _db);
if (query.first()) {
bool ok;
_tileRatio = query.value(0).toString().toDouble(&ok);
if (!ok) {
_errorString = "Invalid tile pixel ratio";
return;
}
}
}
_db.close();
_valid = true;
}
void MBTilesMap::load()
{
_db.open();
}
void MBTilesMap::unload()
{
_db.close();
}
QRectF MBTilesMap::bounds()
{
return QRectF(ll2xy(_bounds.topLeft()), ll2xy(_bounds.bottomRight()));
}
int MBTilesMap::limitZoom(int zoom) const
{
if (zoom < _zooms.min())
return _zooms.min();
if (zoom > _zooms.max())
return _zooms.max();
return zoom;
}
int MBTilesMap::zoomFit(const QSize &size, const RectC &rect)
{
if (!rect.isValid())
_zoom = _zooms.max();
else {
QRectF tbr(OSM::ll2m(rect.topLeft()), OSM::ll2m(rect.bottomRight()));
QPointF sc(tbr.width() / size.width(), tbr.height() / size.height());
_zoom = limitZoom(OSM::scale2zoom(qMax(sc.x(), -sc.y())
/ coordinatesRatio(), _tileSize));
}
return _zoom;
}
qreal MBTilesMap::resolution(const QRectF &rect)
{
return OSM::resolution(rect.center(), _zoom, _tileSize);
}
int MBTilesMap::zoomIn()
{
_zoom = qMin(_zoom + 1, _zooms.max());
return _zoom;
}
int MBTilesMap::zoomOut()
{
_zoom = qMax(_zoom - 1, _zooms.min());
return _zoom;
}
qreal MBTilesMap::coordinatesRatio() const
{
return _deviceRatio > 1.0 ? _deviceRatio / _tileRatio : 1.0;
}
qreal MBTilesMap::imageRatio() const
{
return _deviceRatio > 1.0 ? _deviceRatio : _tileRatio;
}
qreal MBTilesMap::tileSize() const
{
return (_tileSize / coordinatesRatio());
}
QByteArray MBTilesMap::tileData(int zoom, const QPoint &tile) const
{
QSqlQuery query(_db);
query.prepare("SELECT tile_data FROM tiles "
"WHERE zoom_level=:zoom AND tile_column=:x AND tile_row=:y");
query.bindValue(":zoom", zoom);
query.bindValue(":x", tile.x());
query.bindValue(":y", (1<<zoom) - tile.y() - 1);
query.exec();
if (query.first())
return query.value(0).toByteArray();
return QByteArray();
}
void MBTilesMap::draw(QPainter *painter, const QRectF &rect, Flags flags)
{
Q_UNUSED(flags);
qreal scale = OSM::zoom2scale(_zoom, _tileSize);
QRectF b(bounds());
QPoint tile = OSM::mercator2tile(QPointF(rect.topLeft().x() * scale,
-rect.topLeft().y() * scale) * coordinatesRatio(), _zoom);
QPointF tl(floor(rect.left() / tileSize())
* tileSize(), floor(rect.top() / tileSize()) * tileSize());
QSizeF s(qMin(rect.right() - tl.x(), b.width()),
qMin(rect.bottom() - tl.y(), b.height()));
for (int i = 0; i < ceil(s.width() / tileSize()); i++) {
for (int j = 0; j < ceil(s.height() / tileSize()); j++) {
QPixmap pm;
QPoint t(tile.x() + i, tile.y() + j);
QString key = _fileName + "-" + QString::number(_zoom) + "_"
+ QString::number(t.x()) + "_" + QString::number(t.y());
if (!QPixmapCache::find(key, &pm))
if (pm.loadFromData(tileData(_zoom, t)))
QPixmapCache::insert(key, pm);
QPointF tp(qMax(tl.x(), b.left()) + (t.x() - tile.x()) * tileSize(),
qMax(tl.y(), b.top()) + (t.y() - tile.y()) * tileSize());
if (!pm.isNull()) {
#ifdef ENABLE_HIDPI
pm.setDevicePixelRatio(imageRatio());
#endif // ENABLE_HIDPI
painter->drawPixmap(tp, pm);
}
}
}
}
QPointF MBTilesMap::ll2xy(const Coordinates &c)
{
qreal scale = OSM::zoom2scale(_zoom, _tileSize);
QPointF m = OSM::ll2m(c);
return QPointF(m.x() / scale, m.y() / -scale) / coordinatesRatio();
}
Coordinates MBTilesMap::xy2ll(const QPointF &p)
{
qreal scale = OSM::zoom2scale(_zoom, _tileSize);
return OSM::m2ll(QPointF(p.x() * scale, -p.y() * scale)
* coordinatesRatio());
}

57
src/map/mbtilesmap.h Normal file
View File

@ -0,0 +1,57 @@
#ifndef MBTILESMAP_H
#define MBTILESMAP_H
#include <QSqlDatabase>
#include <QByteArray>
#include "common/range.h"
#include "map.h"
class MBTilesMap : public Map
{
public:
MBTilesMap(const QString &fileName, QObject *parent = 0);
QString name() const {return _name;}
QRectF bounds();
qreal resolution(const QRectF &rect);
int zoom() const {return _zoom;}
void setZoom(int zoom) {_zoom = zoom;}
int zoomFit(const QSize &size, const RectC &rect);
int zoomIn();
int zoomOut();
QPointF ll2xy(const Coordinates &c);
Coordinates xy2ll(const QPointF &p);
void draw(QPainter *painter, const QRectF &rect, Flags flags);
void load();
void unload();
void setDevicePixelRatio(qreal ratio) {_deviceRatio = ratio;}
bool isValid() const {return _valid;}
QString errorString() const {return _errorString;}
private:
int limitZoom(int zoom) const;
qreal tileSize() const;
qreal coordinatesRatio() const;
qreal imageRatio() const;
QByteArray tileData(int zoom, const QPoint &tile) const;
QSqlDatabase _db;
QString _fileName, _name;
RectC _bounds;
Range _zooms;
int _zoom;
int _tileSize;
qreal _deviceRatio, _tileRatio;
bool _valid;
QString _errorString;
};
#endif // MBTILESMAP_H

View File

@ -1,66 +1,25 @@
#include <QtCore>
#include <QPainter>
#include "common/coordinates.h"
#include "common/rectc.h"
#include "common/wgs84.h"
#include "downloader.h"
#include "osm.h"
#include "config.h"
#include "onlinemap.h"
#define TILE_SIZE 256
#define EPSILON 1e-6
static QPointF ll2m(const Coordinates &c)
{
return QPointF(c.lon(), rad2deg(log(tan(M_PI_4 + deg2rad(c.lat())/2.0))));
}
static Coordinates m2ll(const QPointF &p)
{
return Coordinates(p.x(), rad2deg(2.0 * atan(exp(deg2rad(p.y()))) - M_PI_2));
}
static QPoint mercator2tile(const QPointF &m, int z)
{
QPoint tile;
tile.setX((int)(floor((m.x() + 180.0) / 360.0 * (1<<z))));
tile.setY((int)(floor((1.0 - (m.y() / 180.0)) / 2.0 * (1<<z))));
return tile;
}
static qreal zoom2scale(int zoom)
{
return (360.0/(qreal)((1<<zoom) * TILE_SIZE));
}
static int scale2zoom(qreal scale)
{
return (int)(log2(360.0/(scale * (qreal)TILE_SIZE)) + EPSILON);
}
OnlineMap::OnlineMap(const QString &name, const QString &url,
const Range &zooms, const RectC &bounds, qreal tileRatio,
const Authorization &authorization, QObject *parent)
const Authorization &authorization, bool invertY, QObject *parent)
: Map(parent), _name(name), _zooms(zooms), _bounds(bounds),
_zoom(_zooms.max()), _deviceRatio(1.0), _tileRatio(tileRatio), _valid(false)
_zoom(_zooms.max()), _deviceRatio(1.0), _tileRatio(tileRatio),
_invertY(invertY)
{
QString dir(TILES_DIR + "/" + _name);
_tileLoader = new TileLoader(this);
_tileLoader = new TileLoader(TILES_DIR + "/" + _name, this);
_tileLoader->setUrl(url);
_tileLoader->setDir(dir);
_tileLoader->setAuthorization(authorization);
connect(_tileLoader, SIGNAL(finished()), this, SIGNAL(loaded()));
if (!QDir().mkpath(dir)) {
_errorString = "Error creating tiles dir";
return;
}
_valid = true;
}
QRectF OnlineMap::bounds()
@ -83,9 +42,10 @@ int OnlineMap::zoomFit(const QSize &size, const RectC &rect)
if (!rect.isValid())
_zoom = _zooms.max();
else {
QRectF tbr(ll2m(rect.topLeft()), ll2m(rect.bottomRight()));
QRectF tbr(OSM::ll2m(rect.topLeft()), OSM::ll2m(rect.bottomRight()));
QPointF sc(tbr.width() / size.width(), tbr.height() / size.height());
_zoom = limitZoom(scale2zoom(qMax(sc.x(), -sc.y()) / coordinatesRatio()));
_zoom = limitZoom(OSM::scale2zoom(qMax(sc.x(), -sc.y())
/ coordinatesRatio(), TILE_SIZE));
}
return _zoom;
@ -93,10 +53,7 @@ int OnlineMap::zoomFit(const QSize &size, const RectC &rect)
qreal OnlineMap::resolution(const QRectF &rect)
{
qreal scale = zoom2scale(_zoom);
return (WGS84_RADIUS * 2.0 * M_PI * scale / 360.0
* cos(2.0 * atan(exp(deg2rad(-rect.center().y() * scale))) - M_PI/2));
return OSM::resolution(rect.center(), _zoom, TILE_SIZE);
}
int OnlineMap::zoomIn()
@ -128,20 +85,23 @@ qreal OnlineMap::tileSize() const
void OnlineMap::draw(QPainter *painter, const QRectF &rect, Flags flags)
{
qreal scale = zoom2scale(_zoom);
QRectF b(bounds());
qreal scale = OSM::zoom2scale(_zoom, TILE_SIZE);
QPoint tile = mercator2tile(QPointF(rect.topLeft().x() * scale,
QPoint tile = OSM::mercator2tile(QPointF(rect.topLeft().x() * scale,
-rect.topLeft().y() * scale) * coordinatesRatio(), _zoom);
QPointF tl(floor(rect.left() / tileSize())
* tileSize(), floor(rect.top() / tileSize()) * tileSize());
QList<Tile> tiles;
QSizeF s(qMin(rect.right() - tl.x(), b.width()),
qMin(rect.bottom() - tl.y(), b.height()));
for (int i = 0; i < ceil(s.width() / tileSize()); i++)
for (int j = 0; j < ceil(s.height() / tileSize()); j++)
tiles.append(Tile(QPoint(tile.x() + i, tile.y() + j), _zoom));
QSizeF s(rect.right() - tl.x(), rect.bottom() - tl.y());
int width = _zoom ? qCeil(s.width() / tileSize()) : 1;
int height = _zoom ? qCeil(s.height() / tileSize()) : 1;
QVector<Tile> tiles;
tiles.reserve(width * height);
for (int i = 0; i < width; i++)
for (int j = 0; j < height; j++)
tiles.append(Tile(QPoint(tile.x() + i, _invertY ? (1<<_zoom)
- (tile.y() + j) - 1 : tile.y() + j), _zoom));
if (flags & Map::Block)
_tileLoader->loadTilesSync(tiles);
@ -150,8 +110,10 @@ void OnlineMap::draw(QPainter *painter, const QRectF &rect, Flags flags)
for (int i = 0; i < tiles.count(); i++) {
Tile &t = tiles[i];
QPointF tp(qMax(tl.x(), b.left()) + (t.xy().x() - tile.x()) * tileSize(),
qMax(tl.y(), b.top()) + (t.xy().y() - tile.y()) * tileSize());
QPointF tp = _zoom ? QPointF(tl.x() + (t.xy().x() - tile.x())
* tileSize(), tl.y() + ((_invertY ? (1<<_zoom) - t.xy().y() - 1 :
t.xy().y()) - tile.y()) * tileSize()) : QPointF(-128, -128);
if (!t.pixmap().isNull()) {
#ifdef ENABLE_HIDPI
t.pixmap().setDevicePixelRatio(imageRatio());
@ -163,13 +125,14 @@ void OnlineMap::draw(QPainter *painter, const QRectF &rect, Flags flags)
QPointF OnlineMap::ll2xy(const Coordinates &c)
{
qreal scale = zoom2scale(_zoom);
QPointF m = ll2m(c);
qreal scale = OSM::zoom2scale(_zoom, TILE_SIZE);
QPointF m = OSM::ll2m(c);
return QPointF(m.x() / scale, m.y() / -scale) / coordinatesRatio();
}
Coordinates OnlineMap::xy2ll(const QPointF &p)
{
qreal scale = zoom2scale(_zoom);
return m2ll(QPointF(p.x() * scale, -p.y() * scale) * coordinatesRatio());
qreal scale = OSM::zoom2scale(_zoom, TILE_SIZE);
return OSM::m2ll(QPointF(p.x() * scale, -p.y() * scale)
* coordinatesRatio());
}

View File

@ -13,7 +13,7 @@ class OnlineMap : public Map
public:
OnlineMap(const QString &name, const QString &url, const Range &zooms,
const RectC &bounds, qreal tileRatio, const Authorization &authorization,
QObject *parent = 0);
bool invertY, QObject *parent = 0);
QString name() const {return _name;}
@ -34,9 +34,6 @@ public:
void setDevicePixelRatio(qreal ratio) {_deviceRatio = ratio;}
void clearCache() {_tileLoader->clearCache();}
bool isValid() const {return _valid;}
QString errorString() const {return _errorString;}
private:
int limitZoom(int zoom) const;
qreal tileSize() const;
@ -49,9 +46,7 @@ private:
RectC _bounds;
int _zoom;
qreal _deviceRatio, _tileRatio;
bool _valid;
QString _errorString;
bool _invertY;
};
#endif // ONLINEMAP_H

40
src/map/osm.cpp Normal file
View File

@ -0,0 +1,40 @@
#include <QtCore>
#include "common/wgs84.h"
#include "osm.h"
#define EPSILON 1e-6
QPointF OSM::ll2m(const Coordinates &c)
{
return QPointF(c.lon(), rad2deg(log(tan(M_PI_4 + deg2rad(c.lat())/2.0))));
}
Coordinates OSM::m2ll(const QPointF &p)
{
return Coordinates(p.x(), rad2deg(2.0 * atan(exp(deg2rad(p.y()))) - M_PI_2));
}
QPoint OSM::mercator2tile(const QPointF &m, int zoom)
{
return QPoint(qFloor((m.x() + 180.0) / 360.0 * (1<<zoom)),
qFloor((1.0 - (m.y() / 180.0)) / 2.0 * (1<<zoom)));
}
qreal OSM::zoom2scale(int zoom, int tileSize)
{
return (360.0/(qreal)((1<<zoom) * tileSize));
}
int OSM::scale2zoom(qreal scale, int tileSize)
{
return (int)(log2(360.0/(scale * (qreal)tileSize)) + EPSILON);
}
qreal OSM::resolution(const QPointF &p, int zoom, int tileSize)
{
qreal scale = zoom2scale(zoom, tileSize);
return (WGS84_RADIUS * 2.0 * M_PI * scale / 360.0
* cos(2.0 * atan(exp(deg2rad(-p.y() * scale))) - M_PI/2));
}

23
src/map/osm.h Normal file
View File

@ -0,0 +1,23 @@
#ifndef OSM_H
#define OSM_H
#include <QPointF>
#include <common/coordinates.h>
#include <common/rectc.h>
#include <common/range.h>
namespace OSM
{
static const RectC BOUNDS(Coordinates(-180, 85.0511),
Coordinates(180, -85.0511));
static const Range ZOOMS(0, 19);
QPointF ll2m(const Coordinates &c);
Coordinates m2ll(const QPointF &p);
QPoint mercator2tile(const QPointF &m, int zoom);
qreal zoom2scale(int zoom, int tileSize);
int scale2zoom(qreal scale, int tileSize);
qreal resolution(const QPointF &p, int zoom, int tileSize);
}
#endif // OSM_H

View File

@ -96,7 +96,7 @@ bool Tar::loadTmi(const QString &path)
QByteArray line = file.readLine();
int pos = line.indexOf(':');
if (line.size() < 10 || pos < 7 || !line.startsWith("block")) {
qWarning("%s:%d: syntax error\n", qPrintable(path), ln);
qWarning("%s:%d: syntax error", qPrintable(path), ln);
_index.clear();
return false;
}

View File

@ -10,6 +10,7 @@
class Tile
{
public:
Tile() {}
Tile(const QPoint &xy, const QVariant &zoom, const RectD &bbox = RectD())
{_xy = xy; _zoom = zoom; _bbox = bbox;}

View File

@ -7,51 +7,65 @@
static bool loadTileFile(Tile &tile, const QString &file)
{
if (!tile.pixmap().load(file)) {
qWarning("%s: error loading tile file\n", qPrintable(file));
qWarning("%s: error loading tile file", qPrintable(file));
return false;
}
return true;
}
TileLoader::TileLoader(QObject *parent) : QObject(parent)
TileLoader::TileLoader(const QString &dir, QObject *parent)
: QObject(parent), _dir(dir)
{
if (!QDir().mkpath(_dir))
qWarning("%s: %s", qPrintable(_dir), "Error creating tiles directory");
_downloader = new Downloader(this);
connect(_downloader, SIGNAL(finished()), this, SIGNAL(finished()));
}
void TileLoader::loadTilesAsync(QList<Tile> &list)
void TileLoader::loadTilesAsync(QVector<Tile> &list)
{
QList<Download> dl;
for (int i = 0; i < list.size(); i++) {
Tile &t = list[i];
QString file = tileFile(t);
QString file(tileFile(t));
QFileInfo fi(file);
if (!fi.exists())
dl.append(Download(tileUrl(t), file));
else
if (fi.exists())
loadTileFile(t, file);
else {
QUrl url(tileUrl(t));
if (url.isLocalFile())
loadTileFile(t, url.toLocalFile());
else
dl.append(Download(url, file));
}
}
if (!dl.empty())
_downloader->get(dl, _authorization);
}
void TileLoader::loadTilesSync(QList<Tile> &list)
void TileLoader::loadTilesSync(QVector<Tile> &list)
{
QList<Download> dl;
for (int i = 0; i < list.size(); i++) {
Tile &t = list[i];
QString file = tileFile(t);
QString file(tileFile(t));
QFileInfo fi(file);
if (!fi.exists())
dl.append(Download(tileUrl(t), file));
else
if (fi.exists())
loadTileFile(t, file);
else {
QUrl url(tileUrl(t));
if (url.isLocalFile())
loadTileFile(t, url.toLocalFile());
else
dl.append(Download(url, file));
}
}
if (dl.empty())
@ -84,7 +98,7 @@ void TileLoader::clearCache()
_downloader->clearErrors();
}
QString TileLoader::tileUrl(const Tile &tile) const
QUrl TileLoader::tileUrl(const Tile &tile) const
{
QString url(_url);
@ -101,13 +115,12 @@ QString TileLoader::tileUrl(const Tile &tile) const
url.replace("$y", QString::number(tile.xy().y()));
}
return url;
return QUrl(url);
}
QString TileLoader::tileFile(const Tile &tile) const
{
QString file = _dir + QString("/%1-%2-%3").arg(tile.zoom().toString())
.arg(tile.xy().x()).arg(tile.xy().y());
return file;
return _dir + QLatin1Char('/') + tile.zoom().toString() + QLatin1Char('-')
+ QString::number(tile.xy().x()) + QLatin1Char('-')
+ QString::number(tile.xy().y());
}

View File

@ -11,22 +11,21 @@ class TileLoader : public QObject
Q_OBJECT
public:
TileLoader(QObject *parent = 0);
TileLoader(const QString &dir, QObject *parent = 0);
void setUrl(const QString &url) {_url = url;}
void setDir(const QString &dir) {_dir = dir;}
void setAuthorization(const Authorization &authorization)
{_authorization = authorization;}
void loadTilesAsync(QList<Tile> &list);
void loadTilesSync(QList<Tile> &list);
void loadTilesAsync(QVector<Tile> &list);
void loadTilesSync(QVector<Tile> &list);
void clearCache();
signals:
void finished();
private:
QString tileUrl(const Tile &tile) const;
QUrl tileUrl(const Tile &tile) const;
QString tileFile(const Tile &tile) const;
Downloader *_downloader;

View File

@ -274,8 +274,8 @@ bool WMS::getCapabilities(const QString &url, const QString &file,
WMS::WMS(const QString &file, const WMS::Setup &setup) : _valid(false)
{
QString capaUrl = QString("%1?service=WMS&request=GetCapabilities")
.arg(setup.url());
QString capaUrl = QString("%1%2service=WMS&request=GetCapabilities")
.arg(setup.url(), setup.url().contains('?') ? "&" : "?");
if (!QFileInfo(file).exists())
if (!getCapabilities(capaUrl, file, setup.authorization()))

View File

@ -5,6 +5,7 @@
#include <QRectF>
#include "common/range.h"
#include "common/rectc.h"
#include "common/kv.h"
#include "projection.h"
#include "downloader.h"
#include "coordinatesystem.h"
@ -18,9 +19,8 @@ public:
{
public:
Setup(const QString &url, const QString &layer, const QString &style,
const QString &format, const QString &crs,
const CoordinateSystem &cs,
const QList<QPair<QString, QString> > &dimensions,
const QString &format, const QString &crs, const CoordinateSystem &cs,
const QList<KV> &dimensions,
const Authorization &authorization = Authorization())
: _url(url), _layer(layer), _style(style), _format(format),
_crs(crs), _cs(cs), _dimensions(dimensions),
@ -33,8 +33,7 @@ public:
const QString &format() const {return _format;}
const QString &crs() const {return _crs;}
const CoordinateSystem &coordinateSystem() const {return _cs;}
const QList<QPair<QString, QString> > &dimensions() const
{return _dimensions;}
const QList<KV> &dimensions() const {return _dimensions;}
private:
QString _url;
@ -43,7 +42,7 @@ public:
QString _format;
QString _crs;
CoordinateSystem _cs;
QList<QPair<QString, QString> > _dimensions;
QList<KV> _dimensions;
Authorization _authorization;
};

View File

@ -1,3 +1,4 @@
#include <QtCore>
#include <QDir>
#include <QPainter>
#include "common/wgs84.h"
@ -20,11 +21,11 @@ QString WMSMap::tileUrl(const QString &version) const
{
QString url;
url = QString("%1?version=%2&request=GetMap&bbox=$bbox"
"&width=%3&height=%4&layers=%5&styles=%6&format=%7&transparent=true")
.arg(_setup.url(), version, QString::number(TILE_SIZE),
QString::number(TILE_SIZE), _setup.layer(), _setup.style(),
_setup.format());
url = QString("%1%2version=%3&request=GetMap&bbox=$bbox"
"&width=%4&height=%5&layers=%6&styles=%7&format=%8&transparent=true")
.arg(_setup.url(), _setup.url().contains('?') ? "&" : "?", version,
QString::number(TILE_SIZE), QString::number(TILE_SIZE), _setup.layer(),
_setup.style(), _setup.format());
if (version >= "1.3.0")
url.append(QString("&CRS=%1").arg(_setup.crs()));
@ -32,8 +33,8 @@ QString WMSMap::tileUrl(const QString &version) const
url.append(QString("&SRS=%1").arg(_setup.crs()));
for (int i = 0; i < _setup.dimensions().size(); i++) {
const QPair<QString, QString> &dim = _setup.dimensions().at(i);
url.append(QString("&%1=%2").arg(dim.first, dim.second));
const KV &dim = _setup.dimensions().at(i);
url.append(QString("&%1=%2").arg(dim.key(), dim.value()));
}
return url;
@ -50,9 +51,9 @@ void WMSMap::computeZooms(const RangeF &scaleDenominator)
if (scaleDenominator.size() > 0) {
double ld = log2(scaleDenominator.max()) - log2(scaleDenominator.min());
int cld = ceil(ld);
double step = ld / (qreal)cld;
qreal lmax = log2(scaleDenominator.max());
int cld = (int)ceil(ld);
double step = ld / (double)cld;
double lmax = log2(scaleDenominator.max());
for (int i = 0; i <= cld; i++)
_zooms.append(pow(2.0, lmax - i * step));
} else
@ -105,13 +106,7 @@ WMSMap::WMSMap(const QString &name, const WMS::Setup &setup, QObject *parent)
: Map(parent), _name(name), _setup(setup), _tileLoader(0), _zoom(0),
_ratio(1.0), _valid(false)
{
if (!QDir().mkpath(tilesDir())) {
_errorString = "Error creating tiles dir";
return;
}
_tileLoader = new TileLoader(this);
_tileLoader->setDir(tilesDir());
_tileLoader = new TileLoader(tilesDir(), this);
_tileLoader->setAuthorization(_setup.authorization());
connect(_tileLoader, SIGNAL(finished()), this, SIGNAL(loaded()));
@ -124,7 +119,7 @@ void WMSMap::clearCache()
_zoom = 0;
if (!loadWMS())
qWarning("%s: %s\n", qPrintable(_name), qPrintable(_errorString));
qWarning("%s: %s", qPrintable(_name), qPrintable(_errorString));
}
QRectF WMSMap::bounds()
@ -194,12 +189,13 @@ qreal WMSMap::tileSize() const
void WMSMap::draw(QPainter *painter, const QRectF &rect, Flags flags)
{
QPoint tl = QPoint((int)floor(rect.left() / tileSize()),
(int)floor(rect.top() / tileSize()));
QPoint br = QPoint((int)ceil(rect.right() / tileSize()),
(int)ceil(rect.bottom() / tileSize()));
QPoint tl = QPoint(qFloor(rect.left() / tileSize()),
qFloor(rect.top() / tileSize()));
QPoint br = QPoint(qCeil(rect.right() / tileSize()),
qCeil(rect.bottom() / tileSize()));
QList<Tile> tiles;
QVector<Tile> tiles;
tiles.reserve((br.x() - tl.x()) * (br.y() - tl.y()));
for (int i = tl.x(); i < br.x(); i++) {
for (int j = tl.y(); j < br.y(); j++) {
PointD ttl(_transform.img2proj(QPointF(i * TILE_SIZE,

View File

@ -277,7 +277,7 @@ bool WMTS::parseCapabilities(const QString &path, const Setup &setup)
return true;
}
bool WMTS::getCapabilities(const QString &url, const QString &file,
bool WMTS::downloadCapabilities(const QString &url, const QString &file,
const Authorization &authorization)
{
Downloader d;
@ -300,25 +300,26 @@ bool WMTS::getCapabilities(const QString &url, const QString &file,
WMTS::WMTS(const QString &file, const WMTS::Setup &setup) : _valid(false)
{
QString capaUrl = setup.rest() ? setup.url() :
QString("%1?service=WMTS&Version=1.0.0&request=GetCapabilities")
.arg(setup.url());
QUrl url(setup.rest() ? setup.url() : QString(
"%1%2service=WMTS&Version=1.0.0&request=GetCapabilities").arg(setup.url(),
setup.url().contains('?') ? "&" : "?"));
if (!QFileInfo(file).exists())
if (!getCapabilities(capaUrl, file, setup.authorization()))
if (!url.isLocalFile() && !QFileInfo(file).exists())
if (!downloadCapabilities(url.toString(), file, setup.authorization()))
return;
if (!parseCapabilities(file, setup))
if (!parseCapabilities(url.isLocalFile() ? url.toLocalFile() : file, setup))
return;
QString style = setup.style().isEmpty() ? "default" : setup.style();
if (!setup.rest()) {
_tileUrl = QString("%1?service=WMTS&Version=1.0.0&request=GetTile"
"&Format=%2&Layer=%3&Style=%4&TileMatrixSet=%5&TileMatrix=$z"
"&TileRow=$y&TileCol=$x").arg(setup.url(), setup.format(),
_tileUrl = QString("%1%2service=WMTS&Version=1.0.0&request=GetTile"
"&Format=%3&Layer=%4&Style=%5&TileMatrixSet=%6&TileMatrix=$z"
"&TileRow=$y&TileCol=$x").arg(setup.url(),
setup.url().contains('?') ? "&" : "?" , setup.format(),
setup.layer(), style, setup.set());
for (int i = 0; i < setup.dimensions().size(); i++) {
const QPair<QString, QString> &dim = setup.dimensions().at(i);
_tileUrl.append(QString("&%1=%2").arg(dim.first, dim.second));
const KV &dim = setup.dimensions().at(i);
_tileUrl.append(QString("&%1=%2").arg(dim.key(), dim.value()));
}
} else {
_tileUrl.replace("{Style}", style, Qt::CaseInsensitive);
@ -327,8 +328,8 @@ WMTS::WMTS(const QString &file, const WMTS::Setup &setup) : _valid(false)
_tileUrl.replace("{TileRow}", "$y", Qt::CaseInsensitive);
_tileUrl.replace("{TileCol}", "$x", Qt::CaseInsensitive);
for (int i = 0; i < setup.dimensions().size(); i++) {
const QPair<QString, QString> &dim = setup.dimensions().at(i);
_tileUrl.replace(QString("{%1}").arg(dim.first), dim.second,
const KV &dim = setup.dimensions().at(i);
_tileUrl.replace(QString("{%1}").arg(dim.key()), dim.value(),
Qt::CaseInsensitive);
}
}

View File

@ -7,6 +7,7 @@
#include <QList>
#include <QHash>
#include "common/rectc.h"
#include "common/kv.h"
#include "projection.h"
#include "downloader.h"
#include "coordinatesystem.h"
@ -21,8 +22,7 @@ public:
public:
Setup(const QString &url, const QString &layer, const QString &set,
const QString &style, const QString &format, bool rest,
const CoordinateSystem &cs,
const QList<QPair<QString, QString> > &dimensions,
const CoordinateSystem &cs, const QList<KV> &dimensions,
const Authorization &authorization = Authorization())
: _url(url), _layer(layer), _set(set), _style(style),
_format(format), _rest(rest), _cs(cs), _dimensions(dimensions),
@ -36,8 +36,7 @@ public:
const QString &format() const {return _format;}
bool rest() const {return _rest;}
const CoordinateSystem &coordinateSystem() const {return _cs;}
const QList<QPair<QString, QString> > &dimensions() const
{return _dimensions;}
const QList<KV> &dimensions() const {return _dimensions;}
private:
QString _url;
@ -47,7 +46,7 @@ public:
QString _format;
bool _rest;
CoordinateSystem _cs;
QList<QPair<QString, QString> > _dimensions;
QList<KV> _dimensions;
Authorization _authorization;
};
@ -139,7 +138,7 @@ private:
void contents(QXmlStreamReader &reader, CTX &ctx);
void capabilities(QXmlStreamReader &reader, CTX &ctx);
bool parseCapabilities(const QString &path, const Setup &setup);
bool getCapabilities(const QString &url, const QString &file,
bool downloadCapabilities(const QString &url, const QString &file,
const Authorization &authorization);
QSet<TileMatrix> _matrixes;

View File

@ -1,3 +1,4 @@
#include <QtCore>
#include <QPainter>
#include "common/rectc.h"
#include "common/wgs84.h"
@ -39,13 +40,7 @@ WMTSMap::WMTSMap(const QString &name, const WMTS::Setup &setup, qreal tileRatio,
QObject *parent) : Map(parent), _name(name), _setup(setup), _tileLoader(0),
_zoom(0), _deviceRatio(1.0), _tileRatio(tileRatio), _valid(false)
{
if (!QDir().mkpath(tilesDir())) {
_errorString = "Error creating tiles dir";
return;
}
_tileLoader = new TileLoader(this);
_tileLoader->setDir(tilesDir());
_tileLoader = new TileLoader(tilesDir(), this);
_tileLoader->setAuthorization(_setup.authorization());
connect(_tileLoader, SIGNAL(finished()), this, SIGNAL(loaded()));
@ -58,7 +53,7 @@ void WMTSMap::clearCache()
_zoom = 0;
if (!loadWMTS())
qWarning("%s: %s\n", qPrintable(_name), qPrintable(_errorString));
qWarning("%s: %s", qPrintable(_name), qPrintable(_errorString));
}
QString WMTSMap::tilesDir() const
@ -174,12 +169,13 @@ void WMTSMap::draw(QPainter *painter, const QRectF &rect, Flags flags)
const WMTS::Zoom &z = _zooms.at(_zoom);
QSizeF ts(tileSize(z));
QPoint tl = QPoint((int)floor(rect.left() / ts.width()),
(int)floor(rect.top() / ts.height()));
QPoint br = QPoint((int)ceil(rect.right() / ts.width()),
(int)ceil(rect.bottom() / ts.height()));
QPoint tl = QPoint(qFloor(rect.left() / ts.width()),
qFloor(rect.top() / ts.height()));
QPoint br = QPoint(qCeil(rect.right() / ts.width()),
qCeil(rect.bottom() / ts.height()));
QList<Tile> tiles;
QVector<Tile> tiles;
tiles.reserve((br.x() - tl.x()) * (br.y() - tl.y()));
for (int i = tl.x(); i < br.x(); i++)
for (int j = tl.y(); j < br.y(); j++)
tiles.append(Tile(QPoint(i, j), z.id()));