1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2025-07-04 22:59:29 +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 configuration: Release
platform: Any CPU platform: Any CPU
environment: environment:
@ -34,6 +34,8 @@ build_script:
copy pkg\%NSI% installer copy pkg\%NSI% installer
copy pkg\macros.nsh installer
xcopy pkg\csv installer\csv /i xcopy pkg\csv installer\csv /i
xcopy pkg\maps installer\maps /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. KML, FIT, IGC, NMEA, SLF, LOC and OziExplorer files.
## Features ## Features
* [User-definable online maps](https://github.com/tumic0/GPXSee-maps) (OSM/Google tiles, WMTS, WMS). * User-definable online maps (OpenStreetMap/Google tiles, WMTS, WMS, TMS).
* Offline maps (OziExplorer maps, TrekBuddy maps/atlases, Garmin JNX maps, GeoTIFF images). * 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. * Elevation, speed, heart rate, cadence, power, temperature and gear ratio/shifts graphs.
* Support for multiple tracks in one view. * Support for multiple tracks in one view.
* Support for POI files. * 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) ![GPXSee - Linux](https://a.fsdn.com/con/app/proj/gpxsee/screenshots/linux2.png)
## Build ## 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 ```shell
lrelease gpxsee.pro lrelease gpxsee.pro
qmake gpxsee.pro qmake gpxsee.pro
make make # nmake on windows
``` ```
## Download ## Download
@ -33,5 +38,8 @@ make
## Homepage ## Homepage
http://www.gpxsee.org http://www.gpxsee.org
## Maps
[GPXSee maps repository](https://github.com/tumic0/GPXSee-maps)
## Translations ## 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 TARGET = GPXSee
VERSION = 5.18 VERSION = 6.3
QT += core \ QT += core \
gui \ gui \
network network \
sql
greaterThan(QT_MAJOR_VERSION, 4) { greaterThan(QT_MAJOR_VERSION, 4) {
QT += widgets QT += widgets
QT += printsupport QT += printsupport
@ -18,8 +19,9 @@ HEADERS += src/config.h \
src/common/range.h \ src/common/range.h \
src/common/rectc.h \ src/common/rectc.h \
src/common/wgs84.h \ src/common/wgs84.h \
src/common/str2int.h \ src/common/util.h \
src/common/rtree.h \ src/common/rtree.h \
src/common/kv.h \
src/GUI/app.h \ src/GUI/app.h \
src/GUI/icons.h \ src/GUI/icons.h \
src/GUI/gui.h \ src/GUI/gui.h \
@ -69,7 +71,6 @@ HEADERS += src/config.h \
src/GUI/gearratiographitem.h \ src/GUI/gearratiographitem.h \
src/GUI/oddspinbox.h \ src/GUI/oddspinbox.h \
src/GUI/settings.h \ src/GUI/settings.h \
src/GUI/nicenum.h \
src/GUI/cpuarch.h \ src/GUI/cpuarch.h \
src/GUI/searchpointer.h \ src/GUI/searchpointer.h \
src/GUI/mapview.h \ src/GUI/mapview.h \
@ -137,17 +138,18 @@ HEADERS += src/config.h \
src/map/mercator.h \ src/map/mercator.h \
src/map/jnxmap.h \ src/map/jnxmap.h \
src/map/krovak.h \ src/map/krovak.h \
src/GUI/kv.h \
src/data/locparser.h \ src/data/locparser.h \
src/data/slfparser.h \ src/data/slfparser.h \
src/map/geotiffmap.h \ src/map/geotiffmap.h \
src/map/image.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 \ SOURCES += src/main.cpp \
src/common/coordinates.cpp \ src/common/coordinates.cpp \
src/common/rectc.cpp \ src/common/rectc.cpp \
src/common/range.cpp \ src/common/range.cpp \
src/common/str2int.cpp \ src/common/util.cpp \
src/GUI/app.cpp \ src/GUI/app.cpp \
src/GUI/gui.cpp \ src/GUI/gui.cpp \
src/GUI/axisitem.cpp \ src/GUI/axisitem.cpp \
@ -189,7 +191,6 @@ SOURCES += src/main.cpp \
src/GUI/cadencegraphitem.cpp \ src/GUI/cadencegraphitem.cpp \
src/GUI/powergraphitem.cpp \ src/GUI/powergraphitem.cpp \
src/GUI/gearratiographitem.cpp \ src/GUI/gearratiographitem.cpp \
src/GUI/nicenum.cpp \
src/GUI/mapview.cpp \ src/GUI/mapview.cpp \
src/map/maplist.cpp \ src/map/maplist.cpp \
src/map/onlinemap.cpp \ src/map/onlinemap.cpp \
@ -248,28 +249,36 @@ SOURCES += src/main.cpp \
src/data/slfparser.cpp \ src/data/slfparser.cpp \
src/map/geotiffmap.cpp \ src/map/geotiffmap.cpp \
src/map/image.cpp \ src/map/image.cpp \
src/common/greatcircle.cpp src/common/greatcircle.cpp \
src/map/mbtilesmap.cpp \
src/map/osm.cpp
RESOURCES += gpxsee.qrc RESOURCES += gpxsee.qrc
TRANSLATIONS = lang/gpxsee_cs.ts \ TRANSLATIONS = lang/gpxsee_en.ts \
lang/gpxsee_cs.ts \
lang/gpxsee_sv.ts \ lang/gpxsee_sv.ts \
lang/gpxsee_de.ts \ lang/gpxsee_de.ts \
lang/gpxsee_ru.ts \ lang/gpxsee_ru.ts \
lang/gpxsee_fi.ts \ lang/gpxsee_fi.ts \
lang/gpxsee_fr.ts \ lang/gpxsee_fr.ts \
lang/gpxsee_pl.ts lang/gpxsee_pl.ts \
lang/gpxsee_nb.ts \
lang/gpxsee_da.ts
macx { macx {
ICON = icons/gpxsee.icns ICON = icons/gpxsee.icns
QMAKE_INFO_PLIST = pkg/Info.plist QMAKE_INFO_PLIST = pkg/Info.plist
LOCALE.path = Contents/Resources/translations 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_de.qm \
lang/gpxsee_fi.qm \ lang/gpxsee_fi.qm \
lang/gpxsee_fr.qm \ lang/gpxsee_fr.qm \
lang/gpxsee_ru.qm \ lang/gpxsee_ru.qm \
lang/gpxsee_sv.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.path = Contents/Resources
CSV.files = pkg/csv CSV.files = pkg/csv
MAPS.path = Contents/Resources MAPS.path = Contents/Resources

View File

@ -182,94 +182,99 @@
<context> <context>
<name>ExportDialog</name> <name>ExportDialog</name>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="134"/> <location filename="../src/GUI/exportdialog.cpp" line="135"/>
<source>Export to PDF</source> <source>Export to PDF</source>
<translation>Exportovat do PDF</translation> <translation>Exportovat do PDF</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="25"/> <location filename="../src/GUI/exportdialog.cpp" line="52"/>
<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"/>
<source>Portrait</source> <source>Portrait</source>
<translation>Na výšku</translation> <translation>Na výšku</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="52"/> <location filename="../src/GUI/exportdialog.cpp" line="53"/>
<source>Landscape</source> <source>Landscape</source>
<translation>Na šířku</translation> <translation>Na šířku</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="96"/> <location filename="../src/GUI/exportdialog.cpp" line="97"/>
<source>Page size:</source> <source>Page size:</source>
<translation>Velikost stránky:</translation> <translation>Velikost stránky:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="98"/> <location filename="../src/GUI/exportdialog.cpp" line="99"/>
<source>Orientation:</source> <source>Orientation:</source>
<translation>Orientace:</translation> <translation>Orientace:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="93"/> <location filename="../src/GUI/exportdialog.cpp" line="94"/>
<source>Page Setup</source> <source>Page Setup</source>
<translation>Nastavení stránky</translation> <translation>Nastavení stránky</translation>
</message> </message>
<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> <source>in</source>
<translation>in</translation> <translation>in</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="65"/> <location filename="../src/GUI/exportdialog.cpp" line="66"/>
<source>mm</source> <source>mm</source>
<translation>mm</translation> <translation>mm</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="97"/> <location filename="../src/GUI/exportdialog.cpp" line="98"/>
<source>Resolution:</source> <source>Resolution:</source>
<translation>Rozlišení:</translation> <translation>Rozlišení:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="99"/> <location filename="../src/GUI/exportdialog.cpp" line="100"/>
<source>Margins:</source> <source>Margins:</source>
<translation>Okraje:</translation> <translation>Okraje:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="105"/> <location filename="../src/GUI/exportdialog.cpp" line="106"/>
<source>File:</source> <source>File:</source>
<translation>Soubor:</translation> <translation>Soubor:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="112"/> <location filename="../src/GUI/exportdialog.cpp" line="113"/>
<source>Output file</source> <source>Output file</source>
<translation>Výstupní soubor</translation> <translation>Výstupní soubor</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="119"/> <location filename="../src/GUI/exportdialog.cpp" line="120"/>
<source>Export</source> <source>Export</source>
<translation>Exportovat</translation> <translation>Exportovat</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/> <location filename="../src/GUI/exportdialog.cpp" line="142"/>
<location filename="../src/GUI/exportdialog.cpp" line="151"/> <location filename="../src/GUI/exportdialog.cpp" line="152"/>
<location filename="../src/GUI/exportdialog.cpp" line="156"/> <location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>Error</source> <source>Error</source>
<translation>Chyba</translation> <translation>Chyba</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/> <location filename="../src/GUI/exportdialog.cpp" line="142"/>
<source>No output file selected.</source> <source>No output file selected.</source>
<translation>Nebyl zvolen žádný výstupní soubor.</translation> <translation>Nebyl zvolen žádný výstupní soubor.</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="151"/> <location filename="../src/GUI/exportdialog.cpp" line="152"/>
<source>%1 is a directory.</source> <source>%1 is a directory.</source>
<translation>%1 je adresář.</translation> <translation>%1 je adresář.</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="156"/> <location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>%1 is not writable.</source> <source>%1 is not writable.</source>
<translation>%1 nelze zapsat.</translation> <translation>%1 nelze zapsat.</translation>
</message> </message>
@ -316,393 +321,398 @@
<context> <context>
<name>GUI</name> <name>GUI</name>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="647"/> <location filename="../src/GUI/gui.cpp" line="725"/>
<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"/>
<source>Open file</source> <source>Open file</source>
<translation>Otevřít soubor</translation> <translation>Otevřít soubor</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="826"/> <location filename="../src/GUI/gui.cpp" line="830"/>
<source>Open POI file</source> <source>Open POI file</source>
<translation>Otevřít POI soubor</translation> <translation>Otevřít POI soubor</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="205"/> <location filename="../src/GUI/gui.cpp" line="208"/>
<source>Quit</source> <source>Quit</source>
<translation>Ukončit</translation> <translation>Ukončit</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="215"/> <location filename="../src/GUI/gui.cpp" line="218"/>
<location filename="../src/GUI/gui.cpp" line="664"/> <location filename="../src/GUI/gui.cpp" line="668"/>
<location filename="../src/GUI/gui.cpp" line="665"/> <location filename="../src/GUI/gui.cpp" line="669"/>
<source>Keyboard controls</source> <source>Keyboard controls</source>
<translation>Ovládací klávesy</translation> <translation>Ovládací klávesy</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="241"/> <location filename="../src/GUI/gui.cpp" line="244"/>
<source>Close</source> <source>Close</source>
<translation>Zavřít</translation> <translation>Zavřít</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="247"/> <location filename="../src/GUI/gui.cpp" line="250"/>
<source>Reload</source> <source>Reload</source>
<translation>Znovu načíst</translation> <translation>Znovu načíst</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="573"/> <location filename="../src/GUI/gui.cpp" line="576"/>
<source>Show</source> <source>Show</source>
<translation>Zobrazit</translation> <translation>Zobrazit</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="566"/> <location filename="../src/GUI/gui.cpp" line="569"/>
<source>File</source> <source>File</source>
<translation>Soubor</translation> <translation>Soubor</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="266"/> <location filename="../src/GUI/gui.cpp" line="269"/>
<source>Close POI files</source> <source>Close POI files</source>
<translation>Zavřit POI soubory</translation> <translation>Zavřit POI soubory</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="270"/> <location filename="../src/GUI/gui.cpp" line="273"/>
<source>Overlap POIs</source> <source>Overlap POIs</source>
<translation>Překrývat POI</translation> <translation>Překrývat POI</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="275"/> <location filename="../src/GUI/gui.cpp" line="278"/>
<source>Show POI labels</source> <source>Show POI labels</source>
<translation>Zobrazit názvy POI</translation> <translation>Zobrazit názvy POI</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="280"/> <location filename="../src/GUI/gui.cpp" line="283"/>
<source>Show POIs</source> <source>Show POIs</source>
<translation>Zobrazit POI</translation> <translation>Zobrazit POI</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="290"/> <location filename="../src/GUI/gui.cpp" line="293"/>
<source>Show map</source> <source>Show map</source>
<translation>Zobrazit mapu</translation> <translation>Zobrazit mapu</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="302"/> <location filename="../src/GUI/gui.cpp" line="305"/>
<source>Clear tile cache</source> <source>Clear tile cache</source>
<translation>Vymazat mezipaměť dlaždic</translation> <translation>Vymazat mezipaměť dlaždic</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="223"/> <location filename="../src/GUI/gui.cpp" line="226"/>
<source>Open...</source> <source>Open...</source>
<translation>Otevřít...</translation> <translation>Otevřít...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="212"/> <location filename="../src/GUI/gui.cpp" line="215"/>
<location filename="../src/GUI/gui.cpp" line="698"/> <location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="699"/> <location filename="../src/GUI/gui.cpp" line="703"/>
<source>Paths</source> <source>Paths</source>
<translation>Cesty</translation> <translation>Cesty</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="254"/> <location filename="../src/GUI/gui.cpp" line="257"/>
<source>Statistics...</source> <source>Statistics...</source>
<translation>Statistika...</translation> <translation>Statistika...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="262"/> <location filename="../src/GUI/gui.cpp" line="265"/>
<source>Load POI file...</source> <source>Load POI file...</source>
<translation>Nahrát POI soubor...</translation> <translation>Nahrát POI soubor...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="298"/> <location filename="../src/GUI/gui.cpp" line="301"/>
<source>Load map...</source> <source>Load map...</source>
<translation>Nahrát mapu...</translation> <translation>Nahrát mapu...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="307"/> <location filename="../src/GUI/gui.cpp" line="310"/>
<location filename="../src/GUI/gui.cpp" line="312"/> <location filename="../src/GUI/gui.cpp" line="315"/>
<location filename="../src/GUI/gui.cpp" line="681"/> <location filename="../src/GUI/gui.cpp" line="685"/>
<source>Next map</source> <source>Next map</source>
<translation>Následující mapa</translation> <translation>Následující mapa</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="323"/> <location filename="../src/GUI/gui.cpp" line="326"/>
<source>Show tracks</source> <source>Show tracks</source>
<translation>Zobrazit cesty</translation> <translation>Zobrazit cesty</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="328"/> <location filename="../src/GUI/gui.cpp" line="331"/>
<source>Show routes</source> <source>Show routes</source>
<translation>Zobrazit trasy</translation> <translation>Zobrazit trasy</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="333"/> <location filename="../src/GUI/gui.cpp" line="336"/>
<source>Show waypoints</source> <source>Show waypoints</source>
<translation>Zobrazit navigační body</translation> <translation>Zobrazit navigační body</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="338"/> <location filename="../src/GUI/gui.cpp" line="341"/>
<source>Waypoint labels</source> <source>Waypoint labels</source>
<translation>Názvy navigačních bodů</translation> <translation>Názvy navigačních bodů</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="350"/> <location filename="../src/GUI/gui.cpp" line="353"/>
<source>Show graphs</source> <source>Show graphs</source>
<translation>Zobrazit grafy</translation> <translation>Zobrazit grafy</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="374"/> <location filename="../src/GUI/gui.cpp" line="377"/>
<source>Show grid</source> <source>Show grid</source>
<translation>Zobrazit mřížku</translation> <translation>Zobrazit mřížku</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="379"/> <location filename="../src/GUI/gui.cpp" line="382"/>
<source>Show slider info</source> <source>Show slider info</source>
<translation>Zobrazit informace o posuvníku</translation> <translation>Zobrazit informace o posuvníku</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="386"/> <location filename="../src/GUI/gui.cpp" line="389"/>
<source>Show toolbars</source> <source>Show toolbars</source>
<translation>Zobrazovat nástrojové lišty</translation> <translation>Zobrazovat nástrojové lišty</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="393"/> <location filename="../src/GUI/gui.cpp" line="396"/>
<source>Total time</source> <source>Total time</source>
<translation>Celkový čas</translation> <translation>Celkový čas</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="399"/> <location filename="../src/GUI/gui.cpp" line="402"/>
<location filename="../src/GUI/gui.cpp" line="1018"/> <location filename="../src/GUI/gui.cpp" line="1022"/>
<location filename="../src/GUI/gui.cpp" line="1082"/> <location filename="../src/GUI/gui.cpp" line="1086"/>
<source>Moving time</source> <source>Moving time</source>
<translation>Čistý čas</translation> <translation>Čistý čas</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="407"/> <location filename="../src/GUI/gui.cpp" line="410"/>
<source>Metric</source> <source>Metric</source>
<translation>Metrické</translation> <translation>Metrické</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="413"/> <location filename="../src/GUI/gui.cpp" line="416"/>
<source>Imperial</source> <source>Imperial</source>
<translation>Imperiální</translation> <translation>Imperiální</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="419"/> <location filename="../src/GUI/gui.cpp" line="422"/>
<source>Nautical</source> <source>Nautical</source>
<translation>Námořní</translation> <translation>Námořní</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="427"/> <location filename="../src/GUI/gui.cpp" line="430"/>
<source>Decimal degrees (DD)</source> <source>Decimal degrees (DD)</source>
<translation>Desetinné stupně (DD)</translation> <translation>Desetinné stupně (DD)</translation>
</message> </message>
<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> <source>Degrees and decimal minutes (DMM)</source>
<translation>Stupně a desetinné minuty (DMM)</translation> <translation>Stupně a desetinné minuty (DMM)</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="440"/> <location filename="../src/GUI/gui.cpp" line="443"/>
<source>Degrees, minutes, seconds (DMS)</source> <source>Degrees, minutes, seconds (DMS)</source>
<translation>Stupně, minuty, vteřiny (DMS)</translation> <translation>Stupně, minuty, vteřiny (DMS)</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="446"/> <location filename="../src/GUI/gui.cpp" line="449"/>
<source>Fullscreen mode</source> <source>Fullscreen mode</source>
<translation>Celoobrazovkový režim</translation> <translation>Celoobrazovkový režim</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="453"/> <location filename="../src/GUI/gui.cpp" line="456"/>
<source>Options...</source> <source>Options...</source>
<translation>Nastavení...</translation> <translation>Nastavení...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="459"/> <location filename="../src/GUI/gui.cpp" line="462"/>
<source>Next</source> <source>Next</source>
<translation>Následující</translation> <translation>Následující</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="463"/> <location filename="../src/GUI/gui.cpp" line="466"/>
<source>Previous</source> <source>Previous</source>
<translation>Předchozí</translation> <translation>Předchozí</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="467"/> <location filename="../src/GUI/gui.cpp" line="470"/>
<source>Last</source> <source>Last</source>
<translation>Poslední</translation> <translation>Poslední</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="471"/> <location filename="../src/GUI/gui.cpp" line="474"/>
<source>First</source> <source>First</source>
<translation>První</translation> <translation>První</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="512"/> <location filename="../src/GUI/gui.cpp" line="515"/>
<source>POI files</source> <source>POI files</source>
<translation>POI soubory</translation> <translation>POI soubory</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="524"/> <location filename="../src/GUI/gui.cpp" line="527"/>
<source>Display</source> <source>Display</source>
<translation>Zobrazit</translation> <translation>Zobrazit</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="536"/> <location filename="../src/GUI/gui.cpp" line="539"/>
<source>Units</source> <source>Units</source>
<translation>Jednotky</translation> <translation>Jednotky</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="540"/> <location filename="../src/GUI/gui.cpp" line="543"/>
<source>Coordinates format</source> <source>Coordinates format</source>
<translation>Formát souřadnic</translation> <translation>Formát souřadnic</translation>
</message> </message>
<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> <source>Append file</source>
<translation>Přidat soubor</translation> <translation>Přidat soubor</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="675"/> <location filename="../src/GUI/gui.cpp" line="679"/>
<source>Next/Previous</source> <source>Next/Previous</source>
<translation>Následující/Předchozí</translation> <translation>Následující/Předchozí</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="677"/> <location filename="../src/GUI/gui.cpp" line="681"/>
<source>Toggle graph type</source> <source>Toggle graph type</source>
<translation>Přepnout typ grafu</translation> <translation>Přepnout typ grafu</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="679"/> <location filename="../src/GUI/gui.cpp" line="683"/>
<source>Toggle time type</source> <source>Toggle time type</source>
<translation>Přepnout typ času</translation> <translation>Přepnout typ času</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="683"/> <location filename="../src/GUI/gui.cpp" line="687"/>
<source>Previous map</source> <source>Previous map</source>
<translation>Předchozí mapa</translation> <translation>Předchozí mapa</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="684"/> <location filename="../src/GUI/gui.cpp" line="688"/>
<source>Zoom in</source> <source>Zoom in</source>
<translation>Přiblížit</translation> <translation>Přiblížit</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="686"/> <location filename="../src/GUI/gui.cpp" line="690"/>
<source>Zoom out</source> <source>Zoom out</source>
<translation>Oddálit</translation> <translation>Oddálit</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="688"/> <location filename="../src/GUI/gui.cpp" line="692"/>
<source>Digital zoom</source> <source>Digital zoom</source>
<translation>Digitální zoom</translation> <translation>Digitální zoom</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="689"/> <location filename="../src/GUI/gui.cpp" line="693"/>
<source>Zoom</source> <source>Zoom</source>
<translation>Zoom</translation> <translation>Zoom</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="702"/> <location filename="../src/GUI/gui.cpp" line="706"/>
<source>Global</source> <source>Global</source>
<translation>Globální</translation> <translation>Globální</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="706"/> <location filename="../src/GUI/gui.cpp" line="710"/>
<location filename="../src/GUI/gui.cpp" line="712"/> <location filename="../src/GUI/gui.cpp" line="716"/>
<source>GCS/PCS directory:</source> <source>GCS/PCS directory:</source>
<translation>Adresář s GCS/PCS soubory:</translation> <translation>Adresář s GCS/PCS soubory:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="708"/> <location filename="../src/GUI/gui.cpp" line="712"/>
<source>User-specific</source> <source>User-specific</source>
<translation>Uživatelské</translation> <translation>Uživatelské</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1039"/> <location filename="../src/GUI/gui.cpp" line="1043"/>
<location filename="../src/GUI/gui.cpp" line="1040"/> <location filename="../src/GUI/gui.cpp" line="1044"/>
<source>Statistics</source> <source>Statistics</source>
<translation>Statistika</translation> <translation>Statistika</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1281"/> <location filename="../src/GUI/gui.cpp" line="1285"/>
<source>Open map file</source> <source>Open map file</source>
<translation>Otevřít mapový soubor</translation> <translation>Otevřít mapový soubor</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1322"/> <location filename="../src/GUI/gui.cpp" line="1319"/>
<source>No files loaded</source> <source>No files loaded</source>
<translation>Nejsou načteny žádné soubory</translation> <translation>Nejsou načteny žádné soubory</translation>
</message> </message>
<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="1006"/>
<location filename="../src/GUI/gui.cpp" line="1068"/> <location filename="../src/GUI/gui.cpp" line="1010"/>
<location filename="../src/GUI/gui.cpp" line="1071"/> <location filename="../src/GUI/gui.cpp" line="1072"/>
<location filename="../src/GUI/gui.cpp" line="1075"/>
<source>Date</source> <source>Date</source>
<translation>Datum</translation> <translation>Datum</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="479"/> <location filename="../src/GUI/gui.cpp" line="482"/>
<source>&amp;File</source> <source>&amp;File</source>
<translation>&amp;Soubor</translation> <translation>&amp;Soubor</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="494"/> <location filename="../src/GUI/gui.cpp" line="497"/>
<source>&amp;Map</source> <source>&amp;Map</source>
<translation>&amp;Mapa</translation> <translation>&amp;Mapa</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="502"/> <location filename="../src/GUI/gui.cpp" line="505"/>
<source>&amp;Graph</source> <source>&amp;Graph</source>
<translation>&amp;Graf</translation> <translation>&amp;Graf</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="511"/> <location filename="../src/GUI/gui.cpp" line="514"/>
<source>&amp;POI</source> <source>&amp;POI</source>
<translation>&amp;POI</translation> <translation>&amp;POI</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="523"/> <location filename="../src/GUI/gui.cpp" line="526"/>
<source>&amp;Data</source> <source>&amp;Data</source>
<translation>&amp;Data</translation> <translation>&amp;Data</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="532"/> <location filename="../src/GUI/gui.cpp" line="535"/>
<source>&amp;Settings</source> <source>&amp;Settings</source>
<translation>&amp;Nastavení</translation> <translation>&amp;Nastavení</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="550"/> <location filename="../src/GUI/gui.cpp" line="553"/>
<source>&amp;Help</source> <source>&amp;Help</source>
<translation>N&amp;ápověda</translation> <translation>N&amp;ápověda</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="702"/> <location filename="../src/GUI/gui.cpp" line="706"/>
<location filename="../src/GUI/gui.cpp" line="709"/> <location filename="../src/GUI/gui.cpp" line="713"/>
<source>Map directory:</source> <source>Map directory:</source>
<translation>Adresář s mapami:</translation> <translation>Adresář s mapami:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="704"/> <location filename="../src/GUI/gui.cpp" line="708"/>
<location filename="../src/GUI/gui.cpp" line="710"/> <location filename="../src/GUI/gui.cpp" line="714"/>
<source>POI directory:</source> <source>POI directory:</source>
<translation>Adresář s POI body:</translation> <translation>Adresář s POI body:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="993"/> <location filename="../src/GUI/gui.cpp" line="997"/>
<location filename="../src/GUI/gui.cpp" line="1060"/> <location filename="../src/GUI/gui.cpp" line="1064"/>
<source>Routes</source> <source>Routes</source>
<translation>Trasy</translation> <translation>Trasy</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1311"/> <location filename="../src/GUI/gui.cpp" line="1308"/>
<source>Error loading map:</source> <source>Error loading map:</source>
<translation>Mapu nelze načíst:</translation> <translation>Mapu nelze načíst:</translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1326"/> <location filename="../src/GUI/gui.cpp" line="1323"/>
<source>%n files</source> <source>%n files</source>
<translation> <translation>
<numerusform>%n soubor</numerusform> <numerusform>%n soubor</numerusform>
@ -711,101 +721,96 @@
</translation> </translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="668"/> <location filename="../src/GUI/gui.cpp" line="672"/>
<source>Next file</source> <source>Next file</source>
<translation>Následující soubor</translation> <translation>Následující soubor</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="644"/> <location filename="../src/GUI/gui.cpp" line="231"/>
<source>Version </source>
<translation>Verze </translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="228"/>
<source>Print...</source> <source>Print...</source>
<translation>Tisknout...</translation> <translation>Tisknout...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="235"/> <location filename="../src/GUI/gui.cpp" line="238"/>
<source>Export to PDF...</source> <source>Export to PDF...</source>
<translation>Exportovat do PDF...</translation> <translation>Exportovat do PDF...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="996"/> <location filename="../src/GUI/gui.cpp" line="1000"/>
<location filename="../src/GUI/gui.cpp" line="1062"/> <location filename="../src/GUI/gui.cpp" line="1066"/>
<source>Waypoints</source> <source>Waypoints</source>
<translation>Navigační body</translation> <translation>Navigační body</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="669"/> <location filename="../src/GUI/gui.cpp" line="673"/>
<source>Previous file</source> <source>Previous file</source>
<translation>Předchozí soubor</translation> <translation>Předchozí soubor</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="343"/> <location filename="../src/GUI/gui.cpp" line="346"/>
<source>Route waypoints</source> <source>Route waypoints</source>
<translation>Body tras</translation> <translation>Body tras</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="671"/> <location filename="../src/GUI/gui.cpp" line="675"/>
<source>First file</source> <source>First file</source>
<translation>První soubor</translation> <translation>První soubor</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="673"/> <location filename="../src/GUI/gui.cpp" line="677"/>
<source>Last file</source> <source>Last file</source>
<translation>Poslední soubor</translation> <translation>Poslední soubor</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="815"/> <location filename="../src/GUI/gui.cpp" line="819"/>
<source>Error loading data file:</source> <source>Error loading data file:</source>
<translation>Datový soubor nelze načíst:</translation> <translation>Datový soubor nelze načíst:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="818"/> <location filename="../src/GUI/gui.cpp" line="822"/>
<location filename="../src/GUI/gui.cpp" line="845"/> <location filename="../src/GUI/gui.cpp" line="857"/>
<source>Line: %1</source> <source>Line: %1</source>
<translation>Řádka: %1</translation> <translation>Řádka: %1</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="842"/> <location filename="../src/GUI/gui.cpp" line="854"/>
<source>Error loading POI file:</source> <source>Error loading POI file:</source>
<translation>Soubor POI nelze načíst:</translation> <translation>Soubor POI nelze načíst:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1054"/> <location filename="../src/GUI/gui.cpp" line="1058"/>
<source>Name</source> <source>Name</source>
<translation>Název</translation> <translation>Název</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="990"/> <location filename="../src/GUI/gui.cpp" line="994"/>
<location filename="../src/GUI/gui.cpp" line="1058"/> <location filename="../src/GUI/gui.cpp" line="1062"/>
<source>Tracks</source> <source>Tracks</source>
<translation>Cesty</translation> <translation>Cesty</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="218"/> <location filename="../src/GUI/gui.cpp" line="221"/>
<location filename="../src/GUI/gui.cpp" line="643"/> <location filename="../src/GUI/gui.cpp" line="646"/>
<source>About GPXSee</source> <source>About GPXSee</source>
<translation>O aplikaci GPXSee</translation> <translation>O aplikaci GPXSee</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="579"/> <location filename="../src/GUI/gui.cpp" line="582"/>
<source>Navigation</source> <source>Navigation</source>
<translation>Navigace</translation> <translation>Navigace</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="360"/> <location filename="../src/GUI/gui.cpp" line="363"/>
<location filename="../src/GUI/gui.cpp" line="1013"/> <location filename="../src/GUI/gui.cpp" line="1017"/>
<location filename="../src/GUI/gui.cpp" line="1078"/> <location filename="../src/GUI/gui.cpp" line="1082"/>
<source>Distance</source> <source>Distance</source>
<translation>Vzdálenost</translation> <translation>Vzdálenost</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="367"/> <location filename="../src/GUI/gui.cpp" line="370"/>
<location filename="../src/GUI/gui.cpp" line="533"/> <location filename="../src/GUI/gui.cpp" line="536"/>
<location filename="../src/GUI/gui.cpp" line="1016"/> <location filename="../src/GUI/gui.cpp" line="1020"/>
<location filename="../src/GUI/gui.cpp" line="1080"/> <location filename="../src/GUI/gui.cpp" line="1084"/>
<source>Time</source> <source>Time</source>
<translation>Čas</translation> <translation>Čas</translation>
</message> </message>
@ -958,32 +963,37 @@
<context> <context>
<name>MapList</name> <name>MapList</name>
<message> <message>
<location filename="../src/map/maplist.cpp" line="114"/> <location filename="../src/map/maplist.cpp" line="117"/>
<source>Supported files</source> <source>Supported files</source>
<translation>Podporované soubory</translation> <translation>Podporované soubory</translation>
</message> </message>
<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> <source>Garmin JNX maps</source>
<translation>Garmin JNX mapy</translation> <translation>Garmin JNX mapy</translation>
</message> </message>
<message> <message>
<location filename="../src/map/maplist.cpp" line="116"/> <location filename="../src/map/maplist.cpp" line="121"/>
<source>OziExplorer maps</source> <source>OziExplorer maps</source>
<translation>OziExplorer mapy</translation> <translation>OziExplorer mapy</translation>
</message> </message>
<message> <message>
<location filename="../src/map/maplist.cpp" line="117"/> <location filename="../src/map/maplist.cpp" line="122"/>
<source>TrekBuddy maps/atlases</source> <source>TrekBuddy maps/atlases</source>
<translation>TrekBuddy mapy/atlasy</translation> <translation>TrekBuddy mapy/atlasy</translation>
</message> </message>
<message> <message>
<location filename="../src/map/maplist.cpp" line="118"/> <location filename="../src/map/maplist.cpp" line="123"/>
<source>GeoTIFF images</source> <source>GeoTIFF images</source>
<translation>GeoTIFF obrázky</translation> <translation>GeoTIFF obrázky</translation>
</message> </message>
<message> <message>
<location filename="../src/map/maplist.cpp" line="119"/> <location filename="../src/map/maplist.cpp" line="124"/>
<source>Online map sources</source> <source>Online map sources</source>
<translation>Online mapové zdroje</translation> <translation>Online mapové zdroje</translation>
</message> </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> <context>
<name>ExportDialog</name> <name>ExportDialog</name>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="134"/> <location filename="../src/GUI/exportdialog.cpp" line="135"/>
<source>Export to PDF</source> <source>Export to PDF</source>
<translation>PDF Export</translation> <translation>PDF Export</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="25"/> <location filename="../src/GUI/exportdialog.cpp" line="52"/>
<source>PDF files (*.pdf);;All files (*)</source>
<translation>PDF-Dateien (*.pdf);;Alle Dateien (*)</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="51"/>
<source>Portrait</source> <source>Portrait</source>
<translation>Hochformat</translation> <translation>Hochformat</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="52"/> <location filename="../src/GUI/exportdialog.cpp" line="53"/>
<source>Landscape</source> <source>Landscape</source>
<translation>Querformat</translation> <translation>Querformat</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="96"/> <location filename="../src/GUI/exportdialog.cpp" line="97"/>
<source>Page size:</source> <source>Page size:</source>
<translation>Seitengröße:</translation> <translation>Seitengröße:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="98"/> <location filename="../src/GUI/exportdialog.cpp" line="99"/>
<source>Orientation:</source> <source>Orientation:</source>
<translation>Orientierung:</translation> <translation>Orientierung:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="93"/> <location filename="../src/GUI/exportdialog.cpp" line="94"/>
<source>Page Setup</source> <source>Page Setup</source>
<translation>Seiten Setup</translation> <translation>Seiten Setup</translation>
</message> </message>
<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> <source>in</source>
<translation>in</translation> <translation>in</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="65"/> <location filename="../src/GUI/exportdialog.cpp" line="66"/>
<source>mm</source> <source>mm</source>
<translation>mm</translation> <translation>mm</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="97"/> <location filename="../src/GUI/exportdialog.cpp" line="98"/>
<source>Resolution:</source> <source>Resolution:</source>
<translation>Druckauflösung:</translation> <translation>Druckauflösung:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="99"/> <location filename="../src/GUI/exportdialog.cpp" line="100"/>
<source>Margins:</source> <source>Margins:</source>
<translation>Ränder:</translation> <translation>Ränder:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="105"/> <location filename="../src/GUI/exportdialog.cpp" line="106"/>
<source>File:</source> <source>File:</source>
<translation>Ausgabedatei:</translation> <translation>Ausgabedatei:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="112"/> <location filename="../src/GUI/exportdialog.cpp" line="113"/>
<source>Output file</source> <source>Output file</source>
<translation>Ausgabedatei</translation> <translation>Ausgabedatei</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="119"/> <location filename="../src/GUI/exportdialog.cpp" line="120"/>
<source>Export</source> <source>Export</source>
<translation>Export</translation> <translation>Export</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/> <location filename="../src/GUI/exportdialog.cpp" line="142"/>
<location filename="../src/GUI/exportdialog.cpp" line="151"/> <location filename="../src/GUI/exportdialog.cpp" line="152"/>
<location filename="../src/GUI/exportdialog.cpp" line="156"/> <location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>Error</source> <source>Error</source>
<translation>Fehler</translation> <translation>Fehler</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/> <location filename="../src/GUI/exportdialog.cpp" line="142"/>
<source>No output file selected.</source> <source>No output file selected.</source>
<translation>Keine Ausgabedatei ausgewählt.</translation> <translation>Keine Ausgabedatei ausgewählt.</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="151"/> <location filename="../src/GUI/exportdialog.cpp" line="152"/>
<source>%1 is a directory.</source> <source>%1 is a directory.</source>
<translation>%1 ist ein Verzeichniss.</translation> <translation>%1 ist ein Verzeichniss.</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="156"/> <location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>%1 is not writable.</source> <source>%1 is not writable.</source>
<translation>%1 ist nich schreibbar.</translation> <translation>%1 ist nich schreibbar.</translation>
</message> </message>
@ -316,344 +321,349 @@
<context> <context>
<name>GUI</name> <name>GUI</name>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="647"/> <location filename="../src/GUI/gui.cpp" line="706"/>
<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> <location filename="../src/GUI/gui.cpp" line="713"/>
<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"/>
<source>Map directory:</source> <source>Map directory:</source>
<translation>Kartenverzeichnis:</translation> <translation>Kartenverzeichnis:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="704"/> <location filename="../src/GUI/gui.cpp" line="708"/>
<location filename="../src/GUI/gui.cpp" line="710"/> <location filename="../src/GUI/gui.cpp" line="714"/>
<source>POI directory:</source> <source>POI directory:</source>
<translation>POI-Verzeichnis:</translation> <translation>POI-Verzeichnis:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="721"/> <location filename="../src/GUI/gui.cpp" line="725"/>
<source>Open file</source> <source>Open file</source>
<translation>Datei öffnen</translation> <translation>Datei öffnen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="826"/> <location filename="../src/GUI/gui.cpp" line="830"/>
<source>Open POI file</source> <source>Open POI file</source>
<translation>POI Datei öffnen</translation> <translation>POI Datei öffnen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="205"/> <location filename="../src/GUI/gui.cpp" line="208"/>
<source>Quit</source> <source>Quit</source>
<translation>Beenden</translation> <translation>Beenden</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="215"/> <location filename="../src/GUI/gui.cpp" line="218"/>
<location filename="../src/GUI/gui.cpp" line="664"/> <location filename="../src/GUI/gui.cpp" line="668"/>
<location filename="../src/GUI/gui.cpp" line="665"/> <location filename="../src/GUI/gui.cpp" line="669"/>
<source>Keyboard controls</source> <source>Keyboard controls</source>
<translation>Tastaturkürzel</translation> <translation>Tastaturkürzel</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="241"/> <location filename="../src/GUI/gui.cpp" line="244"/>
<source>Close</source> <source>Close</source>
<translation>Schließen</translation> <translation>Schließen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="247"/> <location filename="../src/GUI/gui.cpp" line="250"/>
<source>Reload</source> <source>Reload</source>
<translation>Neu Laden</translation> <translation>Neu Laden</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="573"/> <location filename="../src/GUI/gui.cpp" line="576"/>
<source>Show</source> <source>Show</source>
<translation>Ansicht</translation> <translation>Ansicht</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="566"/> <location filename="../src/GUI/gui.cpp" line="569"/>
<source>File</source> <source>File</source>
<translation>Datei</translation> <translation>Datei</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="266"/> <location filename="../src/GUI/gui.cpp" line="269"/>
<source>Close POI files</source> <source>Close POI files</source>
<translation>POI-Datei schließen</translation> <translation>POI-Datei schließen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="270"/> <location filename="../src/GUI/gui.cpp" line="273"/>
<source>Overlap POIs</source> <source>Overlap POIs</source>
<translation>POI überlappen</translation> <translation>POI überlappen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="275"/> <location filename="../src/GUI/gui.cpp" line="278"/>
<source>Show POI labels</source> <source>Show POI labels</source>
<translation>POI-Labels anzeigen</translation> <translation>POI-Labels anzeigen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="280"/> <location filename="../src/GUI/gui.cpp" line="283"/>
<source>Show POIs</source> <source>Show POIs</source>
<translation>POIs anzeigen</translation> <translation>POIs anzeigen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="290"/> <location filename="../src/GUI/gui.cpp" line="293"/>
<source>Show map</source> <source>Show map</source>
<translation>Karte anzeigen</translation> <translation>Karte anzeigen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="302"/> <location filename="../src/GUI/gui.cpp" line="305"/>
<source>Clear tile cache</source> <source>Clear tile cache</source>
<translation>Tile-Cache bereinigen</translation> <translation>Tile-Cache bereinigen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="223"/> <location filename="../src/GUI/gui.cpp" line="226"/>
<source>Open...</source> <source>Open...</source>
<translation>Öffnen...</translation> <translation>Öffnen...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="212"/> <location filename="../src/GUI/gui.cpp" line="215"/>
<location filename="../src/GUI/gui.cpp" line="698"/> <location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="699"/> <location filename="../src/GUI/gui.cpp" line="703"/>
<source>Paths</source> <source>Paths</source>
<translation>Pfade</translation> <translation>Pfade</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="254"/> <location filename="../src/GUI/gui.cpp" line="257"/>
<source>Statistics...</source> <source>Statistics...</source>
<translation>Statistiken...</translation> <translation>Statistiken...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="262"/> <location filename="../src/GUI/gui.cpp" line="265"/>
<source>Load POI file...</source> <source>Load POI file...</source>
<translation>POI-Datei laden...</translation> <translation>POI-Datei laden...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="298"/> <location filename="../src/GUI/gui.cpp" line="301"/>
<source>Load map...</source> <source>Load map...</source>
<translation>Karte laden...</translation> <translation>Karte laden...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="307"/> <location filename="../src/GUI/gui.cpp" line="310"/>
<location filename="../src/GUI/gui.cpp" line="312"/> <location filename="../src/GUI/gui.cpp" line="315"/>
<location filename="../src/GUI/gui.cpp" line="681"/> <location filename="../src/GUI/gui.cpp" line="685"/>
<source>Next map</source> <source>Next map</source>
<translation>Nächste Karte</translation> <translation>Nächste Karte</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="323"/> <location filename="../src/GUI/gui.cpp" line="326"/>
<source>Show tracks</source> <source>Show tracks</source>
<translation>Strecken anzeigen</translation> <translation>Strecken anzeigen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="328"/> <location filename="../src/GUI/gui.cpp" line="331"/>
<source>Show routes</source> <source>Show routes</source>
<translation>Routen anzeigen</translation> <translation>Routen anzeigen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="333"/> <location filename="../src/GUI/gui.cpp" line="336"/>
<source>Show waypoints</source> <source>Show waypoints</source>
<translation>Wegpunkte anzeigen</translation> <translation>Wegpunkte anzeigen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="338"/> <location filename="../src/GUI/gui.cpp" line="341"/>
<source>Waypoint labels</source> <source>Waypoint labels</source>
<translation>Wegpunkt Labels</translation> <translation>Wegpunkt Labels</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="350"/> <location filename="../src/GUI/gui.cpp" line="353"/>
<source>Show graphs</source> <source>Show graphs</source>
<translation>Graphen anzeigen</translation> <translation>Graphen anzeigen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="374"/> <location filename="../src/GUI/gui.cpp" line="377"/>
<source>Show grid</source> <source>Show grid</source>
<translation>Gitter anzeigen</translation> <translation>Gitter anzeigen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="379"/> <location filename="../src/GUI/gui.cpp" line="382"/>
<source>Show slider info</source> <source>Show slider info</source>
<translation>Schieberinfo anzeigen</translation> <translation>Schieberinfo anzeigen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="386"/> <location filename="../src/GUI/gui.cpp" line="389"/>
<source>Show toolbars</source> <source>Show toolbars</source>
<translation>Toolbars anzeigen</translation> <translation>Toolbars anzeigen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="393"/> <location filename="../src/GUI/gui.cpp" line="396"/>
<source>Total time</source> <source>Total time</source>
<translation>Gesamtzeit</translation> <translation>Gesamtzeit</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="399"/> <location filename="../src/GUI/gui.cpp" line="402"/>
<location filename="../src/GUI/gui.cpp" line="1018"/> <location filename="../src/GUI/gui.cpp" line="1022"/>
<location filename="../src/GUI/gui.cpp" line="1082"/> <location filename="../src/GUI/gui.cpp" line="1086"/>
<source>Moving time</source> <source>Moving time</source>
<translation>Bewegungszeit</translation> <translation>Bewegungszeit</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="407"/> <location filename="../src/GUI/gui.cpp" line="410"/>
<source>Metric</source> <source>Metric</source>
<translation>Metrisch</translation> <translation>Metrisch</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="413"/> <location filename="../src/GUI/gui.cpp" line="416"/>
<source>Imperial</source> <source>Imperial</source>
<translation>Imperial</translation> <translation>Imperial</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="419"/> <location filename="../src/GUI/gui.cpp" line="422"/>
<source>Nautical</source> <source>Nautical</source>
<translation>Nautisch</translation> <translation>Nautisch</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="427"/> <location filename="../src/GUI/gui.cpp" line="430"/>
<source>Decimal degrees (DD)</source> <source>Decimal degrees (DD)</source>
<translation>Dezimalgrad (DD)</translation> <translation>Dezimalgrad (DD)</translation>
</message> </message>
<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> <source>Degrees and decimal minutes (DMM)</source>
<translation>Grad und Dezimalminuten (DMM)</translation> <translation>Grad und Dezimalminuten (DMM)</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="440"/> <location filename="../src/GUI/gui.cpp" line="443"/>
<source>Degrees, minutes, seconds (DMS)</source> <source>Degrees, minutes, seconds (DMS)</source>
<translation>Grad, Minuten, Sekunden (DMS)</translation> <translation>Grad, Minuten, Sekunden (DMS)</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="446"/> <location filename="../src/GUI/gui.cpp" line="449"/>
<source>Fullscreen mode</source> <source>Fullscreen mode</source>
<translation>Vollbildmodus</translation> <translation>Vollbildmodus</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="453"/> <location filename="../src/GUI/gui.cpp" line="456"/>
<source>Options...</source> <source>Options...</source>
<translation>Einstellungen...</translation> <translation>Einstellungen...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="459"/> <location filename="../src/GUI/gui.cpp" line="462"/>
<source>Next</source> <source>Next</source>
<translation>Nächste</translation> <translation>Nächste</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="463"/> <location filename="../src/GUI/gui.cpp" line="466"/>
<source>Previous</source> <source>Previous</source>
<translation>Vorherige</translation> <translation>Vorherige</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="467"/> <location filename="../src/GUI/gui.cpp" line="470"/>
<source>Last</source> <source>Last</source>
<translation>Letzte</translation> <translation>Letzte</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="471"/> <location filename="../src/GUI/gui.cpp" line="474"/>
<source>First</source> <source>First</source>
<translation>Erste</translation> <translation>Erste</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="512"/> <location filename="../src/GUI/gui.cpp" line="515"/>
<source>POI files</source> <source>POI files</source>
<translation>POI-Dateien</translation> <translation>POI-Dateien</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="524"/> <location filename="../src/GUI/gui.cpp" line="527"/>
<source>Display</source> <source>Display</source>
<translation>Anzeige</translation> <translation>Anzeige</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="536"/> <location filename="../src/GUI/gui.cpp" line="539"/>
<source>Units</source> <source>Units</source>
<translation>Einheiten</translation> <translation>Einheiten</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="540"/> <location filename="../src/GUI/gui.cpp" line="543"/>
<source>Coordinates format</source> <source>Coordinates format</source>
<translation>Koordinatenformate</translation> <translation>Koordinatenformate</translation>
</message> </message>
<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> <source>Append file</source>
<translation>An Datei anhängen</translation> <translation>An Datei anhängen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="675"/> <location filename="../src/GUI/gui.cpp" line="679"/>
<source>Next/Previous</source> <source>Next/Previous</source>
<translation>Nächste/Vorherige</translation> <translation>Nächste/Vorherige</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="677"/> <location filename="../src/GUI/gui.cpp" line="681"/>
<source>Toggle graph type</source> <source>Toggle graph type</source>
<translation>Graphtyp umschalten</translation> <translation>Graphtyp umschalten</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="679"/> <location filename="../src/GUI/gui.cpp" line="683"/>
<source>Toggle time type</source> <source>Toggle time type</source>
<translation>Zeittyp umschalten</translation> <translation>Zeittyp umschalten</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="683"/> <location filename="../src/GUI/gui.cpp" line="687"/>
<source>Previous map</source> <source>Previous map</source>
<translation>Vorherige Karte</translation> <translation>Vorherige Karte</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="684"/> <location filename="../src/GUI/gui.cpp" line="688"/>
<source>Zoom in</source> <source>Zoom in</source>
<translation>Hineinzoomen</translation> <translation>Hineinzoomen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="686"/> <location filename="../src/GUI/gui.cpp" line="690"/>
<source>Zoom out</source> <source>Zoom out</source>
<translation>Herauszoomen</translation> <translation>Herauszoomen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="688"/> <location filename="../src/GUI/gui.cpp" line="692"/>
<source>Digital zoom</source> <source>Digital zoom</source>
<translation>Digitaler Zoom</translation> <translation>Digitaler Zoom</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="689"/> <location filename="../src/GUI/gui.cpp" line="693"/>
<source>Zoom</source> <source>Zoom</source>
<translation>Zoom</translation> <translation>Zoom</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="702"/> <location filename="../src/GUI/gui.cpp" line="706"/>
<source>Global</source> <source>Global</source>
<translation>Global</translation> <translation>Global</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="706"/> <location filename="../src/GUI/gui.cpp" line="710"/>
<location filename="../src/GUI/gui.cpp" line="712"/> <location filename="../src/GUI/gui.cpp" line="716"/>
<source>GCS/PCS directory:</source> <source>GCS/PCS directory:</source>
<translation>GCS/PCS-Verzeichnis:</translation> <translation>GCS/PCS-Verzeichnis:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="708"/> <location filename="../src/GUI/gui.cpp" line="712"/>
<source>User-specific</source> <source>User-specific</source>
<translation>Benutzerspezifisch</translation> <translation>Benutzerspezifisch</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1039"/> <location filename="../src/GUI/gui.cpp" line="1043"/>
<location filename="../src/GUI/gui.cpp" line="1040"/> <location filename="../src/GUI/gui.cpp" line="1044"/>
<source>Statistics</source> <source>Statistics</source>
<translation>Statistiken</translation> <translation>Statistiken</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1281"/> <location filename="../src/GUI/gui.cpp" line="1285"/>
<source>Open map file</source> <source>Open map file</source>
<translation>Karte Datei öffnen</translation> <translation>Karte Datei öffnen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1311"/> <location filename="../src/GUI/gui.cpp" line="1308"/>
<source>Error loading map:</source> <source>Error loading map:</source>
<translation>Fehler beim Laden der Karte-Datei:</translation> <translation>Fehler beim Laden der Karte-Datei:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1322"/> <location filename="../src/GUI/gui.cpp" line="1319"/>
<source>No files loaded</source> <source>No files loaded</source>
<translation>Keine Dateien geladen</translation> <translation>Keine Dateien geladen</translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1326"/> <location filename="../src/GUI/gui.cpp" line="1323"/>
<source>%n files</source> <source>%n files</source>
<translation> <translation>
<numerusform>%n Datei</numerusform> <numerusform>%n Datei</numerusform>
@ -661,150 +671,145 @@
</translation> </translation>
</message> </message>
<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="1006"/>
<location filename="../src/GUI/gui.cpp" line="1068"/> <location filename="../src/GUI/gui.cpp" line="1010"/>
<location filename="../src/GUI/gui.cpp" line="1071"/> <location filename="../src/GUI/gui.cpp" line="1072"/>
<location filename="../src/GUI/gui.cpp" line="1075"/>
<source>Date</source> <source>Date</source>
<translation>Datum</translation> <translation>Datum</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="993"/> <location filename="../src/GUI/gui.cpp" line="997"/>
<location filename="../src/GUI/gui.cpp" line="1060"/> <location filename="../src/GUI/gui.cpp" line="1064"/>
<source>Routes</source> <source>Routes</source>
<translation>Routen</translation> <translation>Routen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="668"/> <location filename="../src/GUI/gui.cpp" line="672"/>
<source>Next file</source> <source>Next file</source>
<translation>Nächste Datei</translation> <translation>Nächste Datei</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="644"/> <location filename="../src/GUI/gui.cpp" line="231"/>
<source>Version </source>
<translation>Version </translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="228"/>
<source>Print...</source> <source>Print...</source>
<translation>Drucken...</translation> <translation>Drucken...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="235"/> <location filename="../src/GUI/gui.cpp" line="238"/>
<source>Export to PDF...</source> <source>Export to PDF...</source>
<translation>Als PDF exportieren...</translation> <translation>Als PDF exportieren...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="996"/> <location filename="../src/GUI/gui.cpp" line="1000"/>
<location filename="../src/GUI/gui.cpp" line="1062"/> <location filename="../src/GUI/gui.cpp" line="1066"/>
<source>Waypoints</source> <source>Waypoints</source>
<translation>Wegpunkte</translation> <translation>Wegpunkte</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="669"/> <location filename="../src/GUI/gui.cpp" line="673"/>
<source>Previous file</source> <source>Previous file</source>
<translation>Vorherige Datei</translation> <translation>Vorherige Datei</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="343"/> <location filename="../src/GUI/gui.cpp" line="346"/>
<source>Route waypoints</source> <source>Route waypoints</source>
<translation>Routen Wegpunkte</translation> <translation>Routen Wegpunkte</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="479"/> <location filename="../src/GUI/gui.cpp" line="482"/>
<source>&amp;File</source> <source>&amp;File</source>
<translation>&amp;Datei</translation> <translation>&amp;Datei</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="494"/> <location filename="../src/GUI/gui.cpp" line="497"/>
<source>&amp;Map</source> <source>&amp;Map</source>
<translation>&amp;Karte</translation> <translation>&amp;Karte</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="502"/> <location filename="../src/GUI/gui.cpp" line="505"/>
<source>&amp;Graph</source> <source>&amp;Graph</source>
<translation>&amp;Graph</translation> <translation>&amp;Graph</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="511"/> <location filename="../src/GUI/gui.cpp" line="514"/>
<source>&amp;POI</source> <source>&amp;POI</source>
<translation>&amp;POI</translation> <translation>&amp;POI</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="523"/> <location filename="../src/GUI/gui.cpp" line="526"/>
<source>&amp;Data</source> <source>&amp;Data</source>
<translation>D&amp;ata</translation> <translation>D&amp;ata</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="532"/> <location filename="../src/GUI/gui.cpp" line="535"/>
<source>&amp;Settings</source> <source>&amp;Settings</source>
<translation>&amp;Einstellungen</translation> <translation>&amp;Einstellungen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="550"/> <location filename="../src/GUI/gui.cpp" line="553"/>
<source>&amp;Help</source> <source>&amp;Help</source>
<translation>&amp;Hilfe</translation> <translation>&amp;Hilfe</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="671"/> <location filename="../src/GUI/gui.cpp" line="675"/>
<source>First file</source> <source>First file</source>
<translation>Erste Datei</translation> <translation>Erste Datei</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="673"/> <location filename="../src/GUI/gui.cpp" line="677"/>
<source>Last file</source> <source>Last file</source>
<translation>Letzte Datei</translation> <translation>Letzte Datei</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="815"/> <location filename="../src/GUI/gui.cpp" line="819"/>
<source>Error loading data file:</source> <source>Error loading data file:</source>
<translation>Fehler beim Laden der Datei:</translation> <translation>Fehler beim Laden der Datei:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="818"/> <location filename="../src/GUI/gui.cpp" line="822"/>
<location filename="../src/GUI/gui.cpp" line="845"/> <location filename="../src/GUI/gui.cpp" line="857"/>
<source>Line: %1</source> <source>Line: %1</source>
<translation>Linie: %1</translation> <translation>Linie: %1</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="842"/> <location filename="../src/GUI/gui.cpp" line="854"/>
<source>Error loading POI file:</source> <source>Error loading POI file:</source>
<translation>Fehler beim Laden der POI-Datei:</translation> <translation>Fehler beim Laden der POI-Datei:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1054"/> <location filename="../src/GUI/gui.cpp" line="1058"/>
<source>Name</source> <source>Name</source>
<translation>Name</translation> <translation>Name</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="990"/> <location filename="../src/GUI/gui.cpp" line="994"/>
<location filename="../src/GUI/gui.cpp" line="1058"/> <location filename="../src/GUI/gui.cpp" line="1062"/>
<source>Tracks</source> <source>Tracks</source>
<translation>Strecken</translation> <translation>Strecken</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="218"/> <location filename="../src/GUI/gui.cpp" line="221"/>
<location filename="../src/GUI/gui.cpp" line="643"/> <location filename="../src/GUI/gui.cpp" line="646"/>
<source>About GPXSee</source> <source>About GPXSee</source>
<translation>Über GPXSee</translation> <translation>Über GPXSee</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="579"/> <location filename="../src/GUI/gui.cpp" line="582"/>
<source>Navigation</source> <source>Navigation</source>
<translation>Navigation</translation> <translation>Navigation</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="360"/> <location filename="../src/GUI/gui.cpp" line="363"/>
<location filename="../src/GUI/gui.cpp" line="1013"/> <location filename="../src/GUI/gui.cpp" line="1017"/>
<location filename="../src/GUI/gui.cpp" line="1078"/> <location filename="../src/GUI/gui.cpp" line="1082"/>
<source>Distance</source> <source>Distance</source>
<translation>Distanz</translation> <translation>Distanz</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="367"/> <location filename="../src/GUI/gui.cpp" line="370"/>
<location filename="../src/GUI/gui.cpp" line="533"/> <location filename="../src/GUI/gui.cpp" line="536"/>
<location filename="../src/GUI/gui.cpp" line="1016"/> <location filename="../src/GUI/gui.cpp" line="1020"/>
<location filename="../src/GUI/gui.cpp" line="1080"/> <location filename="../src/GUI/gui.cpp" line="1084"/>
<source>Time</source> <source>Time</source>
<translation>Zeit</translation> <translation>Zeit</translation>
</message> </message>
@ -957,32 +962,37 @@
<context> <context>
<name>MapList</name> <name>MapList</name>
<message> <message>
<location filename="../src/map/maplist.cpp" line="114"/> <location filename="../src/map/maplist.cpp" line="117"/>
<source>Supported files</source> <source>Supported files</source>
<translation>Unterstütze Dateien</translation> <translation>Unterstütze Dateien</translation>
</message> </message>
<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> <source>Garmin JNX maps</source>
<translation>Garmin JNX Karten</translation> <translation>Garmin JNX Karten</translation>
</message> </message>
<message> <message>
<location filename="../src/map/maplist.cpp" line="116"/> <location filename="../src/map/maplist.cpp" line="121"/>
<source>OziExplorer maps</source> <source>OziExplorer maps</source>
<translation>OziExplorer Karten</translation> <translation>OziExplorer Karten</translation>
</message> </message>
<message> <message>
<location filename="../src/map/maplist.cpp" line="117"/> <location filename="../src/map/maplist.cpp" line="122"/>
<source>TrekBuddy maps/atlases</source> <source>TrekBuddy maps/atlases</source>
<translation>TrekBuddy Karten/Atlanten</translation> <translation>TrekBuddy Karten/Atlanten</translation>
</message> </message>
<message> <message>
<location filename="../src/map/maplist.cpp" line="118"/> <location filename="../src/map/maplist.cpp" line="123"/>
<source>GeoTIFF images</source> <source>GeoTIFF images</source>
<translation>GeoTIFF Bilder</translation> <translation>GeoTIFF Bilder</translation>
</message> </message>
<message> <message>
<location filename="../src/map/maplist.cpp" line="119"/> <location filename="../src/map/maplist.cpp" line="124"/>
<source>Online map sources</source> <source>Online map sources</source>
<translation>Online-Kartenquellen</translation> <translation>Online-Kartenquellen</translation>
</message> </message>
@ -1084,22 +1094,22 @@
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="45"/> <location filename="../src/GUI/optionsdialog.cpp" line="45"/>
<source>High-resolution</source> <source>High-resolution</source>
<translation type="unfinished"></translation> <translation>Hohe Auflösung</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="46"/> <location filename="../src/GUI/optionsdialog.cpp" line="46"/>
<source>Standard</source> <source>Standard</source>
<translation type="unfinished"></translation> <translation>Standardmäßig</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="51"/> <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> <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>
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="53"/> <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> <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>
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="86"/> <location filename="../src/GUI/optionsdialog.cpp" line="86"/>
@ -1109,7 +1119,7 @@
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="88"/> <location filename="../src/GUI/optionsdialog.cpp" line="88"/>
<source>HiDPI display mode</source> <source>HiDPI display mode</source>
<translation type="unfinished"></translation> <translation>HiDPI-Anzeigemodus</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="122"/> <location filename="../src/GUI/optionsdialog.cpp" line="122"/>
@ -1411,7 +1421,7 @@
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="532"/> <location filename="../src/GUI/optionsdialog.cpp" line="532"/>
<source>Maps</source> <source>Maps</source>
<translation type="unfinished"></translation> <translation>Karten</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="533"/> <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> <context>
<name>ExportDialog</name> <name>ExportDialog</name>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="134"/> <location filename="../src/GUI/exportdialog.cpp" line="135"/>
<source>Export to PDF</source> <source>Export to PDF</source>
<translation>Vie PDF:ksi</translation> <translation>Vie PDF:ksi</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="25"/> <location filename="../src/GUI/exportdialog.cpp" line="52"/>
<source>PDF files (*.pdf);;All files (*)</source>
<translation>PDF-tiedostot (*.pdf);;Kaikki tiedostot (*)</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="51"/>
<source>Portrait</source> <source>Portrait</source>
<translation>Pystysuunta</translation> <translation>Pystysuunta</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="52"/> <location filename="../src/GUI/exportdialog.cpp" line="53"/>
<source>Landscape</source> <source>Landscape</source>
<translation>Vaakasuunta</translation> <translation>Vaakasuunta</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="96"/> <location filename="../src/GUI/exportdialog.cpp" line="97"/>
<source>Page size:</source> <source>Page size:</source>
<translation>Sivukoko:</translation> <translation>Sivukoko:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="98"/> <location filename="../src/GUI/exportdialog.cpp" line="99"/>
<source>Orientation:</source> <source>Orientation:</source>
<translation>Suunta:</translation> <translation>Suunta:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="93"/> <location filename="../src/GUI/exportdialog.cpp" line="94"/>
<source>Page Setup</source> <source>Page Setup</source>
<translation>Sivuasetukset</translation> <translation>Sivuasetukset</translation>
</message> </message>
<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> <source>in</source>
<translation>in</translation> <translation>in</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="65"/> <location filename="../src/GUI/exportdialog.cpp" line="66"/>
<source>mm</source> <source>mm</source>
<translation>mm</translation> <translation>mm</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="97"/> <location filename="../src/GUI/exportdialog.cpp" line="98"/>
<source>Resolution:</source> <source>Resolution:</source>
<translation>Resoluutio:</translation> <translation>Resoluutio:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="99"/> <location filename="../src/GUI/exportdialog.cpp" line="100"/>
<source>Margins:</source> <source>Margins:</source>
<translation>Reunukset:</translation> <translation>Reunukset:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="105"/> <location filename="../src/GUI/exportdialog.cpp" line="106"/>
<source>File:</source> <source>File:</source>
<translation>Tiedosto:</translation> <translation>Tiedosto:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="112"/> <location filename="../src/GUI/exportdialog.cpp" line="113"/>
<source>Output file</source> <source>Output file</source>
<translation>Tulostustiedosto</translation> <translation>Tulostustiedosto</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="119"/> <location filename="../src/GUI/exportdialog.cpp" line="120"/>
<source>Export</source> <source>Export</source>
<translation>Vie</translation> <translation>Vie</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/> <location filename="../src/GUI/exportdialog.cpp" line="142"/>
<location filename="../src/GUI/exportdialog.cpp" line="151"/> <location filename="../src/GUI/exportdialog.cpp" line="152"/>
<location filename="../src/GUI/exportdialog.cpp" line="156"/> <location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>Error</source> <source>Error</source>
<translation>Virhe</translation> <translation>Virhe</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/> <location filename="../src/GUI/exportdialog.cpp" line="142"/>
<source>No output file selected.</source> <source>No output file selected.</source>
<translation>Ei tulostustiedostoa valittu.</translation> <translation>Ei tulostustiedostoa valittu.</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="151"/> <location filename="../src/GUI/exportdialog.cpp" line="152"/>
<source>%1 is a directory.</source> <source>%1 is a directory.</source>
<translation>%1 on hakemisto.</translation> <translation>%1 on hakemisto.</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="156"/> <location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>%1 is not writable.</source> <source>%1 is not writable.</source>
<translation>%1 ei voi kirjoittaa.</translation> <translation>%1 ei voi kirjoittaa.</translation>
</message> </message>
@ -316,393 +321,398 @@
<context> <context>
<name>GUI</name> <name>GUI</name>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="647"/> <location filename="../src/GUI/gui.cpp" line="725"/>
<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"/>
<source>Open file</source> <source>Open file</source>
<translation>Avaa tiedosto</translation> <translation>Avaa tiedosto</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="826"/> <location filename="../src/GUI/gui.cpp" line="830"/>
<source>Open POI file</source> <source>Open POI file</source>
<translation>Avaa POI-tiedosto</translation> <translation>Avaa POI-tiedosto</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="205"/> <location filename="../src/GUI/gui.cpp" line="208"/>
<source>Quit</source> <source>Quit</source>
<translation>Lopeta</translation> <translation>Lopeta</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="215"/> <location filename="../src/GUI/gui.cpp" line="218"/>
<location filename="../src/GUI/gui.cpp" line="664"/> <location filename="../src/GUI/gui.cpp" line="668"/>
<location filename="../src/GUI/gui.cpp" line="665"/> <location filename="../src/GUI/gui.cpp" line="669"/>
<source>Keyboard controls</source> <source>Keyboard controls</source>
<translation>Näppäimistön säätimet</translation> <translation>Näppäimistön säätimet</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="241"/> <location filename="../src/GUI/gui.cpp" line="244"/>
<source>Close</source> <source>Close</source>
<translation>Sulje</translation> <translation>Sulje</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="247"/> <location filename="../src/GUI/gui.cpp" line="250"/>
<source>Reload</source> <source>Reload</source>
<translation>Lataa uudelleen</translation> <translation>Lataa uudelleen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="573"/> <location filename="../src/GUI/gui.cpp" line="576"/>
<source>Show</source> <source>Show</source>
<translation>Näytä</translation> <translation>Näytä</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="566"/> <location filename="../src/GUI/gui.cpp" line="569"/>
<source>File</source> <source>File</source>
<translation>Tiedosto</translation> <translation>Tiedosto</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="266"/> <location filename="../src/GUI/gui.cpp" line="269"/>
<source>Close POI files</source> <source>Close POI files</source>
<translation>Sulje POI-tiedostot</translation> <translation>Sulje POI-tiedostot</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="270"/> <location filename="../src/GUI/gui.cpp" line="273"/>
<source>Overlap POIs</source> <source>Overlap POIs</source>
<translation>Aseta POI:t limittäin</translation> <translation>Aseta POI:t limittäin</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="275"/> <location filename="../src/GUI/gui.cpp" line="278"/>
<source>Show POI labels</source> <source>Show POI labels</source>
<translation>Näytä POI:n nimiöt</translation> <translation>Näytä POI:n nimiöt</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="280"/> <location filename="../src/GUI/gui.cpp" line="283"/>
<source>Show POIs</source> <source>Show POIs</source>
<translation>Näytä POI:t</translation> <translation>Näytä POI:t</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="290"/> <location filename="../src/GUI/gui.cpp" line="293"/>
<source>Show map</source> <source>Show map</source>
<translation>Näytä kartta</translation> <translation>Näytä kartta</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="302"/> <location filename="../src/GUI/gui.cpp" line="305"/>
<source>Clear tile cache</source> <source>Clear tile cache</source>
<translation>Tyhjennä välimuisti</translation> <translation>Tyhjennä välimuisti</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="223"/> <location filename="../src/GUI/gui.cpp" line="226"/>
<source>Open...</source> <source>Open...</source>
<translation>Avaa...</translation> <translation>Avaa...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="212"/> <location filename="../src/GUI/gui.cpp" line="215"/>
<location filename="../src/GUI/gui.cpp" line="698"/> <location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="699"/> <location filename="../src/GUI/gui.cpp" line="703"/>
<source>Paths</source> <source>Paths</source>
<translation>Tiedostopolut</translation> <translation>Tiedostopolut</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="254"/> <location filename="../src/GUI/gui.cpp" line="257"/>
<source>Statistics...</source> <source>Statistics...</source>
<translation>Tilasto...</translation> <translation>Tilasto...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="262"/> <location filename="../src/GUI/gui.cpp" line="265"/>
<source>Load POI file...</source> <source>Load POI file...</source>
<translation>Lataa POI-tiedosto...</translation> <translation>Lataa POI-tiedosto...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="298"/> <location filename="../src/GUI/gui.cpp" line="301"/>
<source>Load map...</source> <source>Load map...</source>
<translation>Lataa kartta...</translation> <translation>Lataa kartta...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="307"/> <location filename="../src/GUI/gui.cpp" line="310"/>
<location filename="../src/GUI/gui.cpp" line="312"/> <location filename="../src/GUI/gui.cpp" line="315"/>
<location filename="../src/GUI/gui.cpp" line="681"/> <location filename="../src/GUI/gui.cpp" line="685"/>
<source>Next map</source> <source>Next map</source>
<translation>Seuraava kartta</translation> <translation>Seuraava kartta</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="323"/> <location filename="../src/GUI/gui.cpp" line="326"/>
<source>Show tracks</source> <source>Show tracks</source>
<translation>Näytä jäljet</translation> <translation>Näytä jäljet</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="328"/> <location filename="../src/GUI/gui.cpp" line="331"/>
<source>Show routes</source> <source>Show routes</source>
<translation>Näytä reitit</translation> <translation>Näytä reitit</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="333"/> <location filename="../src/GUI/gui.cpp" line="336"/>
<source>Show waypoints</source> <source>Show waypoints</source>
<translation>Näytä reittipisteet</translation> <translation>Näytä reittipisteet</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="338"/> <location filename="../src/GUI/gui.cpp" line="341"/>
<source>Waypoint labels</source> <source>Waypoint labels</source>
<translation>Reittipisteen nimiöt</translation> <translation>Reittipisteen nimiöt</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="350"/> <location filename="../src/GUI/gui.cpp" line="353"/>
<source>Show graphs</source> <source>Show graphs</source>
<translation>Näytä kaaviokuvat</translation> <translation>Näytä kaaviokuvat</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="374"/> <location filename="../src/GUI/gui.cpp" line="377"/>
<source>Show grid</source> <source>Show grid</source>
<translation>Näytä ruudukko</translation> <translation>Näytä ruudukko</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="379"/> <location filename="../src/GUI/gui.cpp" line="382"/>
<source>Show slider info</source> <source>Show slider info</source>
<translation>Näytä liukusäätimen arvo</translation> <translation>Näytä liukusäätimen arvo</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="386"/> <location filename="../src/GUI/gui.cpp" line="389"/>
<source>Show toolbars</source> <source>Show toolbars</source>
<translation>Näytä työkalupalkit</translation> <translation>Näytä työkalupalkit</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="393"/> <location filename="../src/GUI/gui.cpp" line="396"/>
<source>Total time</source> <source>Total time</source>
<translation>Kokonaisaika</translation> <translation>Kokonaisaika</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="399"/> <location filename="../src/GUI/gui.cpp" line="402"/>
<location filename="../src/GUI/gui.cpp" line="1018"/> <location filename="../src/GUI/gui.cpp" line="1022"/>
<location filename="../src/GUI/gui.cpp" line="1082"/> <location filename="../src/GUI/gui.cpp" line="1086"/>
<source>Moving time</source> <source>Moving time</source>
<translation>Liikkumisaika</translation> <translation>Liikkumisaika</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="407"/> <location filename="../src/GUI/gui.cpp" line="410"/>
<source>Metric</source> <source>Metric</source>
<translation>Metriset</translation> <translation>Metriset</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="413"/> <location filename="../src/GUI/gui.cpp" line="416"/>
<source>Imperial</source> <source>Imperial</source>
<translation>Brittiläiset</translation> <translation>Brittiläiset</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="419"/> <location filename="../src/GUI/gui.cpp" line="422"/>
<source>Nautical</source> <source>Nautical</source>
<translation>Merelliset</translation> <translation>Merelliset</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="427"/> <location filename="../src/GUI/gui.cpp" line="430"/>
<source>Decimal degrees (DD)</source> <source>Decimal degrees (DD)</source>
<translation>Desimaaliasteet (DD)</translation> <translation>Desimaaliasteet (DD)</translation>
</message> </message>
<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> <source>Degrees and decimal minutes (DMM)</source>
<translation>Asteet, desimaaliminuutit (DMM)</translation> <translation>Asteet, desimaaliminuutit (DMM)</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="440"/> <location filename="../src/GUI/gui.cpp" line="443"/>
<source>Degrees, minutes, seconds (DMS)</source> <source>Degrees, minutes, seconds (DMS)</source>
<translation>Asteet, minuutit, sekunnit (DMS)</translation> <translation>Asteet, minuutit, sekunnit (DMS)</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="446"/> <location filename="../src/GUI/gui.cpp" line="449"/>
<source>Fullscreen mode</source> <source>Fullscreen mode</source>
<translation>Kokoruututila</translation> <translation>Kokoruututila</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="453"/> <location filename="../src/GUI/gui.cpp" line="456"/>
<source>Options...</source> <source>Options...</source>
<translation>Valinnat...</translation> <translation>Valinnat...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="459"/> <location filename="../src/GUI/gui.cpp" line="462"/>
<source>Next</source> <source>Next</source>
<translation>Seuraava</translation> <translation>Seuraava</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="463"/> <location filename="../src/GUI/gui.cpp" line="466"/>
<source>Previous</source> <source>Previous</source>
<translation>Edellinen</translation> <translation>Edellinen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="467"/> <location filename="../src/GUI/gui.cpp" line="470"/>
<source>Last</source> <source>Last</source>
<translation>Viimeinen</translation> <translation>Viimeinen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="471"/> <location filename="../src/GUI/gui.cpp" line="474"/>
<source>First</source> <source>First</source>
<translation>Ensimmäinen</translation> <translation>Ensimmäinen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="512"/> <location filename="../src/GUI/gui.cpp" line="515"/>
<source>POI files</source> <source>POI files</source>
<translation>POI-tiedostot</translation> <translation>POI-tiedostot</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="524"/> <location filename="../src/GUI/gui.cpp" line="527"/>
<source>Display</source> <source>Display</source>
<translation>Näytä</translation> <translation>Näytä</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="536"/> <location filename="../src/GUI/gui.cpp" line="539"/>
<source>Units</source> <source>Units</source>
<translation>Yksiköt</translation> <translation>Yksiköt</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="540"/> <location filename="../src/GUI/gui.cpp" line="543"/>
<source>Coordinates format</source> <source>Coordinates format</source>
<translation>Koordinaattien muoto</translation> <translation>Koordinaattien muoto</translation>
</message> </message>
<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> <source>Append file</source>
<translation>Lisää tiedosto</translation> <translation>Lisää tiedosto</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="675"/> <location filename="../src/GUI/gui.cpp" line="679"/>
<source>Next/Previous</source> <source>Next/Previous</source>
<translation>Seuraava/edellinen</translation> <translation>Seuraava/edellinen</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="677"/> <location filename="../src/GUI/gui.cpp" line="681"/>
<source>Toggle graph type</source> <source>Toggle graph type</source>
<translation>Vaihda kaaviokuvan tyyppi</translation> <translation>Vaihda kaaviokuvan tyyppi</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="679"/> <location filename="../src/GUI/gui.cpp" line="683"/>
<source>Toggle time type</source> <source>Toggle time type</source>
<translation>Vaihda ajan tyyppi</translation> <translation>Vaihda ajan tyyppi</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="683"/> <location filename="../src/GUI/gui.cpp" line="687"/>
<source>Previous map</source> <source>Previous map</source>
<translation>Edellinen kartta</translation> <translation>Edellinen kartta</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="684"/> <location filename="../src/GUI/gui.cpp" line="688"/>
<source>Zoom in</source> <source>Zoom in</source>
<translation>Lähennä</translation> <translation>Lähennä</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="686"/> <location filename="../src/GUI/gui.cpp" line="690"/>
<source>Zoom out</source> <source>Zoom out</source>
<translation>Loitonna</translation> <translation>Loitonna</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="688"/> <location filename="../src/GUI/gui.cpp" line="692"/>
<source>Digital zoom</source> <source>Digital zoom</source>
<translation>Digitalinen zoomi</translation> <translation>Digitalinen zoomi</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="689"/> <location filename="../src/GUI/gui.cpp" line="693"/>
<source>Zoom</source> <source>Zoom</source>
<translation>Zoom</translation> <translation>Zoom</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="702"/> <location filename="../src/GUI/gui.cpp" line="706"/>
<source>Global</source> <source>Global</source>
<translation>Globaaliset</translation> <translation>Globaaliset</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="706"/> <location filename="../src/GUI/gui.cpp" line="710"/>
<location filename="../src/GUI/gui.cpp" line="712"/> <location filename="../src/GUI/gui.cpp" line="716"/>
<source>GCS/PCS directory:</source> <source>GCS/PCS directory:</source>
<translation>GCS/PCS:n hakemisto:</translation> <translation>GCS/PCS:n hakemisto:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="708"/> <location filename="../src/GUI/gui.cpp" line="712"/>
<source>User-specific</source> <source>User-specific</source>
<translation>Käyttäjäkohtaiset</translation> <translation>Käyttäjäkohtaiset</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1039"/> <location filename="../src/GUI/gui.cpp" line="1043"/>
<location filename="../src/GUI/gui.cpp" line="1040"/> <location filename="../src/GUI/gui.cpp" line="1044"/>
<source>Statistics</source> <source>Statistics</source>
<translation>Tilasto</translation> <translation>Tilasto</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1281"/> <location filename="../src/GUI/gui.cpp" line="1285"/>
<source>Open map file</source> <source>Open map file</source>
<translation>Avaa karttatiedosto</translation> <translation>Avaa karttatiedosto</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1322"/> <location filename="../src/GUI/gui.cpp" line="1319"/>
<source>No files loaded</source> <source>No files loaded</source>
<translation>Yhtään tiedostoja ei ladattu</translation> <translation>Yhtään tiedostoja ei ladattu</translation>
</message> </message>
<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="1006"/>
<location filename="../src/GUI/gui.cpp" line="1068"/> <location filename="../src/GUI/gui.cpp" line="1010"/>
<location filename="../src/GUI/gui.cpp" line="1071"/> <location filename="../src/GUI/gui.cpp" line="1072"/>
<location filename="../src/GUI/gui.cpp" line="1075"/>
<source>Date</source> <source>Date</source>
<translation>Päivämäärä</translation> <translation>Päivämäärä</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="479"/> <location filename="../src/GUI/gui.cpp" line="482"/>
<source>&amp;File</source> <source>&amp;File</source>
<translation>&amp;Tiedosto</translation> <translation>&amp;Tiedosto</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="494"/> <location filename="../src/GUI/gui.cpp" line="497"/>
<source>&amp;Map</source> <source>&amp;Map</source>
<translation>&amp;Kartat</translation> <translation>&amp;Kartat</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="502"/> <location filename="../src/GUI/gui.cpp" line="505"/>
<source>&amp;Graph</source> <source>&amp;Graph</source>
<translation>Kaa&amp;viokuva</translation> <translation>Kaa&amp;viokuva</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="511"/> <location filename="../src/GUI/gui.cpp" line="514"/>
<source>&amp;POI</source> <source>&amp;POI</source>
<translation>&amp;POI</translation> <translation>&amp;POI</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="523"/> <location filename="../src/GUI/gui.cpp" line="526"/>
<source>&amp;Data</source> <source>&amp;Data</source>
<translation>Tie&amp;dot</translation> <translation>Tie&amp;dot</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="532"/> <location filename="../src/GUI/gui.cpp" line="535"/>
<source>&amp;Settings</source> <source>&amp;Settings</source>
<translation>&amp;Asetukset</translation> <translation>&amp;Asetukset</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="550"/> <location filename="../src/GUI/gui.cpp" line="553"/>
<source>&amp;Help</source> <source>&amp;Help</source>
<translation>&amp;Ohje</translation> <translation>&amp;Ohje</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="702"/> <location filename="../src/GUI/gui.cpp" line="706"/>
<location filename="../src/GUI/gui.cpp" line="709"/> <location filename="../src/GUI/gui.cpp" line="713"/>
<source>Map directory:</source> <source>Map directory:</source>
<translation>Karttojen hakemisto:</translation> <translation>Karttojen hakemisto:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="704"/> <location filename="../src/GUI/gui.cpp" line="708"/>
<location filename="../src/GUI/gui.cpp" line="710"/> <location filename="../src/GUI/gui.cpp" line="714"/>
<source>POI directory:</source> <source>POI directory:</source>
<translation>POI:n hakemisto:</translation> <translation>POI:n hakemisto:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="993"/> <location filename="../src/GUI/gui.cpp" line="997"/>
<location filename="../src/GUI/gui.cpp" line="1060"/> <location filename="../src/GUI/gui.cpp" line="1064"/>
<source>Routes</source> <source>Routes</source>
<translation>Reitit</translation> <translation>Reitit</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1311"/> <location filename="../src/GUI/gui.cpp" line="1308"/>
<source>Error loading map:</source> <source>Error loading map:</source>
<translation>Virhe ladattaessa karttaa:</translation> <translation>Virhe ladattaessa karttaa:</translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1326"/> <location filename="../src/GUI/gui.cpp" line="1323"/>
<source>%n files</source> <source>%n files</source>
<translation> <translation>
<numerusform>%n tiedosto</numerusform> <numerusform>%n tiedosto</numerusform>
@ -710,101 +720,96 @@
</translation> </translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="668"/> <location filename="../src/GUI/gui.cpp" line="672"/>
<source>Next file</source> <source>Next file</source>
<translation>Seuraava tiedosto</translation> <translation>Seuraava tiedosto</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="644"/> <location filename="../src/GUI/gui.cpp" line="231"/>
<source>Version </source>
<translation>Versio </translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="228"/>
<source>Print...</source> <source>Print...</source>
<translation>Tulosta...</translation> <translation>Tulosta...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="235"/> <location filename="../src/GUI/gui.cpp" line="238"/>
<source>Export to PDF...</source> <source>Export to PDF...</source>
<translation>Vie PDF:ksi...</translation> <translation>Vie PDF:ksi...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="996"/> <location filename="../src/GUI/gui.cpp" line="1000"/>
<location filename="../src/GUI/gui.cpp" line="1062"/> <location filename="../src/GUI/gui.cpp" line="1066"/>
<source>Waypoints</source> <source>Waypoints</source>
<translation>Reittipisteet</translation> <translation>Reittipisteet</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="669"/> <location filename="../src/GUI/gui.cpp" line="673"/>
<source>Previous file</source> <source>Previous file</source>
<translation>Edellinen tiedosto</translation> <translation>Edellinen tiedosto</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="343"/> <location filename="../src/GUI/gui.cpp" line="346"/>
<source>Route waypoints</source> <source>Route waypoints</source>
<translation>Reittipisteet</translation> <translation>Reittipisteet</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="671"/> <location filename="../src/GUI/gui.cpp" line="675"/>
<source>First file</source> <source>First file</source>
<translation>Ensimmäinen tiedosto</translation> <translation>Ensimmäinen tiedosto</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="673"/> <location filename="../src/GUI/gui.cpp" line="677"/>
<source>Last file</source> <source>Last file</source>
<translation>Viimeinen tiedosto</translation> <translation>Viimeinen tiedosto</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="815"/> <location filename="../src/GUI/gui.cpp" line="819"/>
<source>Error loading data file:</source> <source>Error loading data file:</source>
<translation>Virhe ladattaessa datatiedostoa:</translation> <translation>Virhe ladattaessa datatiedostoa:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="818"/> <location filename="../src/GUI/gui.cpp" line="822"/>
<location filename="../src/GUI/gui.cpp" line="845"/> <location filename="../src/GUI/gui.cpp" line="857"/>
<source>Line: %1</source> <source>Line: %1</source>
<translation>Rivi: %1</translation> <translation>Rivi: %1</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="842"/> <location filename="../src/GUI/gui.cpp" line="854"/>
<source>Error loading POI file:</source> <source>Error loading POI file:</source>
<translation>Virhe ladattaessa POI-tiedostoa:</translation> <translation>Virhe ladattaessa POI-tiedostoa:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1054"/> <location filename="../src/GUI/gui.cpp" line="1058"/>
<source>Name</source> <source>Name</source>
<translation>Nimi</translation> <translation>Nimi</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="990"/> <location filename="../src/GUI/gui.cpp" line="994"/>
<location filename="../src/GUI/gui.cpp" line="1058"/> <location filename="../src/GUI/gui.cpp" line="1062"/>
<source>Tracks</source> <source>Tracks</source>
<translation>Jäljet</translation> <translation>Jäljet</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="218"/> <location filename="../src/GUI/gui.cpp" line="221"/>
<location filename="../src/GUI/gui.cpp" line="643"/> <location filename="../src/GUI/gui.cpp" line="646"/>
<source>About GPXSee</source> <source>About GPXSee</source>
<translation>Tietoja GPXSee:stä</translation> <translation>Tietoja GPXSee:stä</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="579"/> <location filename="../src/GUI/gui.cpp" line="582"/>
<source>Navigation</source> <source>Navigation</source>
<translation>Navigointi</translation> <translation>Navigointi</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="360"/> <location filename="../src/GUI/gui.cpp" line="363"/>
<location filename="../src/GUI/gui.cpp" line="1013"/> <location filename="../src/GUI/gui.cpp" line="1017"/>
<location filename="../src/GUI/gui.cpp" line="1078"/> <location filename="../src/GUI/gui.cpp" line="1082"/>
<source>Distance</source> <source>Distance</source>
<translation>Etäisyys</translation> <translation>Etäisyys</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="367"/> <location filename="../src/GUI/gui.cpp" line="370"/>
<location filename="../src/GUI/gui.cpp" line="533"/> <location filename="../src/GUI/gui.cpp" line="536"/>
<location filename="../src/GUI/gui.cpp" line="1016"/> <location filename="../src/GUI/gui.cpp" line="1020"/>
<location filename="../src/GUI/gui.cpp" line="1080"/> <location filename="../src/GUI/gui.cpp" line="1084"/>
<source>Time</source> <source>Time</source>
<translation>Aika</translation> <translation>Aika</translation>
</message> </message>
@ -957,32 +962,37 @@
<context> <context>
<name>MapList</name> <name>MapList</name>
<message> <message>
<location filename="../src/map/maplist.cpp" line="114"/> <location filename="../src/map/maplist.cpp" line="117"/>
<source>Supported files</source> <source>Supported files</source>
<translation>Tuetut tiedostot</translation> <translation>Tuetut tiedostot</translation>
</message> </message>
<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> <source>Garmin JNX maps</source>
<translation>Garmin JNX -kartat</translation> <translation>Garmin JNX -kartat</translation>
</message> </message>
<message> <message>
<location filename="../src/map/maplist.cpp" line="116"/> <location filename="../src/map/maplist.cpp" line="121"/>
<source>OziExplorer maps</source> <source>OziExplorer maps</source>
<translation>OziExplorer -kartat</translation> <translation>OziExplorer -kartat</translation>
</message> </message>
<message> <message>
<location filename="../src/map/maplist.cpp" line="117"/> <location filename="../src/map/maplist.cpp" line="122"/>
<source>TrekBuddy maps/atlases</source> <source>TrekBuddy maps/atlases</source>
<translation>TrekBuddy -kartat/kartastot</translation> <translation>TrekBuddy -kartat/kartastot</translation>
</message> </message>
<message> <message>
<location filename="../src/map/maplist.cpp" line="118"/> <location filename="../src/map/maplist.cpp" line="123"/>
<source>GeoTIFF images</source> <source>GeoTIFF images</source>
<translation>GeoTIFF -kuvat</translation> <translation>GeoTIFF -kuvat</translation>
</message> </message>
<message> <message>
<location filename="../src/map/maplist.cpp" line="119"/> <location filename="../src/map/maplist.cpp" line="124"/>
<source>Online map sources</source> <source>Online map sources</source>
<translation>Online-karttojen lähteet</translation> <translation>Online-karttojen lähteet</translation>
</message> </message>

View File

@ -182,94 +182,99 @@
<context> <context>
<name>ExportDialog</name> <name>ExportDialog</name>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="134"/> <location filename="../src/GUI/exportdialog.cpp" line="135"/>
<source>Export to PDF</source> <source>Export to PDF</source>
<translation>Exporter au format PDF</translation> <translation>Exporter au format PDF</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="25"/> <location filename="../src/GUI/exportdialog.cpp" line="52"/>
<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"/>
<source>Portrait</source> <source>Portrait</source>
<translation>Portrait</translation> <translation>Portrait</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="52"/> <location filename="../src/GUI/exportdialog.cpp" line="53"/>
<source>Landscape</source> <source>Landscape</source>
<translation>Paysage</translation> <translation>Paysage</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="96"/> <location filename="../src/GUI/exportdialog.cpp" line="97"/>
<source>Page size:</source> <source>Page size:</source>
<translation>Format de papier :</translation> <translation>Format de papier :</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="98"/> <location filename="../src/GUI/exportdialog.cpp" line="99"/>
<source>Orientation:</source> <source>Orientation:</source>
<translation>Orientation :</translation> <translation>Orientation :</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="93"/> <location filename="../src/GUI/exportdialog.cpp" line="94"/>
<source>Page Setup</source> <source>Page Setup</source>
<translation>Style de page</translation> <translation>Style de page</translation>
</message> </message>
<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> <source>in</source>
<translation>po</translation> <translation>po</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="65"/> <location filename="../src/GUI/exportdialog.cpp" line="66"/>
<source>mm</source> <source>mm</source>
<translation>mm</translation> <translation>mm</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="97"/> <location filename="../src/GUI/exportdialog.cpp" line="98"/>
<source>Resolution:</source> <source>Resolution:</source>
<translation>Résolution :</translation> <translation>Résolution :</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="99"/> <location filename="../src/GUI/exportdialog.cpp" line="100"/>
<source>Margins:</source> <source>Margins:</source>
<translation>Marges :</translation> <translation>Marges :</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="105"/> <location filename="../src/GUI/exportdialog.cpp" line="106"/>
<source>File:</source> <source>File:</source>
<translation>Fichier :</translation> <translation>Fichier :</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="112"/> <location filename="../src/GUI/exportdialog.cpp" line="113"/>
<source>Output file</source> <source>Output file</source>
<translation>Fichier exporté</translation> <translation>Fichier exporté</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="119"/> <location filename="../src/GUI/exportdialog.cpp" line="120"/>
<source>Export</source> <source>Export</source>
<translation>Exporter</translation> <translation>Exporter</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/> <location filename="../src/GUI/exportdialog.cpp" line="142"/>
<location filename="../src/GUI/exportdialog.cpp" line="151"/> <location filename="../src/GUI/exportdialog.cpp" line="152"/>
<location filename="../src/GUI/exportdialog.cpp" line="156"/> <location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>Error</source> <source>Error</source>
<translation>Erreur</translation> <translation>Erreur</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/> <location filename="../src/GUI/exportdialog.cpp" line="142"/>
<source>No output file selected.</source> <source>No output file selected.</source>
<translation>Auncun fichier sélectionné.</translation> <translation>Auncun fichier sélectionné.</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="151"/> <location filename="../src/GUI/exportdialog.cpp" line="152"/>
<source>%1 is a directory.</source> <source>%1 is a directory.</source>
<translation>%1 est un dossier.</translation> <translation>%1 est un dossier.</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="156"/> <location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>%1 is not writable.</source> <source>%1 is not writable.</source>
<translation>%1 n&apos;est pas inscriptible.</translation> <translation>%1 n&apos;est pas inscriptible.</translation>
</message> </message>
@ -316,344 +321,349 @@
<context> <context>
<name>GUI</name> <name>GUI</name>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="647"/> <location filename="../src/GUI/gui.cpp" line="706"/>
<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> <location filename="../src/GUI/gui.cpp" line="713"/>
<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"/>
<source>Map directory:</source> <source>Map directory:</source>
<translation>Dossier des cartes :</translation> <translation>Dossier des cartes :</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="704"/> <location filename="../src/GUI/gui.cpp" line="708"/>
<location filename="../src/GUI/gui.cpp" line="710"/> <location filename="../src/GUI/gui.cpp" line="714"/>
<source>POI directory:</source> <source>POI directory:</source>
<translation>Dossier des POI:</translation> <translation>Dossier des POI:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="721"/> <location filename="../src/GUI/gui.cpp" line="725"/>
<source>Open file</source> <source>Open file</source>
<translation>Ouvrir un fichier</translation> <translation>Ouvrir un fichier</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="826"/> <location filename="../src/GUI/gui.cpp" line="830"/>
<source>Open POI file</source> <source>Open POI file</source>
<translation>Ouvrir un fichier POI</translation> <translation>Ouvrir un fichier POI</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="205"/> <location filename="../src/GUI/gui.cpp" line="208"/>
<source>Quit</source> <source>Quit</source>
<translation>Quitter</translation> <translation>Quitter</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="215"/> <location filename="../src/GUI/gui.cpp" line="218"/>
<location filename="../src/GUI/gui.cpp" line="664"/> <location filename="../src/GUI/gui.cpp" line="668"/>
<location filename="../src/GUI/gui.cpp" line="665"/> <location filename="../src/GUI/gui.cpp" line="669"/>
<source>Keyboard controls</source> <source>Keyboard controls</source>
<translation>Raccourcis clavier</translation> <translation>Raccourcis clavier</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="241"/> <location filename="../src/GUI/gui.cpp" line="244"/>
<source>Close</source> <source>Close</source>
<translation>Fermer</translation> <translation>Fermer</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="247"/> <location filename="../src/GUI/gui.cpp" line="250"/>
<source>Reload</source> <source>Reload</source>
<translation>Actualiser</translation> <translation>Actualiser</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="573"/> <location filename="../src/GUI/gui.cpp" line="576"/>
<source>Show</source> <source>Show</source>
<translation>Afficher</translation> <translation>Afficher</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="566"/> <location filename="../src/GUI/gui.cpp" line="569"/>
<source>File</source> <source>File</source>
<translation>Fichier</translation> <translation>Fichier</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="266"/> <location filename="../src/GUI/gui.cpp" line="269"/>
<source>Close POI files</source> <source>Close POI files</source>
<translation>Fermer les fichiers POI</translation> <translation>Fermer les fichiers POI</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="270"/> <location filename="../src/GUI/gui.cpp" line="273"/>
<source>Overlap POIs</source> <source>Overlap POIs</source>
<translation>Superposer les POI</translation> <translation>Superposer les POI</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="275"/> <location filename="../src/GUI/gui.cpp" line="278"/>
<source>Show POI labels</source> <source>Show POI labels</source>
<translation>Afficher les notes des POI</translation> <translation>Afficher les notes des POI</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="280"/> <location filename="../src/GUI/gui.cpp" line="283"/>
<source>Show POIs</source> <source>Show POIs</source>
<translation>Afficher les POI</translation> <translation>Afficher les POI</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="290"/> <location filename="../src/GUI/gui.cpp" line="293"/>
<source>Show map</source> <source>Show map</source>
<translation>Afficher la carte</translation> <translation>Afficher la carte</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="302"/> <location filename="../src/GUI/gui.cpp" line="305"/>
<source>Clear tile cache</source> <source>Clear tile cache</source>
<translation>Effacer les tuiles en cache</translation> <translation>Effacer les tuiles en cache</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="223"/> <location filename="../src/GUI/gui.cpp" line="226"/>
<source>Open...</source> <source>Open...</source>
<translation>Ouvrir...</translation> <translation>Ouvrir...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="212"/> <location filename="../src/GUI/gui.cpp" line="215"/>
<location filename="../src/GUI/gui.cpp" line="698"/> <location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="699"/> <location filename="../src/GUI/gui.cpp" line="703"/>
<source>Paths</source> <source>Paths</source>
<translation>Chemin d&apos;accès</translation> <translation>Chemin d&apos;accès</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="254"/> <location filename="../src/GUI/gui.cpp" line="257"/>
<source>Statistics...</source> <source>Statistics...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="262"/> <location filename="../src/GUI/gui.cpp" line="265"/>
<source>Load POI file...</source> <source>Load POI file...</source>
<translation>Charger un fichier POI...</translation> <translation>Charger un fichier POI...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="298"/> <location filename="../src/GUI/gui.cpp" line="301"/>
<source>Load map...</source> <source>Load map...</source>
<translation>Charger une carte...</translation> <translation>Charger une carte...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="307"/> <location filename="../src/GUI/gui.cpp" line="310"/>
<location filename="../src/GUI/gui.cpp" line="312"/> <location filename="../src/GUI/gui.cpp" line="315"/>
<location filename="../src/GUI/gui.cpp" line="681"/> <location filename="../src/GUI/gui.cpp" line="685"/>
<source>Next map</source> <source>Next map</source>
<translation>Carte suivante</translation> <translation>Carte suivante</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="323"/> <location filename="../src/GUI/gui.cpp" line="326"/>
<source>Show tracks</source> <source>Show tracks</source>
<translation>Afficher la trace</translation> <translation>Afficher la trace</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="328"/> <location filename="../src/GUI/gui.cpp" line="331"/>
<source>Show routes</source> <source>Show routes</source>
<translation>Afficher la route</translation> <translation>Afficher la route</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="333"/> <location filename="../src/GUI/gui.cpp" line="336"/>
<source>Show waypoints</source> <source>Show waypoints</source>
<translation>Afficher les points de jalonnement</translation> <translation>Afficher les points de jalonnement</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="338"/> <location filename="../src/GUI/gui.cpp" line="341"/>
<source>Waypoint labels</source> <source>Waypoint labels</source>
<translation>Étiquettes des jalons</translation> <translation>Étiquettes des jalons</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="350"/> <location filename="../src/GUI/gui.cpp" line="353"/>
<source>Show graphs</source> <source>Show graphs</source>
<translation>Afficher les graphes</translation> <translation>Afficher les graphes</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="374"/> <location filename="../src/GUI/gui.cpp" line="377"/>
<source>Show grid</source> <source>Show grid</source>
<translation>Afficher la grille</translation> <translation>Afficher la grille</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="379"/> <location filename="../src/GUI/gui.cpp" line="382"/>
<source>Show slider info</source> <source>Show slider info</source>
<translation>Afficher les infos du curseur</translation> <translation>Afficher les infos du curseur</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="386"/> <location filename="../src/GUI/gui.cpp" line="389"/>
<source>Show toolbars</source> <source>Show toolbars</source>
<translation>Afficher la barre d&apos;outils</translation> <translation>Afficher la barre d&apos;outils</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="393"/> <location filename="../src/GUI/gui.cpp" line="396"/>
<source>Total time</source> <source>Total time</source>
<translation>Durée totale</translation> <translation>Durée totale</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="399"/> <location filename="../src/GUI/gui.cpp" line="402"/>
<location filename="../src/GUI/gui.cpp" line="1018"/> <location filename="../src/GUI/gui.cpp" line="1022"/>
<location filename="../src/GUI/gui.cpp" line="1082"/> <location filename="../src/GUI/gui.cpp" line="1086"/>
<source>Moving time</source> <source>Moving time</source>
<translation>Durée en déplacement</translation> <translation>Durée en déplacement</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="407"/> <location filename="../src/GUI/gui.cpp" line="410"/>
<source>Metric</source> <source>Metric</source>
<translation>Métrique</translation> <translation>Métrique</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="413"/> <location filename="../src/GUI/gui.cpp" line="416"/>
<source>Imperial</source> <source>Imperial</source>
<translation>Impérial</translation> <translation>Impérial</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="419"/> <location filename="../src/GUI/gui.cpp" line="422"/>
<source>Nautical</source> <source>Nautical</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="427"/> <location filename="../src/GUI/gui.cpp" line="430"/>
<source>Decimal degrees (DD)</source> <source>Decimal degrees (DD)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<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> <source>Degrees and decimal minutes (DMM)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="440"/> <location filename="../src/GUI/gui.cpp" line="443"/>
<source>Degrees, minutes, seconds (DMS)</source> <source>Degrees, minutes, seconds (DMS)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="446"/> <location filename="../src/GUI/gui.cpp" line="449"/>
<source>Fullscreen mode</source> <source>Fullscreen mode</source>
<translation>Mode plein écran</translation> <translation>Mode plein écran</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="453"/> <location filename="../src/GUI/gui.cpp" line="456"/>
<source>Options...</source> <source>Options...</source>
<translation>Options...</translation> <translation>Options...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="459"/> <location filename="../src/GUI/gui.cpp" line="462"/>
<source>Next</source> <source>Next</source>
<translation>Suivant</translation> <translation>Suivant</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="463"/> <location filename="../src/GUI/gui.cpp" line="466"/>
<source>Previous</source> <source>Previous</source>
<translation>Précèdant</translation> <translation>Précèdant</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="467"/> <location filename="../src/GUI/gui.cpp" line="470"/>
<source>Last</source> <source>Last</source>
<translation>Dernier</translation> <translation>Dernier</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="471"/> <location filename="../src/GUI/gui.cpp" line="474"/>
<source>First</source> <source>First</source>
<translation>Premier</translation> <translation>Premier</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="512"/> <location filename="../src/GUI/gui.cpp" line="515"/>
<source>POI files</source> <source>POI files</source>
<translation>Fichiers POI</translation> <translation>Fichiers POI</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="524"/> <location filename="../src/GUI/gui.cpp" line="527"/>
<source>Display</source> <source>Display</source>
<translation>Affichage</translation> <translation>Affichage</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="536"/> <location filename="../src/GUI/gui.cpp" line="539"/>
<source>Units</source> <source>Units</source>
<translation>Système d&apos;unités</translation> <translation>Système d&apos;unités</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="540"/> <location filename="../src/GUI/gui.cpp" line="543"/>
<source>Coordinates format</source> <source>Coordinates format</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<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> <source>Append file</source>
<translation>Joindre un fichier</translation> <translation>Joindre un fichier</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="675"/> <location filename="../src/GUI/gui.cpp" line="679"/>
<source>Next/Previous</source> <source>Next/Previous</source>
<translation>Suivant/Précèdant</translation> <translation>Suivant/Précèdant</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="677"/> <location filename="../src/GUI/gui.cpp" line="681"/>
<source>Toggle graph type</source> <source>Toggle graph type</source>
<translation>Controler le type de graphe</translation> <translation>Controler le type de graphe</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="679"/> <location filename="../src/GUI/gui.cpp" line="683"/>
<source>Toggle time type</source> <source>Toggle time type</source>
<translation>Controler le type de durée</translation> <translation>Controler le type de durée</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="683"/> <location filename="../src/GUI/gui.cpp" line="687"/>
<source>Previous map</source> <source>Previous map</source>
<translation>Carte précèdente</translation> <translation>Carte précèdente</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="684"/> <location filename="../src/GUI/gui.cpp" line="688"/>
<source>Zoom in</source> <source>Zoom in</source>
<translation>Zoomer</translation> <translation>Zoomer</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="686"/> <location filename="../src/GUI/gui.cpp" line="690"/>
<source>Zoom out</source> <source>Zoom out</source>
<translation>Dézoomer</translation> <translation>Dézoomer</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="688"/> <location filename="../src/GUI/gui.cpp" line="692"/>
<source>Digital zoom</source> <source>Digital zoom</source>
<translation>Zoom numérique</translation> <translation>Zoom numérique</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="689"/> <location filename="../src/GUI/gui.cpp" line="693"/>
<source>Zoom</source> <source>Zoom</source>
<translation>Zoom</translation> <translation>Zoom</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="702"/> <location filename="../src/GUI/gui.cpp" line="706"/>
<source>Global</source> <source>Global</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="706"/> <location filename="../src/GUI/gui.cpp" line="710"/>
<location filename="../src/GUI/gui.cpp" line="712"/> <location filename="../src/GUI/gui.cpp" line="716"/>
<source>GCS/PCS directory:</source> <source>GCS/PCS directory:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="708"/> <location filename="../src/GUI/gui.cpp" line="712"/>
<source>User-specific</source> <source>User-specific</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1039"/> <location filename="../src/GUI/gui.cpp" line="1043"/>
<location filename="../src/GUI/gui.cpp" line="1040"/> <location filename="../src/GUI/gui.cpp" line="1044"/>
<source>Statistics</source> <source>Statistics</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1281"/> <location filename="../src/GUI/gui.cpp" line="1285"/>
<source>Open map file</source> <source>Open map file</source>
<translation>Ouvrir un fichier de carte</translation> <translation>Ouvrir un fichier de carte</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1311"/> <location filename="../src/GUI/gui.cpp" line="1308"/>
<source>Error loading map:</source> <source>Error loading map:</source>
<translation>Erreur lors du chargement de la carte :</translation> <translation>Erreur lors du chargement de la carte :</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1322"/> <location filename="../src/GUI/gui.cpp" line="1319"/>
<source>No files loaded</source> <source>No files loaded</source>
<translation>Aucun fichier chargé</translation> <translation>Aucun fichier chargé</translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1326"/> <location filename="../src/GUI/gui.cpp" line="1323"/>
<source>%n files</source> <source>%n files</source>
<translation> <translation>
<numerusform>%n fichier</numerusform> <numerusform>%n fichier</numerusform>
@ -661,150 +671,145 @@
</translation> </translation>
</message> </message>
<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="1006"/>
<location filename="../src/GUI/gui.cpp" line="1068"/> <location filename="../src/GUI/gui.cpp" line="1010"/>
<location filename="../src/GUI/gui.cpp" line="1071"/> <location filename="../src/GUI/gui.cpp" line="1072"/>
<location filename="../src/GUI/gui.cpp" line="1075"/>
<source>Date</source> <source>Date</source>
<translation>Date</translation> <translation>Date</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="993"/> <location filename="../src/GUI/gui.cpp" line="997"/>
<location filename="../src/GUI/gui.cpp" line="1060"/> <location filename="../src/GUI/gui.cpp" line="1064"/>
<source>Routes</source> <source>Routes</source>
<translation>Routes</translation> <translation>Routes</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="668"/> <location filename="../src/GUI/gui.cpp" line="672"/>
<source>Next file</source> <source>Next file</source>
<translation>Fichier suivant</translation> <translation>Fichier suivant</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="644"/> <location filename="../src/GUI/gui.cpp" line="231"/>
<source>Version </source>
<translation>Version </translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="228"/>
<source>Print...</source> <source>Print...</source>
<translation>Imprimer...</translation> <translation>Imprimer...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="235"/> <location filename="../src/GUI/gui.cpp" line="238"/>
<source>Export to PDF...</source> <source>Export to PDF...</source>
<translation>Exporter au format PDF...</translation> <translation>Exporter au format PDF...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="996"/> <location filename="../src/GUI/gui.cpp" line="1000"/>
<location filename="../src/GUI/gui.cpp" line="1062"/> <location filename="../src/GUI/gui.cpp" line="1066"/>
<source>Waypoints</source> <source>Waypoints</source>
<translation>Points de jalonnement</translation> <translation>Points de jalonnement</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="669"/> <location filename="../src/GUI/gui.cpp" line="673"/>
<source>Previous file</source> <source>Previous file</source>
<translation>Fichier précédent</translation> <translation>Fichier précédent</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="343"/> <location filename="../src/GUI/gui.cpp" line="346"/>
<source>Route waypoints</source> <source>Route waypoints</source>
<translation>Jalons de route</translation> <translation>Jalons de route</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="479"/> <location filename="../src/GUI/gui.cpp" line="482"/>
<source>&amp;File</source> <source>&amp;File</source>
<translation>&amp;Fichier</translation> <translation>&amp;Fichier</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="494"/> <location filename="../src/GUI/gui.cpp" line="497"/>
<source>&amp;Map</source> <source>&amp;Map</source>
<translation>&amp;Carte</translation> <translation>&amp;Carte</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="502"/> <location filename="../src/GUI/gui.cpp" line="505"/>
<source>&amp;Graph</source> <source>&amp;Graph</source>
<translation>&amp;Graphe</translation> <translation>&amp;Graphe</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="511"/> <location filename="../src/GUI/gui.cpp" line="514"/>
<source>&amp;POI</source> <source>&amp;POI</source>
<translation>&amp;POI</translation> <translation>&amp;POI</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="523"/> <location filename="../src/GUI/gui.cpp" line="526"/>
<source>&amp;Data</source> <source>&amp;Data</source>
<translation>&amp;Données</translation> <translation>&amp;Données</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="532"/> <location filename="../src/GUI/gui.cpp" line="535"/>
<source>&amp;Settings</source> <source>&amp;Settings</source>
<translation>Pa&amp;ramètres</translation> <translation>Pa&amp;ramètres</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="550"/> <location filename="../src/GUI/gui.cpp" line="553"/>
<source>&amp;Help</source> <source>&amp;Help</source>
<translation>&amp;Aide</translation> <translation>&amp;Aide</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="671"/> <location filename="../src/GUI/gui.cpp" line="675"/>
<source>First file</source> <source>First file</source>
<translation>Premier fichier</translation> <translation>Premier fichier</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="673"/> <location filename="../src/GUI/gui.cpp" line="677"/>
<source>Last file</source> <source>Last file</source>
<translation>Dernier fichier</translation> <translation>Dernier fichier</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="815"/> <location filename="../src/GUI/gui.cpp" line="819"/>
<source>Error loading data file:</source> <source>Error loading data file:</source>
<translation>Erreur lors du chargement des données:</translation> <translation>Erreur lors du chargement des données:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="818"/> <location filename="../src/GUI/gui.cpp" line="822"/>
<location filename="../src/GUI/gui.cpp" line="845"/> <location filename="../src/GUI/gui.cpp" line="857"/>
<source>Line: %1</source> <source>Line: %1</source>
<translation>Ligne : %1</translation> <translation>Ligne : %1</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="842"/> <location filename="../src/GUI/gui.cpp" line="854"/>
<source>Error loading POI file:</source> <source>Error loading POI file:</source>
<translation>Erreur lors du chargement du fichier POI :</translation> <translation>Erreur lors du chargement du fichier POI :</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1054"/> <location filename="../src/GUI/gui.cpp" line="1058"/>
<source>Name</source> <source>Name</source>
<translation>Nom</translation> <translation>Nom</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="990"/> <location filename="../src/GUI/gui.cpp" line="994"/>
<location filename="../src/GUI/gui.cpp" line="1058"/> <location filename="../src/GUI/gui.cpp" line="1062"/>
<source>Tracks</source> <source>Tracks</source>
<translation>Traces</translation> <translation>Traces</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="218"/> <location filename="../src/GUI/gui.cpp" line="221"/>
<location filename="../src/GUI/gui.cpp" line="643"/> <location filename="../src/GUI/gui.cpp" line="646"/>
<source>About GPXSee</source> <source>About GPXSee</source>
<translation>À propos de GPXSee</translation> <translation>À propos de GPXSee</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="579"/> <location filename="../src/GUI/gui.cpp" line="582"/>
<source>Navigation</source> <source>Navigation</source>
<translation>Navigation</translation> <translation>Navigation</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="360"/> <location filename="../src/GUI/gui.cpp" line="363"/>
<location filename="../src/GUI/gui.cpp" line="1013"/> <location filename="../src/GUI/gui.cpp" line="1017"/>
<location filename="../src/GUI/gui.cpp" line="1078"/> <location filename="../src/GUI/gui.cpp" line="1082"/>
<source>Distance</source> <source>Distance</source>
<translation>Distance</translation> <translation>Distance</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="367"/> <location filename="../src/GUI/gui.cpp" line="370"/>
<location filename="../src/GUI/gui.cpp" line="533"/> <location filename="../src/GUI/gui.cpp" line="536"/>
<location filename="../src/GUI/gui.cpp" line="1016"/> <location filename="../src/GUI/gui.cpp" line="1020"/>
<location filename="../src/GUI/gui.cpp" line="1080"/> <location filename="../src/GUI/gui.cpp" line="1084"/>
<source>Time</source> <source>Time</source>
<translation>Temps</translation> <translation>Temps</translation>
</message> </message>
@ -957,32 +962,37 @@
<context> <context>
<name>MapList</name> <name>MapList</name>
<message> <message>
<location filename="../src/map/maplist.cpp" line="114"/> <location filename="../src/map/maplist.cpp" line="117"/>
<source>Supported files</source> <source>Supported files</source>
<translation>Formats pris en charge</translation> <translation>Formats pris en charge</translation>
</message> </message>
<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> <source>Garmin JNX maps</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/map/maplist.cpp" line="116"/> <location filename="../src/map/maplist.cpp" line="121"/>
<source>OziExplorer maps</source> <source>OziExplorer maps</source>
<translation>Cartes OziExplorer</translation> <translation>Cartes OziExplorer</translation>
</message> </message>
<message> <message>
<location filename="../src/map/maplist.cpp" line="117"/> <location filename="../src/map/maplist.cpp" line="122"/>
<source>TrekBuddy maps/atlases</source> <source>TrekBuddy maps/atlases</source>
<translation>Cartes ou atlas TrekBuddy</translation> <translation>Cartes ou atlas TrekBuddy</translation>
</message> </message>
<message> <message>
<location filename="../src/map/maplist.cpp" line="118"/> <location filename="../src/map/maplist.cpp" line="123"/>
<source>GeoTIFF images</source> <source>GeoTIFF images</source>
<translation>Images GeoTIFF</translation> <translation>Images GeoTIFF</translation>
</message> </message>
<message> <message>
<location filename="../src/map/maplist.cpp" line="119"/> <location filename="../src/map/maplist.cpp" line="124"/>
<source>Online map sources</source> <source>Online map sources</source>
<translation>Cartes en ligne</translation> <translation>Cartes en ligne</translation>
</message> </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> <message>
<location filename="../src/GUI/cadencegraph.cpp" line="11"/> <location filename="../src/GUI/cadencegraph.cpp" line="11"/>
<source>rpm</source> <source>rpm</source>
<translation type="unfinished"></translation> <translation>obr./min</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/cadencegraph.cpp" line="12"/> <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="24"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="26"/> <location filename="../src/GUI/cadencegraphitem.cpp" line="26"/>
<source>rpm</source> <source>rpm</source>
<translation type="unfinished"></translation> <translation>obr./min</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="25"/> <location filename="../src/GUI/cadencegraphitem.cpp" line="25"/>
@ -79,7 +79,7 @@
<message> <message>
<location filename="../src/data/data.cpp" line="120"/> <location filename="../src/data/data.cpp" line="120"/>
<source>LOC files</source> <source>LOC files</source>
<translation type="unfinished"></translation> <translation>Pliki LOC</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="121"/> <location filename="../src/data/data.cpp" line="121"/>
@ -99,7 +99,7 @@
<message> <message>
<location filename="../src/data/data.cpp" line="123"/> <location filename="../src/data/data.cpp" line="123"/>
<source>SLF files</source> <source>SLF files</source>
<translation type="unfinished"></translation> <translation>Pliki SLF</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="124"/> <location filename="../src/data/data.cpp" line="124"/>
@ -182,94 +182,99 @@
<context> <context>
<name>ExportDialog</name> <name>ExportDialog</name>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="134"/> <location filename="../src/GUI/exportdialog.cpp" line="135"/>
<source>Export to PDF</source> <source>Export to PDF</source>
<translation>Eksportuj do PDF</translation> <translation>Eksportuj do PDF</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="25"/> <location filename="../src/GUI/exportdialog.cpp" line="52"/>
<source>PDF files (*.pdf);;All files (*)</source>
<translation>Pliki PDF (*.pdf);;Wszystkie pliki (*)</translation>
</message>
<message>
<location filename="../src/GUI/exportdialog.cpp" line="51"/>
<source>Portrait</source> <source>Portrait</source>
<translation>Pionowo</translation> <translation>Pionowo</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="52"/> <location filename="../src/GUI/exportdialog.cpp" line="53"/>
<source>Landscape</source> <source>Landscape</source>
<translation>Poziomo</translation> <translation>Poziomo</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="96"/> <location filename="../src/GUI/exportdialog.cpp" line="97"/>
<source>Page size:</source> <source>Page size:</source>
<translation>Rozmiar strony:</translation> <translation>Rozmiar strony:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="98"/> <location filename="../src/GUI/exportdialog.cpp" line="99"/>
<source>Orientation:</source> <source>Orientation:</source>
<translation>Orientacja:</translation> <translation>Orientacja:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="93"/> <location filename="../src/GUI/exportdialog.cpp" line="94"/>
<source>Page Setup</source> <source>Page Setup</source>
<translation>Ustawienia strony</translation> <translation>Ustawienia strony</translation>
</message> </message>
<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> <source>in</source>
<translation>in</translation> <translation>in</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="65"/> <location filename="../src/GUI/exportdialog.cpp" line="66"/>
<source>mm</source> <source>mm</source>
<translation>mm</translation> <translation>mm</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="97"/> <location filename="../src/GUI/exportdialog.cpp" line="98"/>
<source>Resolution:</source> <source>Resolution:</source>
<translation>Rozdzielczość:</translation> <translation>Rozdzielczość:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="99"/> <location filename="../src/GUI/exportdialog.cpp" line="100"/>
<source>Margins:</source> <source>Margins:</source>
<translation>Marginesy:</translation> <translation>Marginesy:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="105"/> <location filename="../src/GUI/exportdialog.cpp" line="106"/>
<source>File:</source> <source>File:</source>
<translation>Plik:</translation> <translation>Plik:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="112"/> <location filename="../src/GUI/exportdialog.cpp" line="113"/>
<source>Output file</source> <source>Output file</source>
<translation>Plik docelowy</translation> <translation>Plik docelowy</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="119"/> <location filename="../src/GUI/exportdialog.cpp" line="120"/>
<source>Export</source> <source>Export</source>
<translation>Eksportuj</translation> <translation>Eksportuj</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/> <location filename="../src/GUI/exportdialog.cpp" line="142"/>
<location filename="../src/GUI/exportdialog.cpp" line="151"/> <location filename="../src/GUI/exportdialog.cpp" line="152"/>
<location filename="../src/GUI/exportdialog.cpp" line="156"/> <location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>Error</source> <source>Error</source>
<translation>Błąd</translation> <translation>Błąd</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="141"/> <location filename="../src/GUI/exportdialog.cpp" line="142"/>
<source>No output file selected.</source> <source>No output file selected.</source>
<translation>Nie wybrano pliku docelowego.</translation> <translation>Nie wybrano pliku docelowego.</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="151"/> <location filename="../src/GUI/exportdialog.cpp" line="152"/>
<source>%1 is a directory.</source> <source>%1 is a directory.</source>
<translation>%1 jest katalogiem.</translation> <translation>%1 jest katalogiem.</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/exportdialog.cpp" line="156"/> <location filename="../src/GUI/exportdialog.cpp" line="157"/>
<source>%1 is not writable.</source> <source>%1 is not writable.</source>
<translation>%1 nie jest zapisywalny.</translation> <translation>%1 nie jest zapisywalny.</translation>
</message> </message>
@ -316,393 +321,398 @@
<context> <context>
<name>GUI</name> <name>GUI</name>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="647"/> <location filename="../src/GUI/gui.cpp" line="725"/>
<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"/>
<source>Open file</source> <source>Open file</source>
<translation>Otwórz plik</translation> <translation>Otwórz plik</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="826"/> <location filename="../src/GUI/gui.cpp" line="830"/>
<source>Open POI file</source> <source>Open POI file</source>
<translation>Otwórz plik POI</translation> <translation>Otwórz plik POI</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="205"/> <location filename="../src/GUI/gui.cpp" line="208"/>
<source>Quit</source> <source>Quit</source>
<translation>Zakończ</translation> <translation>Zakończ</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="215"/> <location filename="../src/GUI/gui.cpp" line="218"/>
<location filename="../src/GUI/gui.cpp" line="664"/> <location filename="../src/GUI/gui.cpp" line="668"/>
<location filename="../src/GUI/gui.cpp" line="665"/> <location filename="../src/GUI/gui.cpp" line="669"/>
<source>Keyboard controls</source> <source>Keyboard controls</source>
<translation>Elementy sterujące klawiatury</translation> <translation>Elementy sterujące klawiatury</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="241"/> <location filename="../src/GUI/gui.cpp" line="244"/>
<source>Close</source> <source>Close</source>
<translation>Zamknij</translation> <translation>Zamknij</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="247"/> <location filename="../src/GUI/gui.cpp" line="250"/>
<source>Reload</source> <source>Reload</source>
<translation>Odśwież</translation> <translation>Odśwież</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="573"/> <location filename="../src/GUI/gui.cpp" line="576"/>
<source>Show</source> <source>Show</source>
<translation>Pokaż</translation> <translation>Pokaż</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="566"/> <location filename="../src/GUI/gui.cpp" line="569"/>
<source>File</source> <source>File</source>
<translation>Plik</translation> <translation>Plik</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="266"/> <location filename="../src/GUI/gui.cpp" line="269"/>
<source>Close POI files</source> <source>Close POI files</source>
<translation>Zamknij pliki POI</translation> <translation>Zamknij pliki POI</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="270"/> <location filename="../src/GUI/gui.cpp" line="273"/>
<source>Overlap POIs</source> <source>Overlap POIs</source>
<translation>Nakładka POI</translation> <translation>Nakładka POI</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="275"/> <location filename="../src/GUI/gui.cpp" line="278"/>
<source>Show POI labels</source> <source>Show POI labels</source>
<translation>Pokaż etykiety POI</translation> <translation>Pokaż etykiety POI</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="280"/> <location filename="../src/GUI/gui.cpp" line="283"/>
<source>Show POIs</source> <source>Show POIs</source>
<translation>Pokaż punkty POI</translation> <translation>Pokaż punkty POI</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="290"/> <location filename="../src/GUI/gui.cpp" line="293"/>
<source>Show map</source> <source>Show map</source>
<translation>Pokaż mapę</translation> <translation>Pokaż mapę</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="302"/> <location filename="../src/GUI/gui.cpp" line="305"/>
<source>Clear tile cache</source> <source>Clear tile cache</source>
<translation>Wyczyść pamięć podręczną kafelków</translation> <translation>Wyczyść pamięć podręczną kafelków</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="223"/> <location filename="../src/GUI/gui.cpp" line="226"/>
<source>Open...</source> <source>Open...</source>
<translation>Otwórz...</translation> <translation>Otwórz...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="212"/> <location filename="../src/GUI/gui.cpp" line="215"/>
<location filename="../src/GUI/gui.cpp" line="698"/> <location filename="../src/GUI/gui.cpp" line="702"/>
<location filename="../src/GUI/gui.cpp" line="699"/> <location filename="../src/GUI/gui.cpp" line="703"/>
<source>Paths</source> <source>Paths</source>
<translation>Ścieżki</translation> <translation>Ścieżki</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="254"/> <location filename="../src/GUI/gui.cpp" line="257"/>
<source>Statistics...</source> <source>Statistics...</source>
<translation type="unfinished"></translation> <translation>Statystyka...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="262"/> <location filename="../src/GUI/gui.cpp" line="265"/>
<source>Load POI file...</source> <source>Load POI file...</source>
<translation>Załaduj plik POI...</translation> <translation>Załaduj plik POI...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="298"/> <location filename="../src/GUI/gui.cpp" line="301"/>
<source>Load map...</source> <source>Load map...</source>
<translation>Załaduj mapę...</translation> <translation>Załaduj mapę...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="307"/> <location filename="../src/GUI/gui.cpp" line="310"/>
<location filename="../src/GUI/gui.cpp" line="312"/> <location filename="../src/GUI/gui.cpp" line="315"/>
<location filename="../src/GUI/gui.cpp" line="681"/> <location filename="../src/GUI/gui.cpp" line="685"/>
<source>Next map</source> <source>Next map</source>
<translation>Następna mapa</translation> <translation>Następna mapa</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="323"/> <location filename="../src/GUI/gui.cpp" line="326"/>
<source>Show tracks</source> <source>Show tracks</source>
<translation>Pokaż ślady</translation> <translation>Pokaż ślady</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="328"/> <location filename="../src/GUI/gui.cpp" line="331"/>
<source>Show routes</source> <source>Show routes</source>
<translation>Pokaż trasy</translation> <translation>Pokaż trasy</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="333"/> <location filename="../src/GUI/gui.cpp" line="336"/>
<source>Show waypoints</source> <source>Show waypoints</source>
<translation>Pokaż punkty nawigacyjne</translation> <translation>Pokaż punkty nawigacyjne</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="338"/> <location filename="../src/GUI/gui.cpp" line="341"/>
<source>Waypoint labels</source> <source>Waypoint labels</source>
<translation>Etykiety punktów nawigacyjnych</translation> <translation>Etykiety punktów nawigacyjnych</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="350"/> <location filename="../src/GUI/gui.cpp" line="353"/>
<source>Show graphs</source> <source>Show graphs</source>
<translation>Pokaż wykresy</translation> <translation>Pokaż wykresy</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="374"/> <location filename="../src/GUI/gui.cpp" line="377"/>
<source>Show grid</source> <source>Show grid</source>
<translation>Pokaż siatkę</translation> <translation>Pokaż siatkę</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="379"/> <location filename="../src/GUI/gui.cpp" line="382"/>
<source>Show slider info</source> <source>Show slider info</source>
<translation>Pokaż informację o suwaku</translation> <translation>Pokaż informację o suwaku</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="386"/> <location filename="../src/GUI/gui.cpp" line="389"/>
<source>Show toolbars</source> <source>Show toolbars</source>
<translation>Pokaż paski narzędzi</translation> <translation>Pokaż paski narzędzi</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="393"/> <location filename="../src/GUI/gui.cpp" line="396"/>
<source>Total time</source> <source>Total time</source>
<translation>Całkowity czas</translation> <translation>Całkowity czas</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="399"/> <location filename="../src/GUI/gui.cpp" line="402"/>
<location filename="../src/GUI/gui.cpp" line="1018"/> <location filename="../src/GUI/gui.cpp" line="1022"/>
<location filename="../src/GUI/gui.cpp" line="1082"/> <location filename="../src/GUI/gui.cpp" line="1086"/>
<source>Moving time</source> <source>Moving time</source>
<translation>Czas ruchu</translation> <translation>Czas ruchu</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="407"/> <location filename="../src/GUI/gui.cpp" line="410"/>
<source>Metric</source> <source>Metric</source>
<translation>Metryczne</translation> <translation>Metryczne</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="413"/> <location filename="../src/GUI/gui.cpp" line="416"/>
<source>Imperial</source> <source>Imperial</source>
<translation>Imperialne</translation> <translation>Imperialne</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="419"/> <location filename="../src/GUI/gui.cpp" line="422"/>
<source>Nautical</source> <source>Nautical</source>
<translation>Morskie</translation> <translation>Morskie</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="427"/> <location filename="../src/GUI/gui.cpp" line="430"/>
<source>Decimal degrees (DD)</source> <source>Decimal degrees (DD)</source>
<translation>Stopnie dziesiętne (DD)</translation> <translation>Stopnie dziesiętne (DD)</translation>
</message> </message>
<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> <source>Degrees and decimal minutes (DMM)</source>
<translation>Stopnie i minuty dziesiętne (DMM)</translation> <translation>Stopnie i minuty dziesiętne (DMM)</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="440"/> <location filename="../src/GUI/gui.cpp" line="443"/>
<source>Degrees, minutes, seconds (DMS)</source> <source>Degrees, minutes, seconds (DMS)</source>
<translation>Stopnie, minuty, sekundy (DMS)</translation> <translation>Stopnie, minuty, sekundy (DMS)</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="446"/> <location filename="../src/GUI/gui.cpp" line="449"/>
<source>Fullscreen mode</source> <source>Fullscreen mode</source>
<translation>Tryb pełnoekranowy</translation> <translation>Tryb pełnoekranowy</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="453"/> <location filename="../src/GUI/gui.cpp" line="456"/>
<source>Options...</source> <source>Options...</source>
<translation>Opcje...</translation> <translation>Opcje...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="459"/> <location filename="../src/GUI/gui.cpp" line="462"/>
<source>Next</source> <source>Next</source>
<translation>Następny</translation> <translation>Następny</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="463"/> <location filename="../src/GUI/gui.cpp" line="466"/>
<source>Previous</source> <source>Previous</source>
<translation>Poprzedni</translation> <translation>Poprzedni</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="467"/> <location filename="../src/GUI/gui.cpp" line="470"/>
<source>Last</source> <source>Last</source>
<translation>Ostatni</translation> <translation>Ostatni</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="471"/> <location filename="../src/GUI/gui.cpp" line="474"/>
<source>First</source> <source>First</source>
<translation>Pierwszy</translation> <translation>Pierwszy</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="512"/> <location filename="../src/GUI/gui.cpp" line="515"/>
<source>POI files</source> <source>POI files</source>
<translation>Pliki POI</translation> <translation>Pliki POI</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="524"/> <location filename="../src/GUI/gui.cpp" line="527"/>
<source>Display</source> <source>Display</source>
<translation>Wyświetlanie</translation> <translation>Wyświetlanie</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="536"/> <location filename="../src/GUI/gui.cpp" line="539"/>
<source>Units</source> <source>Units</source>
<translation>Jednostki</translation> <translation>Jednostki</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="540"/> <location filename="../src/GUI/gui.cpp" line="543"/>
<source>Coordinates format</source> <source>Coordinates format</source>
<translation>Format współrzędnych</translation> <translation>Format współrzędnych</translation>
</message> </message>
<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> <source>Append file</source>
<translation>Dołącz plik</translation> <translation>Dołącz plik</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="675"/> <location filename="../src/GUI/gui.cpp" line="679"/>
<source>Next/Previous</source> <source>Next/Previous</source>
<translation>Następny/Poprzedni</translation> <translation>Następny/Poprzedni</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="677"/> <location filename="../src/GUI/gui.cpp" line="681"/>
<source>Toggle graph type</source> <source>Toggle graph type</source>
<translation>Zmień typ wykresu</translation> <translation>Zmień typ wykresu</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="679"/> <location filename="../src/GUI/gui.cpp" line="683"/>
<source>Toggle time type</source> <source>Toggle time type</source>
<translation>Zmień typ czasu</translation> <translation>Zmień typ czasu</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="683"/> <location filename="../src/GUI/gui.cpp" line="687"/>
<source>Previous map</source> <source>Previous map</source>
<translation>Poprzednia mapa</translation> <translation>Poprzednia mapa</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="684"/> <location filename="../src/GUI/gui.cpp" line="688"/>
<source>Zoom in</source> <source>Zoom in</source>
<translation>Przybliż</translation> <translation>Przybliż</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="686"/> <location filename="../src/GUI/gui.cpp" line="690"/>
<source>Zoom out</source> <source>Zoom out</source>
<translation>Oddal</translation> <translation>Oddal</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="688"/> <location filename="../src/GUI/gui.cpp" line="692"/>
<source>Digital zoom</source> <source>Digital zoom</source>
<translation>Zoom cyfrowy</translation> <translation>Zoom cyfrowy</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="689"/> <location filename="../src/GUI/gui.cpp" line="693"/>
<source>Zoom</source> <source>Zoom</source>
<translation>Zoom</translation> <translation>Zoom</translation>
</message> </message>
<message>
<location filename="../src/GUI/gui.cpp" line="702"/>
<source>Global</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="706"/> <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> <source>GCS/PCS directory:</source>
<translation type="unfinished"></translation> <translation>Katalog plików GCS/PCS:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="708"/> <location filename="../src/GUI/gui.cpp" line="712"/>
<source>User-specific</source> <source>User-specific</source>
<translation type="unfinished"></translation> <translation>Użytkownika</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1039"/> <location filename="../src/GUI/gui.cpp" line="1043"/>
<location filename="../src/GUI/gui.cpp" line="1040"/> <location filename="../src/GUI/gui.cpp" line="1044"/>
<source>Statistics</source> <source>Statistics</source>
<translation type="unfinished"></translation> <translation>Statystyka</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1281"/> <location filename="../src/GUI/gui.cpp" line="1285"/>
<source>Open map file</source> <source>Open map file</source>
<translation>Otwórz plik mapy</translation> <translation>Otwórz plik mapy</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1322"/> <location filename="../src/GUI/gui.cpp" line="1319"/>
<source>No files loaded</source> <source>No files loaded</source>
<translation>Nie załadowano żadnych plików</translation> <translation>Nie załadowano żadnych plików</translation>
</message> </message>
<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="1006"/>
<location filename="../src/GUI/gui.cpp" line="1068"/> <location filename="../src/GUI/gui.cpp" line="1010"/>
<location filename="../src/GUI/gui.cpp" line="1071"/> <location filename="../src/GUI/gui.cpp" line="1072"/>
<location filename="../src/GUI/gui.cpp" line="1075"/>
<source>Date</source> <source>Date</source>
<translation>Data</translation> <translation>Data</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="479"/> <location filename="../src/GUI/gui.cpp" line="482"/>
<source>&amp;File</source> <source>&amp;File</source>
<translation>&amp;Plik</translation> <translation>&amp;Plik</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="494"/> <location filename="../src/GUI/gui.cpp" line="497"/>
<source>&amp;Map</source> <source>&amp;Map</source>
<translation>&amp;Mapa</translation> <translation>&amp;Mapa</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="502"/> <location filename="../src/GUI/gui.cpp" line="505"/>
<source>&amp;Graph</source> <source>&amp;Graph</source>
<translation>&amp;Wykres</translation> <translation>&amp;Wykres</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="511"/> <location filename="../src/GUI/gui.cpp" line="514"/>
<source>&amp;POI</source> <source>&amp;POI</source>
<translation>P&amp;OI</translation> <translation>P&amp;OI</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="523"/> <location filename="../src/GUI/gui.cpp" line="526"/>
<source>&amp;Data</source> <source>&amp;Data</source>
<translation>&amp;Dane</translation> <translation>&amp;Dane</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="532"/> <location filename="../src/GUI/gui.cpp" line="535"/>
<source>&amp;Settings</source> <source>&amp;Settings</source>
<translation>&amp;Ustawienia</translation> <translation>&amp;Ustawienia</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="550"/> <location filename="../src/GUI/gui.cpp" line="553"/>
<source>&amp;Help</source> <source>&amp;Help</source>
<translation>Pomo&amp;c</translation> <translation>Pomo&amp;c</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="702"/> <location filename="../src/GUI/gui.cpp" line="706"/>
<location filename="../src/GUI/gui.cpp" line="709"/> <location filename="../src/GUI/gui.cpp" line="713"/>
<source>Map directory:</source> <source>Map directory:</source>
<translation>Katalog z mapami:</translation> <translation>Katalog z mapami:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="704"/> <location filename="../src/GUI/gui.cpp" line="708"/>
<location filename="../src/GUI/gui.cpp" line="710"/> <location filename="../src/GUI/gui.cpp" line="714"/>
<source>POI directory:</source> <source>POI directory:</source>
<translation>Katalog z POI:</translation> <translation>Katalog z POI:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="993"/> <location filename="../src/GUI/gui.cpp" line="997"/>
<location filename="../src/GUI/gui.cpp" line="1060"/> <location filename="../src/GUI/gui.cpp" line="1064"/>
<source>Routes</source> <source>Routes</source>
<translation>Trasy</translation> <translation>Trasy</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1311"/> <location filename="../src/GUI/gui.cpp" line="1308"/>
<source>Error loading map:</source> <source>Error loading map:</source>
<translation>Wystąpił błąd podczas ładowania mapy:</translation> <translation>Wystąpił błąd podczas ładowania mapy:</translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1326"/> <location filename="../src/GUI/gui.cpp" line="1323"/>
<source>%n files</source> <source>%n files</source>
<translation> <translation>
<numerusform>%n plik</numerusform> <numerusform>%n plik</numerusform>
@ -711,101 +721,96 @@
</translation> </translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="668"/> <location filename="../src/GUI/gui.cpp" line="672"/>
<source>Next file</source> <source>Next file</source>
<translation>Następny plik</translation> <translation>Następny plik</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="644"/> <location filename="../src/GUI/gui.cpp" line="231"/>
<source>Version </source>
<translation>Wersja </translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="228"/>
<source>Print...</source> <source>Print...</source>
<translation>Drukuj...</translation> <translation>Drukuj...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="235"/> <location filename="../src/GUI/gui.cpp" line="238"/>
<source>Export to PDF...</source> <source>Export to PDF...</source>
<translation>Eksportuj do PDF...</translation> <translation>Eksportuj do PDF...</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="996"/> <location filename="../src/GUI/gui.cpp" line="1000"/>
<location filename="../src/GUI/gui.cpp" line="1062"/> <location filename="../src/GUI/gui.cpp" line="1066"/>
<source>Waypoints</source> <source>Waypoints</source>
<translation>Punkty nawigacyjne</translation> <translation>Punkty nawigacyjne</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="669"/> <location filename="../src/GUI/gui.cpp" line="673"/>
<source>Previous file</source> <source>Previous file</source>
<translation>Poprzedni plik</translation> <translation>Poprzedni plik</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="343"/> <location filename="../src/GUI/gui.cpp" line="346"/>
<source>Route waypoints</source> <source>Route waypoints</source>
<translation>Punkty trasy</translation> <translation>Punkty trasy</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="671"/> <location filename="../src/GUI/gui.cpp" line="675"/>
<source>First file</source> <source>First file</source>
<translation>Pierwszy plik</translation> <translation>Pierwszy plik</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="673"/> <location filename="../src/GUI/gui.cpp" line="677"/>
<source>Last file</source> <source>Last file</source>
<translation>Ostatni plik</translation> <translation>Ostatni plik</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="815"/> <location filename="../src/GUI/gui.cpp" line="819"/>
<source>Error loading data file:</source> <source>Error loading data file:</source>
<translation>Błąd podczas ładowania pliku danych:</translation> <translation>Błąd podczas ładowania pliku danych:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="818"/> <location filename="../src/GUI/gui.cpp" line="822"/>
<location filename="../src/GUI/gui.cpp" line="845"/> <location filename="../src/GUI/gui.cpp" line="857"/>
<source>Line: %1</source> <source>Line: %1</source>
<translation>Linia: %1</translation> <translation>Linia: %1</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="842"/> <location filename="../src/GUI/gui.cpp" line="854"/>
<source>Error loading POI file:</source> <source>Error loading POI file:</source>
<translation>Błąd podczas ładowania pliku POI:</translation> <translation>Błąd podczas ładowania pliku POI:</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1054"/> <location filename="../src/GUI/gui.cpp" line="1058"/>
<source>Name</source> <source>Name</source>
<translation>Nazwa</translation> <translation>Nazwa</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="990"/> <location filename="../src/GUI/gui.cpp" line="994"/>
<location filename="../src/GUI/gui.cpp" line="1058"/> <location filename="../src/GUI/gui.cpp" line="1062"/>
<source>Tracks</source> <source>Tracks</source>
<translation>Ślady</translation> <translation>Ślady</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="218"/> <location filename="../src/GUI/gui.cpp" line="221"/>
<location filename="../src/GUI/gui.cpp" line="643"/> <location filename="../src/GUI/gui.cpp" line="646"/>
<source>About GPXSee</source> <source>About GPXSee</source>
<translation>O programie GPXSee</translation> <translation>O programie GPXSee</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="579"/> <location filename="../src/GUI/gui.cpp" line="582"/>
<source>Navigation</source> <source>Navigation</source>
<translation>Nawigacja</translation> <translation>Nawigacja</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="360"/> <location filename="../src/GUI/gui.cpp" line="363"/>
<location filename="../src/GUI/gui.cpp" line="1013"/> <location filename="../src/GUI/gui.cpp" line="1017"/>
<location filename="../src/GUI/gui.cpp" line="1078"/> <location filename="../src/GUI/gui.cpp" line="1082"/>
<source>Distance</source> <source>Distance</source>
<translation>Dystans</translation> <translation>Dystans</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="367"/> <location filename="../src/GUI/gui.cpp" line="370"/>
<location filename="../src/GUI/gui.cpp" line="533"/> <location filename="../src/GUI/gui.cpp" line="536"/>
<location filename="../src/GUI/gui.cpp" line="1016"/> <location filename="../src/GUI/gui.cpp" line="1020"/>
<location filename="../src/GUI/gui.cpp" line="1080"/> <location filename="../src/GUI/gui.cpp" line="1084"/>
<source>Time</source> <source>Time</source>
<translation>Czas</translation> <translation>Czas</translation>
</message> </message>
@ -816,22 +821,22 @@
<location filename="../src/GUI/gearratiograph.cpp" line="12"/> <location filename="../src/GUI/gearratiograph.cpp" line="12"/>
<location filename="../src/GUI/gearratiograph.h" line="14"/> <location filename="../src/GUI/gearratiograph.h" line="14"/>
<source>Gear ratio</source> <source>Gear ratio</source>
<translation type="unfinished"></translation> <translation>Przełożenie</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gearratiograph.cpp" line="22"/> <location filename="../src/GUI/gearratiograph.cpp" line="22"/>
<source>Most used</source> <source>Most used</source>
<translation type="unfinished"></translation> <translation>Najczęściej używane</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gearratiograph.cpp" line="24"/> <location filename="../src/GUI/gearratiograph.cpp" line="24"/>
<source>Minimum</source> <source>Minimum</source>
<translation type="unfinished">Minimum</translation> <translation>Minimum</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gearratiograph.cpp" line="26"/> <location filename="../src/GUI/gearratiograph.cpp" line="26"/>
<source>Maximum</source> <source>Maximum</source>
<translation type="unfinished">Maksimum</translation> <translation>Maksimum</translation>
</message> </message>
</context> </context>
<context> <context>
@ -839,17 +844,17 @@
<message> <message>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/> <location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<source>Minimum</source> <source>Minimum</source>
<translation type="unfinished">Minimum</translation> <translation>Minimum</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gearratiographitem.cpp" line="38"/> <location filename="../src/GUI/gearratiographitem.cpp" line="38"/>
<source>Maximum</source> <source>Maximum</source>
<translation type="unfinished">Maksimum</translation> <translation>Maksimum</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gearratiographitem.cpp" line="39"/> <location filename="../src/GUI/gearratiographitem.cpp" line="39"/>
<source>Most used</source> <source>Most used</source>
<translation type="unfinished"></translation> <translation>Najczęściej używane</translation>
</message> </message>
</context> </context>
<context> <context>
@ -873,7 +878,7 @@
<message> <message>
<location filename="../src/GUI/graphview.cpp" line="47"/> <location filename="../src/GUI/graphview.cpp" line="47"/>
<source>Data not available</source> <source>Data not available</source>
<translation type="unfinished"></translation> <translation>Brak danych</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/graphview.cpp" line="115"/> <location filename="../src/GUI/graphview.cpp" line="115"/>
@ -923,7 +928,7 @@
<message> <message>
<location filename="../src/GUI/heartrategraph.cpp" line="11"/> <location filename="../src/GUI/heartrategraph.cpp" line="11"/>
<source>bpm</source> <source>bpm</source>
<translation type="unfinished"></translation> <translation>uderzeń/min</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/heartrategraph.cpp" line="22"/> <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="24"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="26"/> <location filename="../src/GUI/heartrategraphitem.cpp" line="26"/>
<source>bpm</source> <source>bpm</source>
<translation type="unfinished"></translation> <translation>uderzeń/min</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="25"/> <location filename="../src/GUI/heartrategraphitem.cpp" line="25"/>
@ -958,32 +963,37 @@
<context> <context>
<name>MapList</name> <name>MapList</name>
<message> <message>
<location filename="../src/map/maplist.cpp" line="114"/> <location filename="../src/map/maplist.cpp" line="117"/>
<source>Supported files</source> <source>Supported files</source>
<translation>Obsługiwane pliki</translation> <translation>Obsługiwane pliki</translation>
</message> </message>
<message> <message>
<location filename="../src/map/maplist.cpp" line="115"/> <location filename="../src/map/maplist.cpp" line="119"/>
<source>Garmin JNX maps</source> <source>MBTiles maps</source>
<translation type="unfinished"></translation> <translation>Mapy MBTiles</translation>
</message> </message>
<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> <source>OziExplorer maps</source>
<translation>Mapy OziExplorer</translation> <translation>Mapy OziExplorer</translation>
</message> </message>
<message> <message>
<location filename="../src/map/maplist.cpp" line="117"/> <location filename="../src/map/maplist.cpp" line="122"/>
<source>TrekBuddy maps/atlases</source> <source>TrekBuddy maps/atlases</source>
<translation>Mapy/atlasy TrekBuddy</translation> <translation>Mapy/atlasy TrekBuddy</translation>
</message> </message>
<message> <message>
<location filename="../src/map/maplist.cpp" line="118"/> <location filename="../src/map/maplist.cpp" line="123"/>
<source>GeoTIFF images</source> <source>GeoTIFF images</source>
<translation>Obrazy GeoTIFF</translation> <translation>Obrazy GeoTIFF</translation>
</message> </message>
<message> <message>
<location filename="../src/map/maplist.cpp" line="119"/> <location filename="../src/map/maplist.cpp" line="124"/>
<source>Online map sources</source> <source>Online map sources</source>
<translation>Źródła map online</translation> <translation>Źródła map online</translation>
</message> </message>
@ -1085,22 +1095,22 @@
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="45"/> <location filename="../src/GUI/optionsdialog.cpp" line="45"/>
<source>High-resolution</source> <source>High-resolution</source>
<translation type="unfinished"></translation> <translation>Wysoka rozdzielczość</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="46"/> <location filename="../src/GUI/optionsdialog.cpp" line="46"/>
<source>Standard</source> <source>Standard</source>
<translation type="unfinished"></translation> <translation>Standardowy</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="51"/> <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> <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>
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="53"/> <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> <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>
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="86"/> <location filename="../src/GUI/optionsdialog.cpp" line="86"/>
@ -1110,7 +1120,7 @@
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="88"/> <location filename="../src/GUI/optionsdialog.cpp" line="88"/>
<source>HiDPI display mode</source> <source>HiDPI display mode</source>
<translation type="unfinished"></translation> <translation>Tryb wyświetlania HiDPI</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="122"/> <location filename="../src/GUI/optionsdialog.cpp" line="122"/>
@ -1260,12 +1270,12 @@
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="348"/> <location filename="../src/GUI/optionsdialog.cpp" line="348"/>
<source>Computed from distance/time</source> <source>Computed from distance/time</source>
<translation type="unfinished"></translation> <translation>Obliczona na postawie odległości/czasu</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="349"/> <location filename="../src/GUI/optionsdialog.cpp" line="349"/>
<source>Recorded by device</source> <source>Recorded by device</source>
<translation type="unfinished"></translation> <translation>Zapisana przez urządzenie</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="364"/> <location filename="../src/GUI/optionsdialog.cpp" line="364"/>
@ -1381,7 +1391,7 @@
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/> <location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<source>Enable HTTP/2</source> <source>Enable HTTP/2</source>
<translation type="unfinished"></translation> <translation>Włącz HTTP/2</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="485"/> <location filename="../src/GUI/optionsdialog.cpp" line="485"/>
@ -1412,7 +1422,7 @@
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="532"/> <location filename="../src/GUI/optionsdialog.cpp" line="532"/>
<source>Maps</source> <source>Maps</source>
<translation type="unfinished"></translation> <translation>Mapy</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="533"/> <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="24"/>
<location filename="../src/GUI/powergraphitem.cpp" line="26"/> <location filename="../src/GUI/powergraphitem.cpp" line="26"/>
<source>W</source> <source>W</source>
<translation type="unfinished">W</translation> <translation>W</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/powergraphitem.cpp" line="25"/> <location filename="../src/GUI/powergraphitem.cpp" line="25"/>

View File

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

View File

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

View File

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

View File

@ -1,36 +1,13 @@
!include "MUI2.nsh" !include "MUI2.nsh"
!include "x64.nsh" !include "x64.nsh"
!include "WinVer.nsh" !include "WinVer.nsh"
!include "macros.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
; The name of the installer ; The name of the installer
Name "GPXSee" Name "GPXSee"
; Program version ; Program version
!define VERSION "5.18" !define VERSION "6.3"
; The file to write ; The file to write
OutFile "GPXSee-${VERSION}.exe" OutFile "GPXSee-${VERSION}.exe"
@ -153,10 +130,12 @@ Section "QT framework" SEC_QT
File "Qt5Widgets.dll" File "Qt5Widgets.dll"
File "Qt5PrintSupport.dll" File "Qt5PrintSupport.dll"
File "Qt5Network.dll" File "Qt5Network.dll"
File "Qt5Sql.dll"
File /r "platforms" File /r "platforms"
File /r "imageformats" File /r "imageformats"
File /r "printsupport" File /r "printsupport"
File /r "styles" File /r "styles"
File /r "sqldrivers"
SectionEnd SectionEnd
@ -201,9 +180,11 @@ SectionEnd
SectionGroup "Localization" SEC_LOCALIZATION SectionGroup "Localization" SEC_LOCALIZATION
!insertmacro LOCALIZATION "Czech" "cs" !insertmacro LOCALIZATION "Czech" "cs"
!insertmacro LOCALIZATION "Danish" "da"
!insertmacro LOCALIZATION "Finnish" "fi" !insertmacro LOCALIZATION "Finnish" "fi"
!insertmacro LOCALIZATION "French" "fr" !insertmacro LOCALIZATION "French" "fr"
!insertmacro LOCALIZATION "German" "de" !insertmacro LOCALIZATION "German" "de"
!insertmacro LOCALIZATION "Norwegian" "nb"
!insertmacro LOCALIZATION "Polish" "pl" !insertmacro LOCALIZATION "Polish" "pl"
!insertmacro LOCALIZATION "Russian" "ru" !insertmacro LOCALIZATION "Russian" "ru"
!insertmacro LOCALIZATION "Swedish" "sv" !insertmacro LOCALIZATION "Swedish" "sv"

View File

@ -1,36 +1,13 @@
!include "MUI2.nsh" !include "MUI2.nsh"
!include "x64.nsh" !include "x64.nsh"
!include "WinVer.nsh" !include "WinVer.nsh"
!include "macros.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
; The name of the installer ; The name of the installer
Name "GPXSee" Name "GPXSee"
; Program version ; Program version
!define VERSION "5.18" !define VERSION "6.3"
; The file to write ; The file to write
OutFile "GPXSee-${VERSION}_x64.exe" OutFile "GPXSee-${VERSION}_x64.exe"
@ -160,10 +137,12 @@ Section "QT framework" SEC_QT
File "Qt5Widgets.dll" File "Qt5Widgets.dll"
File "Qt5PrintSupport.dll" File "Qt5PrintSupport.dll"
File "Qt5Network.dll" File "Qt5Network.dll"
File "Qt5Sql.dll"
File /r "platforms" File /r "platforms"
File /r "imageformats" File /r "imageformats"
File /r "printsupport" File /r "printsupport"
File /r "styles" File /r "styles"
File /r "sqldrivers"
SectionEnd SectionEnd
@ -203,9 +182,11 @@ SectionEnd
SectionGroup "Localization" SEC_LOCALIZATION SectionGroup "Localization" SEC_LOCALIZATION
!insertmacro LOCALIZATION "Czech" "cs" !insertmacro LOCALIZATION "Czech" "cs"
!insertmacro LOCALIZATION "Danish" "da"
!insertmacro LOCALIZATION "Finnish" "fi" !insertmacro LOCALIZATION "Finnish" "fi"
!insertmacro LOCALIZATION "French" "fr" !insertmacro LOCALIZATION "French" "fr"
!insertmacro LOCALIZATION "German" "de" !insertmacro LOCALIZATION "German" "de"
!insertmacro LOCALIZATION "Norwegian" "nb"
!insertmacro LOCALIZATION "Polish" "pl" !insertmacro LOCALIZATION "Polish" "pl"
!insertmacro LOCALIZATION "Russian" "ru" !insertmacro LOCALIZATION "Russian" "ru"
!insertmacro LOCALIZATION "Swedish" "sv" !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 <QNetworkProxyFactory>
#include <QNetworkAccessManager> #include <QNetworkAccessManager>
#include <QLibraryInfo> #include <QLibraryInfo>
#include <QSettings>
#include "map/downloader.h" #include "map/downloader.h"
#include "map/ellipsoid.h" #include "map/ellipsoid.h"
#include "map/gcs.h" #include "map/gcs.h"
@ -12,6 +13,7 @@
#include "opengl.h" #include "opengl.h"
#include "gui.h" #include "gui.h"
#include "config.h" #include "config.h"
#include "settings.h"
#include "app.h" #include "app.h"
@ -36,7 +38,21 @@ App::App(int &argc, char **argv) : QApplication(argc, argv),
#endif // Q_OS_MAC #endif // Q_OS_MAC
QNetworkProxyFactory::setUseSystemConfiguration(true); 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); OPENGL_SET_SAMPLES(4);
loadDatums(); loadDatums();
loadPCSs(); loadPCSs();

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -18,7 +18,7 @@
#define MAX_DIGITAL_ZOOM 2 #define MAX_DIGITAL_ZOOM 2
#define MIN_DIGITAL_ZOOM -3 #define MIN_DIGITAL_ZOOM -3
#define MARGIN 10.0 #define MARGIN 10
#define SCALE_OFFSET 7 #define SCALE_OFFSET 7
MapView::MapView(Map *map, POI *poi, QWidget *parent) 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 <cmath>
#include <QApplication>
#include <QCursor> #include <QCursor>
#include <QPainter> #include <QPainter>
#include "common/greatcircle.h" #include "common/greatcircle.h"
#include "map/map.h" #include "map/map.h"
#include "tooltip.h"
#include "nicenum.h"
#include "pathitem.h" #include "pathitem.h"
@ -49,9 +46,27 @@ void PathItem::updateShape()
void PathItem::addSegment(const Coordinates &c1, const Coordinates &c2) void PathItem::addSegment(const Coordinates &c1, const Coordinates &c2)
{ {
if (fabs(c1.lon() - c2.lon()) > 180.0) if (fabs(c1.lon() - c2.lon()) > 180.0) {
_painterPath.moveTo(_map->ll2xy(c2)); // Split segment on date line crossing
else 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)); _painterPath.lineTo(_map->ll2xy(c2));
} }

View File

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

View File

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

View File

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

View File

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

View File

@ -8,7 +8,7 @@ class Range
{ {
public: public:
Range() {_min = 0; _max = 0;} 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 min() const {return _min;}
int max() const {return _max;} int max() const {return _max;}
@ -19,6 +19,8 @@ public:
void setMin(int min) {_min = min;} void setMin(int min) {_min = min;}
void setMax(int max) {_max = max;} void setMax(int max) {_max = max;}
bool contains(int val) const {return (val >= _min && val <= _max);}
private: private:
int _min, _max; int _min, _max;
}; };
@ -27,7 +29,7 @@ class RangeF
{ {
public: public:
RangeF() {_min = 0; _max = 0;} 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) const;
RangeF &operator&=(const RangeF &r) {*this = *this & r; return *this;} 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, {return Coordinates((_tl.lon() + _br.lon()) / 2.0,
(_tl.lat() + _br.lat()) / 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) const;
RectC &operator|=(const RectC &r) {*this = *this | r; return *this;} RectC &operator|=(const RectC &r) {*this = *this | r; return *this;}
RectC operator&(const RectC &r) const; 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 <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) 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(); 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++) 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())); it.value()->errorLine(), qPrintable(it.value()->errorString()));
_errorLine = 0; _errorLine = 0;

View File

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

View File

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

View File

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

View File

@ -3,7 +3,7 @@
void SLFParser::warning(const char *text) const void SLFParser::warning(const char *text) const
{ {
const QFile *file = static_cast<QFile *>(_reader.device()); 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); _reader.lineNumber(), text);
} }

View File

@ -4,7 +4,7 @@
void TCXParser::warning(const char *text) const void TCXParser::warning(const char *text) const
{ {
const QFile *file = static_cast<QFile *>(_reader.device()); 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); _reader.lineNumber(), text);
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -4,19 +4,12 @@
#include "onlinemap.h" #include "onlinemap.h"
#include "wmtsmap.h" #include "wmtsmap.h"
#include "wmsmap.h" #include "wmsmap.h"
#include "osm.h"
#include "mapsource.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(OSM::ZOOMS), bounds(OSM::BOUNDS),
MapSource::Config::Config() : type(OSM), zooms(ZOOM_MIN, ZOOM_MAX), format("image/png"), rest(false), tileRatio(1.0) {}
bounds(Coordinates(BOUNDS_LEFT, BOUNDS_TOP), Coordinates(BOUNDS_RIGHT,
BOUNDS_BOTTOM)), format("image/png"), rest(false), tileRatio(1.0) {}
static CoordinateSystem coordinateSystem(QXmlStreamReader &reader) static CoordinateSystem coordinateSystem(QXmlStreamReader &reader)
@ -38,21 +31,21 @@ Range MapSource::zooms(QXmlStreamReader &reader)
if (attr.hasAttribute("min")) { if (attr.hasAttribute("min")) {
min = attr.value("min").toString().toInt(&res); 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"); reader.raiseError("Invalid minimal zoom level");
return Range(); return Range();
} }
} else } else
min = ZOOM_MIN; min = OSM::ZOOMS.min();
if (attr.hasAttribute("max")) { if (attr.hasAttribute("max")) {
max = attr.value("max").toString().toInt(&res); 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"); reader.raiseError("Invalid maximal zoom level");
return Range(); return Range();
} }
} else } else
max = ZOOM_MAX; max = OSM::ZOOMS.max();
if (min > max) { if (min > max) {
reader.raiseError("Invalid maximal/minimal zoom level combination"); reader.raiseError("Invalid maximal/minimal zoom level combination");
@ -70,39 +63,41 @@ RectC MapSource::bounds(QXmlStreamReader &reader)
if (attr.hasAttribute("top")) { if (attr.hasAttribute("top")) {
top = attr.value("top").toString().toDouble(&res); 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"); reader.raiseError("Invalid bounds top value");
return RectC(); return RectC();
} }
} else } else
top = BOUNDS_TOP; top = OSM::BOUNDS.top();
if (attr.hasAttribute("bottom")) { if (attr.hasAttribute("bottom")) {
bottom = attr.value("bottom").toString().toDouble(&res); 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"); reader.raiseError("Invalid bounds bottom value");
return RectC(); return RectC();
} }
} else } else
bottom = BOUNDS_BOTTOM; bottom = OSM::BOUNDS.bottom();
if (attr.hasAttribute("left")) { if (attr.hasAttribute("left")) {
left = attr.value("left").toString().toDouble(&res); 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"); reader.raiseError("Invalid bounds left value");
return RectC(); return RectC();
} }
} else } else
left = BOUNDS_LEFT; left = OSM::BOUNDS.left();
if (attr.hasAttribute("right")) { if (attr.hasAttribute("right")) {
right = attr.value("right").toString().toDouble(&res); 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"); reader.raiseError("Invalid bounds right value");
return RectC(); return RectC();
} }
} else } else
right = BOUNDS_RIGHT; right = OSM::BOUNDS.right();
if (bottom >= top) { if (bottom >= top) {
reader.raiseError("Invalid bottom/top bounds combination"); reader.raiseError("Invalid bottom/top bounds combination");
@ -119,8 +114,20 @@ RectC MapSource::bounds(QXmlStreamReader &reader)
void MapSource::map(QXmlStreamReader &reader, Config &config) void MapSource::map(QXmlStreamReader &reader, Config &config)
{ {
const QXmlStreamAttributes &attr = reader.attributes(); const QXmlStreamAttributes &attr = reader.attributes();
config.type = (attr.value("type") == "WMTS") ? WMTS QStringRef type = attr.value("type");
: (attr.value("type") == "WMS") ? WMS : OSM;
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()) { while (reader.readNextStartElement()) {
if (reader.name() == "name") if (reader.name() == "name")
@ -149,8 +156,8 @@ void MapSource::map(QXmlStreamReader &reader, Config &config)
if (!attr.hasAttribute("id")) if (!attr.hasAttribute("id"))
reader.raiseError("Missing dimension id"); reader.raiseError("Missing dimension id");
else else
config.dimensions.append(QPair<QString, QString>( config.dimensions.append(KV(attr.value("id").toString(),
attr.value("id").toString(), reader.readElementText())); reader.readElementText()));
} else if (reader.name() == "crs") { } else if (reader.name() == "crs") {
config.coordinateSystem = coordinateSystem(reader); config.coordinateSystem = coordinateSystem(reader);
config.crs = reader.readElementText(); 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, return new WMTSMap(config.name, WMTS::Setup(config.url, config.layer,
config.set, config.style, config.format, config.rest, config.set, config.style, config.format, config.rest,
config.coordinateSystem, config.dimensions, config.authorization), config.coordinateSystem, config.dimensions, config.authorization),
config.tileRatio); config.tileRatio);
else if (config.type == WMS) case WMS:
return new WMSMap(config.name, WMS::Setup(config.url, config.layer, return new WMSMap(config.name, WMS::Setup(config.url, config.layer,
config.style, config.format, config.crs, config.coordinateSystem, config.style, config.format, config.crs, config.coordinateSystem,
config.dimensions, config.authorization)); config.dimensions, config.authorization));
else case TMS:
return new OnlineMap(config.name, config.url, config.zooms, 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 <QList>
#include "common/range.h" #include "common/range.h"
#include "common/rectc.h" #include "common/rectc.h"
#include "common/kv.h"
#include "downloader.h" #include "downloader.h"
#include "coordinatesystem.h" #include "coordinatesystem.h"
@ -19,7 +20,8 @@ private:
enum Type { enum Type {
OSM, OSM,
WMTS, WMTS,
WMS WMS,
TMS
}; };
struct Config { struct Config {
@ -35,7 +37,7 @@ private:
QString crs; QString crs;
CoordinateSystem coordinateSystem; CoordinateSystem coordinateSystem;
bool rest; bool rest;
QList<QPair<QString, QString> > dimensions; QList<KV> dimensions;
Authorization authorization; Authorization authorization;
qreal tileRatio; 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 <QPainter>
#include "common/coordinates.h"
#include "common/rectc.h" #include "common/rectc.h"
#include "common/wgs84.h"
#include "downloader.h" #include "downloader.h"
#include "osm.h"
#include "config.h" #include "config.h"
#include "onlinemap.h" #include "onlinemap.h"
#define TILE_SIZE 256 #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, OnlineMap::OnlineMap(const QString &name, const QString &url,
const Range &zooms, const RectC &bounds, qreal tileRatio, 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), : 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(TILES_DIR + "/" + _name, this);
_tileLoader = new TileLoader(this);
_tileLoader->setUrl(url); _tileLoader->setUrl(url);
_tileLoader->setDir(dir);
_tileLoader->setAuthorization(authorization); _tileLoader->setAuthorization(authorization);
connect(_tileLoader, SIGNAL(finished()), this, SIGNAL(loaded())); connect(_tileLoader, SIGNAL(finished()), this, SIGNAL(loaded()));
if (!QDir().mkpath(dir)) {
_errorString = "Error creating tiles dir";
return;
}
_valid = true;
} }
QRectF OnlineMap::bounds() QRectF OnlineMap::bounds()
@ -83,9 +42,10 @@ int OnlineMap::zoomFit(const QSize &size, const RectC &rect)
if (!rect.isValid()) if (!rect.isValid())
_zoom = _zooms.max(); _zoom = _zooms.max();
else { 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()); 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; return _zoom;
@ -93,10 +53,7 @@ int OnlineMap::zoomFit(const QSize &size, const RectC &rect)
qreal OnlineMap::resolution(const QRectF &rect) qreal OnlineMap::resolution(const QRectF &rect)
{ {
qreal scale = zoom2scale(_zoom); return OSM::resolution(rect.center(), _zoom, TILE_SIZE);
return (WGS84_RADIUS * 2.0 * M_PI * scale / 360.0
* cos(2.0 * atan(exp(deg2rad(-rect.center().y() * scale))) - M_PI/2));
} }
int OnlineMap::zoomIn() int OnlineMap::zoomIn()
@ -128,20 +85,23 @@ qreal OnlineMap::tileSize() const
void OnlineMap::draw(QPainter *painter, const QRectF &rect, Flags flags) void OnlineMap::draw(QPainter *painter, const QRectF &rect, Flags flags)
{ {
qreal scale = zoom2scale(_zoom); qreal scale = OSM::zoom2scale(_zoom, TILE_SIZE);
QRectF b(bounds());
QPoint tile = mercator2tile(QPointF(rect.topLeft().x() * scale, QPoint tile = OSM::mercator2tile(QPointF(rect.topLeft().x() * scale,
-rect.topLeft().y() * scale) * coordinatesRatio(), _zoom); -rect.topLeft().y() * scale) * coordinatesRatio(), _zoom);
QPointF tl(floor(rect.left() / tileSize()) QPointF tl(floor(rect.left() / tileSize())
* tileSize(), floor(rect.top() / tileSize()) * tileSize()); * tileSize(), floor(rect.top() / tileSize()) * tileSize());
QList<Tile> tiles; QSizeF s(rect.right() - tl.x(), rect.bottom() - tl.y());
QSizeF s(qMin(rect.right() - tl.x(), b.width()), int width = _zoom ? qCeil(s.width() / tileSize()) : 1;
qMin(rect.bottom() - tl.y(), b.height())); int height = _zoom ? qCeil(s.height() / tileSize()) : 1;
for (int i = 0; i < ceil(s.width() / tileSize()); i++)
for (int j = 0; j < ceil(s.height() / tileSize()); j++) QVector<Tile> tiles;
tiles.append(Tile(QPoint(tile.x() + i, tile.y() + j), _zoom)); 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) if (flags & Map::Block)
_tileLoader->loadTilesSync(tiles); _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++) { for (int i = 0; i < tiles.count(); i++) {
Tile &t = tiles[i]; Tile &t = tiles[i];
QPointF tp(qMax(tl.x(), b.left()) + (t.xy().x() - tile.x()) * tileSize(), QPointF tp = _zoom ? QPointF(tl.x() + (t.xy().x() - tile.x())
qMax(tl.y(), b.top()) + (t.xy().y() - tile.y()) * tileSize()); * tileSize(), tl.y() + ((_invertY ? (1<<_zoom) - t.xy().y() - 1 :
t.xy().y()) - tile.y()) * tileSize()) : QPointF(-128, -128);
if (!t.pixmap().isNull()) { if (!t.pixmap().isNull()) {
#ifdef ENABLE_HIDPI #ifdef ENABLE_HIDPI
t.pixmap().setDevicePixelRatio(imageRatio()); t.pixmap().setDevicePixelRatio(imageRatio());
@ -163,13 +125,14 @@ void OnlineMap::draw(QPainter *painter, const QRectF &rect, Flags flags)
QPointF OnlineMap::ll2xy(const Coordinates &c) QPointF OnlineMap::ll2xy(const Coordinates &c)
{ {
qreal scale = zoom2scale(_zoom); qreal scale = OSM::zoom2scale(_zoom, TILE_SIZE);
QPointF m = ll2m(c); QPointF m = OSM::ll2m(c);
return QPointF(m.x() / scale, m.y() / -scale) / coordinatesRatio(); return QPointF(m.x() / scale, m.y() / -scale) / coordinatesRatio();
} }
Coordinates OnlineMap::xy2ll(const QPointF &p) Coordinates OnlineMap::xy2ll(const QPointF &p)
{ {
qreal scale = zoom2scale(_zoom); qreal scale = OSM::zoom2scale(_zoom, TILE_SIZE);
return m2ll(QPointF(p.x() * scale, -p.y() * scale) * coordinatesRatio()); return OSM::m2ll(QPointF(p.x() * scale, -p.y() * scale)
* coordinatesRatio());
} }

View File

@ -13,7 +13,7 @@ class OnlineMap : public Map
public: public:
OnlineMap(const QString &name, const QString &url, const Range &zooms, OnlineMap(const QString &name, const QString &url, const Range &zooms,
const RectC &bounds, qreal tileRatio, const Authorization &authorization, const RectC &bounds, qreal tileRatio, const Authorization &authorization,
QObject *parent = 0); bool invertY, QObject *parent = 0);
QString name() const {return _name;} QString name() const {return _name;}
@ -34,9 +34,6 @@ public:
void setDevicePixelRatio(qreal ratio) {_deviceRatio = ratio;} void setDevicePixelRatio(qreal ratio) {_deviceRatio = ratio;}
void clearCache() {_tileLoader->clearCache();} void clearCache() {_tileLoader->clearCache();}
bool isValid() const {return _valid;}
QString errorString() const {return _errorString;}
private: private:
int limitZoom(int zoom) const; int limitZoom(int zoom) const;
qreal tileSize() const; qreal tileSize() const;
@ -49,9 +46,7 @@ private:
RectC _bounds; RectC _bounds;
int _zoom; int _zoom;
qreal _deviceRatio, _tileRatio; qreal _deviceRatio, _tileRatio;
bool _invertY;
bool _valid;
QString _errorString;
}; };
#endif // ONLINEMAP_H #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(); QByteArray line = file.readLine();
int pos = line.indexOf(':'); int pos = line.indexOf(':');
if (line.size() < 10 || pos < 7 || !line.startsWith("block")) { 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(); _index.clear();
return false; return false;
} }

View File

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

View File

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

View File

@ -11,22 +11,21 @@ class TileLoader : public QObject
Q_OBJECT Q_OBJECT
public: public:
TileLoader(QObject *parent = 0); TileLoader(const QString &dir, QObject *parent = 0);
void setUrl(const QString &url) {_url = url;} void setUrl(const QString &url) {_url = url;}
void setDir(const QString &dir) {_dir = dir;}
void setAuthorization(const Authorization &authorization) void setAuthorization(const Authorization &authorization)
{_authorization = authorization;} {_authorization = authorization;}
void loadTilesAsync(QList<Tile> &list); void loadTilesAsync(QVector<Tile> &list);
void loadTilesSync(QList<Tile> &list); void loadTilesSync(QVector<Tile> &list);
void clearCache(); void clearCache();
signals: signals:
void finished(); void finished();
private: private:
QString tileUrl(const Tile &tile) const; QUrl tileUrl(const Tile &tile) const;
QString tileFile(const Tile &tile) const; QString tileFile(const Tile &tile) const;
Downloader *_downloader; 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) WMS::WMS(const QString &file, const WMS::Setup &setup) : _valid(false)
{ {
QString capaUrl = QString("%1?service=WMS&request=GetCapabilities") QString capaUrl = QString("%1%2service=WMS&request=GetCapabilities")
.arg(setup.url()); .arg(setup.url(), setup.url().contains('?') ? "&" : "?");
if (!QFileInfo(file).exists()) if (!QFileInfo(file).exists())
if (!getCapabilities(capaUrl, file, setup.authorization())) if (!getCapabilities(capaUrl, file, setup.authorization()))

View File

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

View File

@ -1,3 +1,4 @@
#include <QtCore>
#include <QDir> #include <QDir>
#include <QPainter> #include <QPainter>
#include "common/wgs84.h" #include "common/wgs84.h"
@ -20,11 +21,11 @@ QString WMSMap::tileUrl(const QString &version) const
{ {
QString url; QString url;
url = QString("%1?version=%2&request=GetMap&bbox=$bbox" url = QString("%1%2version=%3&request=GetMap&bbox=$bbox"
"&width=%3&height=%4&layers=%5&styles=%6&format=%7&transparent=true") "&width=%4&height=%5&layers=%6&styles=%7&format=%8&transparent=true")
.arg(_setup.url(), version, QString::number(TILE_SIZE), .arg(_setup.url(), _setup.url().contains('?') ? "&" : "?", version,
QString::number(TILE_SIZE), _setup.layer(), _setup.style(), QString::number(TILE_SIZE), QString::number(TILE_SIZE), _setup.layer(),
_setup.format()); _setup.style(), _setup.format());
if (version >= "1.3.0") if (version >= "1.3.0")
url.append(QString("&CRS=%1").arg(_setup.crs())); 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())); url.append(QString("&SRS=%1").arg(_setup.crs()));
for (int i = 0; i < _setup.dimensions().size(); i++) { for (int i = 0; i < _setup.dimensions().size(); i++) {
const QPair<QString, QString> &dim = _setup.dimensions().at(i); const KV &dim = _setup.dimensions().at(i);
url.append(QString("&%1=%2").arg(dim.first, dim.second)); url.append(QString("&%1=%2").arg(dim.key(), dim.value()));
} }
return url; return url;
@ -50,9 +51,9 @@ void WMSMap::computeZooms(const RangeF &scaleDenominator)
if (scaleDenominator.size() > 0) { if (scaleDenominator.size() > 0) {
double ld = log2(scaleDenominator.max()) - log2(scaleDenominator.min()); double ld = log2(scaleDenominator.max()) - log2(scaleDenominator.min());
int cld = ceil(ld); int cld = (int)ceil(ld);
double step = ld / (qreal)cld; double step = ld / (double)cld;
qreal lmax = log2(scaleDenominator.max()); double lmax = log2(scaleDenominator.max());
for (int i = 0; i <= cld; i++) for (int i = 0; i <= cld; i++)
_zooms.append(pow(2.0, lmax - i * step)); _zooms.append(pow(2.0, lmax - i * step));
} else } 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), : Map(parent), _name(name), _setup(setup), _tileLoader(0), _zoom(0),
_ratio(1.0), _valid(false) _ratio(1.0), _valid(false)
{ {
if (!QDir().mkpath(tilesDir())) { _tileLoader = new TileLoader(tilesDir(), this);
_errorString = "Error creating tiles dir";
return;
}
_tileLoader = new TileLoader(this);
_tileLoader->setDir(tilesDir());
_tileLoader->setAuthorization(_setup.authorization()); _tileLoader->setAuthorization(_setup.authorization());
connect(_tileLoader, SIGNAL(finished()), this, SIGNAL(loaded())); connect(_tileLoader, SIGNAL(finished()), this, SIGNAL(loaded()));
@ -124,7 +119,7 @@ void WMSMap::clearCache()
_zoom = 0; _zoom = 0;
if (!loadWMS()) if (!loadWMS())
qWarning("%s: %s\n", qPrintable(_name), qPrintable(_errorString)); qWarning("%s: %s", qPrintable(_name), qPrintable(_errorString));
} }
QRectF WMSMap::bounds() QRectF WMSMap::bounds()
@ -194,12 +189,13 @@ qreal WMSMap::tileSize() const
void WMSMap::draw(QPainter *painter, const QRectF &rect, Flags flags) void WMSMap::draw(QPainter *painter, const QRectF &rect, Flags flags)
{ {
QPoint tl = QPoint((int)floor(rect.left() / tileSize()), QPoint tl = QPoint(qFloor(rect.left() / tileSize()),
(int)floor(rect.top() / tileSize())); qFloor(rect.top() / tileSize()));
QPoint br = QPoint((int)ceil(rect.right() / tileSize()), QPoint br = QPoint(qCeil(rect.right() / tileSize()),
(int)ceil(rect.bottom() / 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 i = tl.x(); i < br.x(); i++) {
for (int j = tl.y(); j < br.y(); j++) { for (int j = tl.y(); j < br.y(); j++) {
PointD ttl(_transform.img2proj(QPointF(i * TILE_SIZE, 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; return true;
} }
bool WMTS::getCapabilities(const QString &url, const QString &file, bool WMTS::downloadCapabilities(const QString &url, const QString &file,
const Authorization &authorization) const Authorization &authorization)
{ {
Downloader d; 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) WMTS::WMTS(const QString &file, const WMTS::Setup &setup) : _valid(false)
{ {
QString capaUrl = setup.rest() ? setup.url() : QUrl url(setup.rest() ? setup.url() : QString(
QString("%1?service=WMTS&Version=1.0.0&request=GetCapabilities") "%1%2service=WMTS&Version=1.0.0&request=GetCapabilities").arg(setup.url(),
.arg(setup.url()); setup.url().contains('?') ? "&" : "?"));
if (!QFileInfo(file).exists()) if (!url.isLocalFile() && !QFileInfo(file).exists())
if (!getCapabilities(capaUrl, file, setup.authorization())) if (!downloadCapabilities(url.toString(), file, setup.authorization()))
return; return;
if (!parseCapabilities(file, setup)) if (!parseCapabilities(url.isLocalFile() ? url.toLocalFile() : file, setup))
return; return;
QString style = setup.style().isEmpty() ? "default" : setup.style(); QString style = setup.style().isEmpty() ? "default" : setup.style();
if (!setup.rest()) { if (!setup.rest()) {
_tileUrl = QString("%1?service=WMTS&Version=1.0.0&request=GetTile" _tileUrl = QString("%1%2service=WMTS&Version=1.0.0&request=GetTile"
"&Format=%2&Layer=%3&Style=%4&TileMatrixSet=%5&TileMatrix=$z" "&Format=%3&Layer=%4&Style=%5&TileMatrixSet=%6&TileMatrix=$z"
"&TileRow=$y&TileCol=$x").arg(setup.url(), setup.format(), "&TileRow=$y&TileCol=$x").arg(setup.url(),
setup.url().contains('?') ? "&" : "?" , setup.format(),
setup.layer(), style, setup.set()); setup.layer(), style, setup.set());
for (int i = 0; i < setup.dimensions().size(); i++) { for (int i = 0; i < setup.dimensions().size(); i++) {
const QPair<QString, QString> &dim = setup.dimensions().at(i); const KV &dim = setup.dimensions().at(i);
_tileUrl.append(QString("&%1=%2").arg(dim.first, dim.second)); _tileUrl.append(QString("&%1=%2").arg(dim.key(), dim.value()));
} }
} else { } else {
_tileUrl.replace("{Style}", style, Qt::CaseInsensitive); _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("{TileRow}", "$y", Qt::CaseInsensitive);
_tileUrl.replace("{TileCol}", "$x", Qt::CaseInsensitive); _tileUrl.replace("{TileCol}", "$x", Qt::CaseInsensitive);
for (int i = 0; i < setup.dimensions().size(); i++) { for (int i = 0; i < setup.dimensions().size(); i++) {
const QPair<QString, QString> &dim = setup.dimensions().at(i); const KV &dim = setup.dimensions().at(i);
_tileUrl.replace(QString("{%1}").arg(dim.first), dim.second, _tileUrl.replace(QString("{%1}").arg(dim.key()), dim.value(),
Qt::CaseInsensitive); Qt::CaseInsensitive);
} }
} }

View File

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

View File

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