1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2025-07-10 01:04:27 +02:00

Compare commits

..

41 Commits
7.30 ... 7.32

Author SHA1 Message Date
2605e1abeb Translated using Weblate (Czech)
Currently translated at 100.0% (360 of 360 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/cs/
2020-09-20 23:24:26 +02:00
8fd17badda Merge branch 'origin/master' into Weblate. 2020-09-20 23:05:55 +02:00
7d62ef038c Version++ 2020-09-20 23:05:38 +02:00
138e0e9505 Merge branch 'origin/master' into Weblate. 2020-09-20 22:32:56 +02:00
5dffb2714b Translated using Weblate (Turkish)
Currently translated at 100.0% (360 of 360 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/tr/
2020-09-20 22:32:55 +02:00
5d8330a68a Use a Qt<5.5 compatible vector append 2020-09-20 22:31:56 +02:00
ff30163175 Merge branch 'origin/master' into Weblate. 2020-09-20 22:19:21 +02:00
743fb20a95 Localization update 2020-09-20 22:19:05 +02:00
50f483663c Added configurable segments usage 2020-09-20 22:18:35 +02:00
96997ffa35 Merge branch 'origin/master' into Weblate. 2020-09-18 20:57:49 +02:00
d738ad7b5a Level 0 2020-09-18 20:56:00 +02:00
01d69a4f2a Merge branch 'origin/master' into Weblate. 2020-09-14 16:34:15 +02:00
0e026d6a96 Properly parse TCX trackpoint extensions 2020-09-14 16:33:44 +02:00
07825e5701 Merge branch 'origin/master' into Weblate. 2020-08-30 20:39:45 +02:00
03e7d092c4 Code cleanup 2020-08-26 18:20:15 +02:00
0b5d01a1f6 A little bit more sane subfile interface 2020-08-26 17:58:21 +02:00
08aa087f61 Translated using Weblate (Polish)
Currently translated at 100.0% (359 of 359 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/pl/
2020-07-23 19:41:57 +02:00
6604f85f4a Translated using Weblate (Polish)
Currently translated at 100.0% (359 of 359 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/pl/
2020-07-23 19:41:56 +02:00
5343a1a922 "multi-size" app icons on linux
+ icon structure cleanup
2020-07-10 00:57:31 +02:00
d6e0757364 Fixed object interconnection 2020-07-06 23:19:42 +02:00
51becc4bf1 Dummy non-class callback functions are not needed 2020-07-02 23:51:15 +02:00
29a821f8b2 Code cleanup 2020-07-02 00:17:41 +02:00
14f4dead76 Merge branch 'origin/master' into Weblate. 2020-06-29 23:46:00 +02:00
96bb3bbdbb Removed obsolete stuff 2020-06-29 23:46:06 +02:00
22d18b6d4e Merge branch 'origin/master' into Weblate. 2020-06-28 21:02:09 +02:00
c1b79217a9 Update gpxsee_en.ts (#296) 2020-06-28 21:02:05 +02:00
e67a14b072 Merge branch 'origin/master' into Weblate. 2020-06-28 19:52:37 +02:00
473d03cf1f Fixed broken extended objects segment fetching 2020-06-28 19:51:59 +02:00
a339706293 Version++ 2020-06-27 22:51:53 +02:00
39c414ca73 Merge branch 'origin/master' into Weblate. 2020-06-27 22:51:44 +02:00
c59d60faed Merge branch 'origin/master' into Weblate. 2020-06-27 22:50:15 +02:00
32d3eab10e Initial (and partial) IMG links support
+ various IMG fixes (RGN parsing, IMG parsing)
2020-06-27 22:46:26 +02:00
e7729e8745 Added missing Italian localization stuff 2020-06-27 18:05:50 +02:00
bf145c9eb5 Merge branch 'origin/master' into Weblate. 2020-06-27 18:05:48 +02:00
de0a6b0397 Merge branch 'origin/master' into Weblate. 2020-06-27 18:00:07 +02:00
8cf89a580f Removed Arabic translation stub as noone is evidently gona use it despite
the Weblate request...
2020-06-27 17:59:15 +02:00
152e2a8a09 Merge branch 'origin/master' into Weblate. 2020-06-27 17:57:23 +02:00
6b860fe18c added italian translation (#295)
Added italian translation
2020-06-27 17:57:18 +02:00
95f138f5f0 Translated using Weblate (German)
Currently translated at 100.0% (359 of 359 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/de/
2020-06-11 13:41:42 +02:00
1fc4dbbb73 Cosmetics 2020-05-30 17:10:13 +02:00
0999cdcba2 Fixed Qt version with time zones support
+ reverted broken Qt version check for opengl
2020-05-30 17:06:06 +02:00
72 changed files with 3567 additions and 1795 deletions

View File

@ -1,4 +1,4 @@
version: 7.30.{build}
version: 7.32.{build}
configuration:
- Release

View File

@ -3,7 +3,7 @@ unix:!macx {
} else {
TARGET = GPXSee
}
VERSION = 7.30
VERSION = 7.32
QT += core \
gui \
@ -14,7 +14,8 @@ greaterThan(QT_MAJOR_VERSION, 4) {
QT += widgets
QT += printsupport
}
lessThan(QT_VERSION, 5.4.0) {QT += opengl}
lessThan(QT_MAJOR_VERSION, 5) {QT += opengl}
equals(QT_MAJOR_VERSION, 5) : lessThan(QT_MINOR_VERSION, 4) {QT += opengl}
INCLUDEPATH += ./src
HEADERS += src/common/config.h \
@ -94,6 +95,7 @@ HEADERS += src/common/config.h \
src/map/IMG/gmap.h \
src/map/IMG/huffmanstream.h \
src/map/IMG/huffmantable.h \
src/map/IMG/nodfile.h \
src/map/IMG/mapdata.h \
src/map/IMG/rastertile.h \
src/map/IMG/textpathitem.h \
@ -256,6 +258,7 @@ SOURCES += src/main.cpp \
src/map/IMG/gmap.cpp \
src/map/IMG/huffmanstream.cpp \
src/map/IMG/huffmantable.cpp \
src/map/IMG/nodfile.cpp \
src/map/IMG/mapdata.cpp \
src/map/IMG/rastertile.cpp \
src/map/IMG/textpathitem.cpp \
@ -347,7 +350,7 @@ greaterThan(QT_MAJOR_VERSION, 4) {
HEADERS += src/data/geojsonparser.h
SOURCES += src/data/geojsonparser.cpp
}
greaterThan(QT_VERSION, 5.1.0) {
equals(QT_MAJOR_VERSION, 5):greaterThan(QT_MINOR_VERSION, 4) {
HEADERS += src/GUI/timezoneinfo.h
}
@ -370,10 +373,11 @@ TRANSLATIONS = lang/gpxsee_en.ts \
lang/gpxsee_es.ts \
lang/gpxsee_pt_BR.ts \
lang/gpxsee_uk.ts \
lang/gpxsee_hu.ts
lang/gpxsee_hu.ts \
lang/gpxsee_it.ts
macx {
ICON = icons/gpxsee.icns
ICON = icons/app/gpxsee.icns
QMAKE_INFO_PLIST = pkg/Info.plist
locale.path = Contents/Resources/translations
locale.files = lang/gpxsee_en.qm \
@ -390,7 +394,8 @@ macx {
lang/gpxsee_es.qm \
lang/gpxsee_pt_BR.qm \
lang/gpxsee_uk.qm \
lang/gpxsee_hu.qm
lang/gpxsee_hu.qm \
lang/gpxsee_it.qm
csv.path = Contents/Resources
csv.files = pkg/csv
maps.path = Contents/Resources
@ -415,7 +420,7 @@ macx {
}
win32 {
RC_ICONS = icons/gpxsee.ico \
RC_ICONS = icons/app/gpxsee.ico \
icons/formats/gpx.ico \
icons/formats/tcx.ico \
icons/formats/kml.ico \
@ -445,8 +450,8 @@ unix:!macx {
csv.path = $$PREFIX/share/gpxsee/csv
locale.files = lang/*.qm
locale.path = $$PREFIX/share/gpxsee/translations
icon.files = icons/gpxsee.png
icon.path = $$PREFIX/share/pixmaps
icon.files = icons/app/hicolor/*
icon.path = $$PREFIX/share/icons/hicolor
desktop.files = pkg/gpxsee.desktop
desktop.path = $$PREFIX/share/applications
mime.files = pkg/gpxsee.xml

View File

@ -1,8 +1,8 @@
<RCC>
<qresource prefix="/">
<!-- GUI -->
<file alias="gpxsee.png">icons/gpxsee.png</file>
<file alias="gpxsee@2x.png">icons/gpxsee@2x.png</file>
<file alias="gpxsee.png">icons/app/gpxsee.png</file>
<file alias="gpxsee@2x.png">icons/app/gpxsee@2x.png</file>
<file alias="dialog-close.png">icons/GUI/dialog-close.png</file>
<file alias="dialog-close@2x.png">icons/GUI/dialog-close@2x.png</file>
<file alias="document-open.png">icons/GUI/document-open.png</file>

BIN
icons/app/gpxsee.dia Normal file

Binary file not shown.

View File

Before

Width:  |  Height:  |  Size: 361 KiB

After

Width:  |  Height:  |  Size: 361 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 571 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
<svg width="6cm" height="6cm" viewBox="47 79 119 119" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g>
<rect style="fill: #ffffff" x="47.729" y="79.875" width="118.071" height="118.071" rx="10" ry="10"/>
<rect style="fill: none; fill-opacity:0; stroke-width: 2.35099e-37; stroke-linejoin: round; stroke: #ffffff" x="47.729" y="79.875" width="118.071" height="118.071" rx="10" ry="10"/>
</g>
<g>
<ellipse style="fill: #000000" cx="113" cy="90.875" rx="7.021" ry="7.021"/>
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke-linejoin: round; stroke: #000000" cx="113" cy="90.875" rx="7.021" ry="7.021"/>
</g>
<polyline style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" points="61.5289,182.479 73.5,125.854 96,151.875 113,90.875 136.5,172.375 151.658,157.199 "/>
<g>
<ellipse style="fill: #000000" cx="73.5" cy="125.854" rx="7.021" ry="7.021"/>
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="73.5" cy="125.854" rx="7.021" ry="7.021"/>
</g>
<g>
<ellipse style="fill: #000000" cx="136.5" cy="172.375" rx="7.021" ry="7.021"/>
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="136.5" cy="172.375" rx="7.021" ry="7.021"/>
</g>
<g>
<ellipse style="fill: #000000" cx="60.7" cy="186.4" rx="7.021" ry="7.021"/>
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="60.7" cy="186.4" rx="7.021" ry="7.021"/>
</g>
<g>
<ellipse style="fill: #000000" cx="154.5" cy="154.354" rx="7.021" ry="7.021"/>
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="154.5" cy="154.354" rx="7.021" ry="7.021"/>
</g>
<g>
<ellipse style="fill: #000000" cx="96" cy="151.875" rx="7.021" ry="7.021"/>
<ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="96" cy="151.875" rx="7.021" ry="7.021"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

View File

@ -518,8 +518,8 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="416"/>
<location filename="../src/GUI/gui.cpp" line="1085"/>
<location filename="../src/GUI/gui.cpp" line="1151"/>
<location filename="../src/GUI/gui.cpp" line="1086"/>
<location filename="../src/GUI/gui.cpp" line="1152"/>
<source>Moving time</source>
<translation>Čistý čas</translation>
</message>
@ -674,32 +674,32 @@
<translation>Adresář se styly:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1063"/>
<location filename="../src/GUI/gui.cpp" line="1131"/>
<location filename="../src/GUI/gui.cpp" line="1064"/>
<location filename="../src/GUI/gui.cpp" line="1132"/>
<source>Areas</source>
<translation>Plochy</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1106"/>
<location filename="../src/GUI/gui.cpp" line="1107"/>
<location filename="../src/GUI/gui.cpp" line="1108"/>
<source>Statistics</source>
<translation>Statistika</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1339"/>
<location filename="../src/GUI/gui.cpp" line="1340"/>
<source>Open map file</source>
<translation>Otevřít mapový soubor</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1400"/>
<location filename="../src/GUI/gui.cpp" line="1401"/>
<source>No files loaded</source>
<translation>Nejsou načteny žádné soubory</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1069"/>
<location filename="../src/GUI/gui.cpp" line="1073"/>
<location filename="../src/GUI/gui.cpp" line="1137"/>
<location filename="../src/GUI/gui.cpp" line="1140"/>
<location filename="../src/GUI/gui.cpp" line="1070"/>
<location filename="../src/GUI/gui.cpp" line="1074"/>
<location filename="../src/GUI/gui.cpp" line="1138"/>
<location filename="../src/GUI/gui.cpp" line="1141"/>
<source>Date</source>
<translation>Datum</translation>
</message>
@ -754,19 +754,19 @@
<translation>Adresář mezipaměti dlaždic:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1057"/>
<location filename="../src/GUI/gui.cpp" line="1127"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<location filename="../src/GUI/gui.cpp" line="1128"/>
<source>Routes</source>
<translation>Trasy</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1359"/>
<location filename="../src/GUI/gui.cpp" line="1390"/>
<location filename="../src/GUI/gui.cpp" line="1360"/>
<location filename="../src/GUI/gui.cpp" line="1391"/>
<source>Error loading map:</source>
<translation>Mapu nelze načíst:</translation>
</message>
<message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1404"/>
<location filename="../src/GUI/gui.cpp" line="1405"/>
<source>%n files</source>
<translation>
<numerusform>%n soubor</numerusform>
@ -790,8 +790,8 @@
<translation>Exportovat do PDF...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1060"/>
<location filename="../src/GUI/gui.cpp" line="1129"/>
<location filename="../src/GUI/gui.cpp" line="1061"/>
<location filename="../src/GUI/gui.cpp" line="1130"/>
<source>Waypoints</source>
<translation>Navigační body</translation>
</message>
@ -832,13 +832,13 @@
<translation>Soubor POI nelze načíst:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1121"/>
<location filename="../src/GUI/gui.cpp" line="1122"/>
<source>Name</source>
<translation>Název</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1054"/>
<location filename="../src/GUI/gui.cpp" line="1125"/>
<location filename="../src/GUI/gui.cpp" line="1055"/>
<location filename="../src/GUI/gui.cpp" line="1126"/>
<source>Tracks</source>
<translation>Cesty</translation>
</message>
@ -855,16 +855,16 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="372"/>
<location filename="../src/GUI/gui.cpp" line="1080"/>
<location filename="../src/GUI/gui.cpp" line="1147"/>
<location filename="../src/GUI/gui.cpp" line="1081"/>
<location filename="../src/GUI/gui.cpp" line="1148"/>
<source>Distance</source>
<translation>Vzdálenost</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="379"/>
<location filename="../src/GUI/gui.cpp" line="555"/>
<location filename="../src/GUI/gui.cpp" line="1083"/>
<location filename="../src/GUI/gui.cpp" line="1149"/>
<location filename="../src/GUI/gui.cpp" line="1084"/>
<location filename="../src/GUI/gui.cpp" line="1150"/>
<source>Time</source>
<translation>Čas</translation>
</message>
@ -1137,7 +1137,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="293"/>
<location filename="../src/GUI/optionsdialog.cpp" line="628"/>
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
<source>Graphs</source>
<translation>Grafy</translation>
</message>
@ -1239,13 +1239,13 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="320"/>
<location filename="../src/GUI/optionsdialog.cpp" line="476"/>
<location filename="../src/GUI/optionsdialog.cpp" line="479"/>
<source>Elevation:</source>
<translation>Výška:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="321"/>
<location filename="../src/GUI/optionsdialog.cpp" line="475"/>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<source>Speed:</source>
<translation>Rychlost:</translation>
</message>
@ -1301,7 +1301,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="374"/>
<location filename="../src/GUI/optionsdialog.cpp" line="651"/>
<location filename="../src/GUI/optionsdialog.cpp" line="659"/>
<source>s</source>
<translation>s</translation>
</message>
@ -1351,42 +1351,47 @@
<translation>UTC</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
<source>Use segments</source>
<translation>Použít segmenty</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="481"/>
<source>Time zone:</source>
<translation>Časová zóna:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="500"/>
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
<source>Elevation</source>
<translation>Výška</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
<source>Time zone</source>
<translation>Časová zóna</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="524"/>
<location filename="../src/GUI/optionsdialog.cpp" line="532"/>
<source>Filtering</source>
<translation>Filtrování</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="525"/>
<location filename="../src/GUI/optionsdialog.cpp" line="533"/>
<source>Sources</source>
<translation>Zdroje</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="526"/>
<location filename="../src/GUI/optionsdialog.cpp" line="534"/>
<source>Pause detection</source>
<translation>Detekce přestávek</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
<location filename="../src/GUI/optionsdialog.cpp" line="556"/>
<source>Radius:</source>
<translation>Radius:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="493"/>
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
<source>Speed</source>
<translation>Rychlost</translation>
</message>
@ -1432,145 +1437,145 @@
<translation>Vlastní</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
<location filename="../src/GUI/optionsdialog.cpp" line="549"/>
<source>nmi</source>
<translation>nmi</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
<location filename="../src/GUI/optionsdialog.cpp" line="552"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="554"/>
<location filename="../src/GUI/optionsdialog.cpp" line="694"/>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="702"/>
<source>POI</source>
<translation>POI</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="561"/>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<source>WYSIWYG</source>
<translation>WYSIWYG</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
<source>High-Resolution</source>
<translation>Vysoké rozlišení</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="567"/>
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
<translation>Oblast tisku přibližně odpovídá zobrazované oblasti. Přiblížení mapy se nemění.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<location filename="../src/GUI/optionsdialog.cpp" line="577"/>
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
<translation>Přiblížení mapy bude upraveno tak, aby se celý obsah (trasy/body) vešel do oblasti tisku a rozlišení mapy bylo co nejblíže rozlišení tisku.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="591"/>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<source>Name</source>
<translation>Název</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="593"/>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
<source>Distance</source>
<translation>Vzdálenost</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="597"/>
<location filename="../src/GUI/optionsdialog.cpp" line="605"/>
<source>Time</source>
<translation>Čas</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<location filename="../src/GUI/optionsdialog.cpp" line="607"/>
<source>Moving time</source>
<translation>Čistý čas</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<location filename="../src/GUI/optionsdialog.cpp" line="609"/>
<source>Item count (&gt;1)</source>
<translation>Počet objektů (&gt;1)</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
<location filename="../src/GUI/optionsdialog.cpp" line="624"/>
<source>Separate graph page</source>
<translation>Samostatná stránka s grafy</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="626"/>
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
<source>Print mode</source>
<translation>Režim tisku</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="627"/>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<source>Header</source>
<translation>Záhlaví</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<location filename="../src/GUI/optionsdialog.cpp" line="643"/>
<source>Use OpenGL</source>
<translation>Používat OpenGL</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
<location filename="../src/GUI/optionsdialog.cpp" line="646"/>
<source>Enable HTTP/2</source>
<translation>Povolit HTTP/2</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="645"/>
<location filename="../src/GUI/optionsdialog.cpp" line="653"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="655"/>
<location filename="../src/GUI/optionsdialog.cpp" line="663"/>
<source>Image cache size:</source>
<translation>Mezipaměť obrázků:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="656"/>
<location filename="../src/GUI/optionsdialog.cpp" line="664"/>
<source>Connection timeout:</source>
<translation>Časový limit připojení:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="421"/>
<location filename="../src/GUI/optionsdialog.cpp" line="672"/>
<location filename="../src/GUI/optionsdialog.cpp" line="697"/>
<location filename="../src/GUI/optionsdialog.cpp" line="680"/>
<location filename="../src/GUI/optionsdialog.cpp" line="705"/>
<source>System</source>
<translation>Systém</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="690"/>
<location filename="../src/GUI/optionsdialog.cpp" line="698"/>
<source>Appearance</source>
<translation>Vzhled</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="692"/>
<location filename="../src/GUI/optionsdialog.cpp" line="700"/>
<source>Maps</source>
<translation>Mapy</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="693"/>
<location filename="../src/GUI/optionsdialog.cpp" line="701"/>
<source>Data</source>
<translation>Data</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="695"/>
<location filename="../src/GUI/optionsdialog.cpp" line="703"/>
<source>Print &amp; Export</source>
<translation>Tisk a export</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="724"/>
<location filename="../src/GUI/optionsdialog.cpp" line="732"/>
<source>Options</source>
<translation>Nastavení</translation>
</message>

View File

@ -494,16 +494,16 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="372"/>
<location filename="../src/GUI/gui.cpp" line="1080"/>
<location filename="../src/GUI/gui.cpp" line="1147"/>
<location filename="../src/GUI/gui.cpp" line="1081"/>
<location filename="../src/GUI/gui.cpp" line="1148"/>
<source>Distance</source>
<translation>Afstand</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="379"/>
<location filename="../src/GUI/gui.cpp" line="555"/>
<location filename="../src/GUI/gui.cpp" line="1083"/>
<location filename="../src/GUI/gui.cpp" line="1149"/>
<location filename="../src/GUI/gui.cpp" line="1084"/>
<location filename="../src/GUI/gui.cpp" line="1150"/>
<source>Time</source>
<translation>Tid</translation>
</message>
@ -534,8 +534,8 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="416"/>
<location filename="../src/GUI/gui.cpp" line="1085"/>
<location filename="../src/GUI/gui.cpp" line="1151"/>
<location filename="../src/GUI/gui.cpp" line="1086"/>
<location filename="../src/GUI/gui.cpp" line="1152"/>
<source>Moving time</source>
<translation>Tid i bevægelse</translation>
</message>
@ -801,66 +801,66 @@
<translation>Fejl ved indlæsning af IP-fil:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1054"/>
<location filename="../src/GUI/gui.cpp" line="1125"/>
<location filename="../src/GUI/gui.cpp" line="1055"/>
<location filename="../src/GUI/gui.cpp" line="1126"/>
<source>Tracks</source>
<translation>Spor</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1057"/>
<location filename="../src/GUI/gui.cpp" line="1127"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<location filename="../src/GUI/gui.cpp" line="1128"/>
<source>Routes</source>
<translation>Ruter</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1060"/>
<location filename="../src/GUI/gui.cpp" line="1129"/>
<location filename="../src/GUI/gui.cpp" line="1061"/>
<location filename="../src/GUI/gui.cpp" line="1130"/>
<source>Waypoints</source>
<translation>Rutepunkter</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1063"/>
<location filename="../src/GUI/gui.cpp" line="1131"/>
<location filename="../src/GUI/gui.cpp" line="1064"/>
<location filename="../src/GUI/gui.cpp" line="1132"/>
<source>Areas</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1069"/>
<location filename="../src/GUI/gui.cpp" line="1073"/>
<location filename="../src/GUI/gui.cpp" line="1137"/>
<location filename="../src/GUI/gui.cpp" line="1140"/>
<location filename="../src/GUI/gui.cpp" line="1070"/>
<location filename="../src/GUI/gui.cpp" line="1074"/>
<location filename="../src/GUI/gui.cpp" line="1138"/>
<location filename="../src/GUI/gui.cpp" line="1141"/>
<source>Date</source>
<translation>Dato</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1106"/>
<location filename="../src/GUI/gui.cpp" line="1107"/>
<location filename="../src/GUI/gui.cpp" line="1108"/>
<source>Statistics</source>
<translation>Statistikker</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1121"/>
<location filename="../src/GUI/gui.cpp" line="1122"/>
<source>Name</source>
<translation>Navn</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1339"/>
<location filename="../src/GUI/gui.cpp" line="1340"/>
<source>Open map file</source>
<translation>Åbn kort-fil</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1359"/>
<location filename="../src/GUI/gui.cpp" line="1390"/>
<location filename="../src/GUI/gui.cpp" line="1360"/>
<location filename="../src/GUI/gui.cpp" line="1391"/>
<source>Error loading map:</source>
<translation>Fejl ved indlæsning af kort:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1400"/>
<location filename="../src/GUI/gui.cpp" line="1401"/>
<source>No files loaded</source>
<translation>Ingen filer indlæst</translation>
</message>
<message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1404"/>
<location filename="../src/GUI/gui.cpp" line="1405"/>
<source>%n files</source>
<translation>
<numerusform>%n fil</numerusform>
@ -1257,7 +1257,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="293"/>
<location filename="../src/GUI/optionsdialog.cpp" line="628"/>
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
<source>Graphs</source>
<translation>Grafer</translation>
</message>
@ -1273,13 +1273,13 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="320"/>
<location filename="../src/GUI/optionsdialog.cpp" line="476"/>
<location filename="../src/GUI/optionsdialog.cpp" line="479"/>
<source>Elevation:</source>
<translation>Højde:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="321"/>
<location filename="../src/GUI/optionsdialog.cpp" line="475"/>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<source>Speed:</source>
<translation>Hastighed:</translation>
</message>
@ -1335,7 +1335,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="374"/>
<location filename="../src/GUI/optionsdialog.cpp" line="651"/>
<location filename="../src/GUI/optionsdialog.cpp" line="659"/>
<source>s</source>
<translation>s</translation>
</message>
@ -1385,42 +1385,47 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
<source>Use segments</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="481"/>
<source>Time zone:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="500"/>
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
<source>Elevation</source>
<translation type="unfinished">Højde</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
<source>Time zone</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="524"/>
<location filename="../src/GUI/optionsdialog.cpp" line="532"/>
<source>Filtering</source>
<translation>Filtrering</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="525"/>
<location filename="../src/GUI/optionsdialog.cpp" line="533"/>
<source>Sources</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="526"/>
<location filename="../src/GUI/optionsdialog.cpp" line="534"/>
<source>Pause detection</source>
<translation type="unfinished">Pause genkendelse</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
<location filename="../src/GUI/optionsdialog.cpp" line="556"/>
<source>Radius:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="493"/>
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
<source>Speed</source>
<translation>Hastighed</translation>
</message>
@ -1431,145 +1436,145 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
<source>mi</source>
<translation>mil</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
<location filename="../src/GUI/optionsdialog.cpp" line="549"/>
<source>nmi</source>
<translation>sømil</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
<location filename="../src/GUI/optionsdialog.cpp" line="552"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="554"/>
<location filename="../src/GUI/optionsdialog.cpp" line="694"/>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="702"/>
<source>POI</source>
<translation>IP</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="561"/>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<source>WYSIWYG</source>
<translation type="unfinished">WYSIWYG</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
<source>High-Resolution</source>
<translation>Højopløsning</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="567"/>
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
<translation type="unfinished">Det udskrevne område er ca. det samme som visningsområdet. Kortes zoomniveau ændres ikke.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<location filename="../src/GUI/optionsdialog.cpp" line="577"/>
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
<translation type="unfinished">Zoom-niveauet vil blive ændret, således at hele indholdet (spor/rutepunkter) passer til udskriftsområdet og kortopløsning er tæt som muligt udskriftsopløsningen.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="591"/>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<source>Name</source>
<translation>Navn</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="593"/>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<source>Date</source>
<translation>Dato</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
<source>Distance</source>
<translation>Afstand</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="597"/>
<location filename="../src/GUI/optionsdialog.cpp" line="605"/>
<source>Time</source>
<translation>Tid</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<location filename="../src/GUI/optionsdialog.cpp" line="607"/>
<source>Moving time</source>
<translation>Tid i bevægelse</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<location filename="../src/GUI/optionsdialog.cpp" line="609"/>
<source>Item count (&gt;1)</source>
<translation type="unfinished">Elementantal (&gt;1)</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
<location filename="../src/GUI/optionsdialog.cpp" line="624"/>
<source>Separate graph page</source>
<translation>Separat grafside</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="626"/>
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
<source>Print mode</source>
<translation type="unfinished">Udskrivningstilstand</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="627"/>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<source>Header</source>
<translation type="unfinished">Toptekst</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<location filename="../src/GUI/optionsdialog.cpp" line="643"/>
<source>Use OpenGL</source>
<translation>Brug OpenGL</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
<location filename="../src/GUI/optionsdialog.cpp" line="646"/>
<source>Enable HTTP/2</source>
<translation>Aktiver HTTP/2</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="645"/>
<location filename="../src/GUI/optionsdialog.cpp" line="653"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="655"/>
<location filename="../src/GUI/optionsdialog.cpp" line="663"/>
<source>Image cache size:</source>
<translation type="unfinished">Billed cachestørrelse:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="656"/>
<location filename="../src/GUI/optionsdialog.cpp" line="664"/>
<source>Connection timeout:</source>
<translation>Timeout for forbindelse:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="421"/>
<location filename="../src/GUI/optionsdialog.cpp" line="672"/>
<location filename="../src/GUI/optionsdialog.cpp" line="697"/>
<location filename="../src/GUI/optionsdialog.cpp" line="680"/>
<location filename="../src/GUI/optionsdialog.cpp" line="705"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="690"/>
<location filename="../src/GUI/optionsdialog.cpp" line="698"/>
<source>Appearance</source>
<translation>Udseende</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="692"/>
<location filename="../src/GUI/optionsdialog.cpp" line="700"/>
<source>Maps</source>
<translation>Kort</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="693"/>
<location filename="../src/GUI/optionsdialog.cpp" line="701"/>
<source>Data</source>
<translation>Data</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="695"/>
<location filename="../src/GUI/optionsdialog.cpp" line="703"/>
<source>Print &amp; Export</source>
<translation>Udskriv &amp; eksport</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="724"/>
<location filename="../src/GUI/optionsdialog.cpp" line="732"/>
<source>Options</source>
<translation>Indstillinger</translation>
</message>

View File

@ -528,8 +528,8 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="416"/>
<location filename="../src/GUI/gui.cpp" line="1085"/>
<location filename="../src/GUI/gui.cpp" line="1151"/>
<location filename="../src/GUI/gui.cpp" line="1086"/>
<location filename="../src/GUI/gui.cpp" line="1152"/>
<source>Moving time</source>
<translation>Bewegungszeit</translation>
</message>
@ -684,35 +684,35 @@
<translation>Formatvorlagen-Verzeichnis:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1063"/>
<location filename="../src/GUI/gui.cpp" line="1131"/>
<location filename="../src/GUI/gui.cpp" line="1064"/>
<location filename="../src/GUI/gui.cpp" line="1132"/>
<source>Areas</source>
<translation>Flächen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1106"/>
<location filename="../src/GUI/gui.cpp" line="1107"/>
<location filename="../src/GUI/gui.cpp" line="1108"/>
<source>Statistics</source>
<translation>Statistiken</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1339"/>
<location filename="../src/GUI/gui.cpp" line="1340"/>
<source>Open map file</source>
<translation>Kartendatei öffnen</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1359"/>
<location filename="../src/GUI/gui.cpp" line="1390"/>
<location filename="../src/GUI/gui.cpp" line="1360"/>
<location filename="../src/GUI/gui.cpp" line="1391"/>
<source>Error loading map:</source>
<translation>Fehler beim Laden der Kartendatei:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1400"/>
<location filename="../src/GUI/gui.cpp" line="1401"/>
<source>No files loaded</source>
<translation>Keine Dateien geladen</translation>
</message>
<message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1404"/>
<location filename="../src/GUI/gui.cpp" line="1405"/>
<source>%n files</source>
<translation>
<numerusform>%n Datei</numerusform>
@ -720,16 +720,16 @@
</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1069"/>
<location filename="../src/GUI/gui.cpp" line="1073"/>
<location filename="../src/GUI/gui.cpp" line="1137"/>
<location filename="../src/GUI/gui.cpp" line="1140"/>
<location filename="../src/GUI/gui.cpp" line="1070"/>
<location filename="../src/GUI/gui.cpp" line="1074"/>
<location filename="../src/GUI/gui.cpp" line="1138"/>
<location filename="../src/GUI/gui.cpp" line="1141"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1057"/>
<location filename="../src/GUI/gui.cpp" line="1127"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<location filename="../src/GUI/gui.cpp" line="1128"/>
<source>Routes</source>
<translation>Routen</translation>
</message>
@ -749,8 +749,8 @@
<translation>Als PDF exportieren </translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1060"/>
<location filename="../src/GUI/gui.cpp" line="1129"/>
<location filename="../src/GUI/gui.cpp" line="1061"/>
<location filename="../src/GUI/gui.cpp" line="1130"/>
<source>Waypoints</source>
<translation>Wegpunkte</translation>
</message>
@ -831,13 +831,13 @@
<translation>Fehler beim Laden der POI-Datei:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1121"/>
<location filename="../src/GUI/gui.cpp" line="1122"/>
<source>Name</source>
<translation>Name</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1054"/>
<location filename="../src/GUI/gui.cpp" line="1125"/>
<location filename="../src/GUI/gui.cpp" line="1055"/>
<location filename="../src/GUI/gui.cpp" line="1126"/>
<source>Tracks</source>
<translation>Strecken</translation>
</message>
@ -854,16 +854,16 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="372"/>
<location filename="../src/GUI/gui.cpp" line="1080"/>
<location filename="../src/GUI/gui.cpp" line="1147"/>
<location filename="../src/GUI/gui.cpp" line="1081"/>
<location filename="../src/GUI/gui.cpp" line="1148"/>
<source>Distance</source>
<translation>Distanz</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="379"/>
<location filename="../src/GUI/gui.cpp" line="555"/>
<location filename="../src/GUI/gui.cpp" line="1083"/>
<location filename="../src/GUI/gui.cpp" line="1149"/>
<location filename="../src/GUI/gui.cpp" line="1084"/>
<location filename="../src/GUI/gui.cpp" line="1150"/>
<source>Time</source>
<translation>Zeit</translation>
</message>
@ -1136,7 +1136,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="293"/>
<location filename="../src/GUI/optionsdialog.cpp" line="628"/>
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
<source>Graphs</source>
<translation>Graphen</translation>
</message>
@ -1238,13 +1238,13 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="320"/>
<location filename="../src/GUI/optionsdialog.cpp" line="476"/>
<location filename="../src/GUI/optionsdialog.cpp" line="479"/>
<source>Elevation:</source>
<translation>Höhe:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="321"/>
<location filename="../src/GUI/optionsdialog.cpp" line="475"/>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<source>Speed:</source>
<translation>Geschwindigkeit:</translation>
</message>
@ -1300,7 +1300,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="374"/>
<location filename="../src/GUI/optionsdialog.cpp" line="651"/>
<location filename="../src/GUI/optionsdialog.cpp" line="659"/>
<source>s</source>
<translation>sek</translation>
</message>
@ -1347,45 +1347,50 @@
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="420"/>
<source>UTC</source>
<translation>UTC</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
<source>Use segments</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<location filename="../src/GUI/optionsdialog.cpp" line="481"/>
<source>Time zone:</source>
<translation type="unfinished"></translation>
<translation>Zeitzone:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="500"/>
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
<source>Elevation</source>
<translation>Höhe</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
<source>Time zone</source>
<translation type="unfinished"></translation>
<translation>Zeitzone</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="524"/>
<location filename="../src/GUI/optionsdialog.cpp" line="532"/>
<source>Filtering</source>
<translation>Datenfilterung</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="525"/>
<location filename="../src/GUI/optionsdialog.cpp" line="533"/>
<source>Sources</source>
<translation>Datenquellen</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="526"/>
<location filename="../src/GUI/optionsdialog.cpp" line="534"/>
<source>Pause detection</source>
<translation>Pausenerkennung</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
<location filename="../src/GUI/optionsdialog.cpp" line="556"/>
<source>Radius:</source>
<translation>Radius:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="493"/>
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
<source>Speed</source>
<translation>Geschwindigkeit</translation>
</message>
@ -1431,145 +1436,145 @@
<translation>Benutzerdefiniert</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
<location filename="../src/GUI/optionsdialog.cpp" line="549"/>
<source>nmi</source>
<translation>nmi</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
<location filename="../src/GUI/optionsdialog.cpp" line="552"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="554"/>
<location filename="../src/GUI/optionsdialog.cpp" line="694"/>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="702"/>
<source>POI</source>
<translation>POI</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="561"/>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<source>WYSIWYG</source>
<translation>WYSIWYG</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
<source>High-Resolution</source>
<translation>Hohe Auflösung</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="567"/>
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
<translation>Der Druckbereich entspricht ungefähr dem Anzeigebereich. Das Karten-Zoom ändert sich nicht.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<location filename="../src/GUI/optionsdialog.cpp" line="577"/>
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
<translation>Das Karten-Zoom ändert sich so, dass der ganze Inhalt (Strecken/Wegpunkte) in den Druckbereich passen und die Kartenauflösung so nah wie möglich an der Druckauflösung ist.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="591"/>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<source>Name</source>
<translation>Name</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="593"/>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
<source>Distance</source>
<translation>Distanz</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="597"/>
<location filename="../src/GUI/optionsdialog.cpp" line="605"/>
<source>Time</source>
<translation>Zeit</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<location filename="../src/GUI/optionsdialog.cpp" line="607"/>
<source>Moving time</source>
<translation>Bewegungszeit</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<location filename="../src/GUI/optionsdialog.cpp" line="609"/>
<source>Item count (&gt;1)</source>
<translation>Elementanzahl (&gt;1)</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
<location filename="../src/GUI/optionsdialog.cpp" line="624"/>
<source>Separate graph page</source>
<translation>Separate Seite für Graphen</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="626"/>
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
<source>Print mode</source>
<translation>Druckmodus</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="627"/>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<source>Header</source>
<translation>Kopfzeile</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<location filename="../src/GUI/optionsdialog.cpp" line="643"/>
<source>Use OpenGL</source>
<translation>OpenGL verwenden</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
<location filename="../src/GUI/optionsdialog.cpp" line="646"/>
<source>Enable HTTP/2</source>
<translation>HTTP/2 verwenden</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="645"/>
<location filename="../src/GUI/optionsdialog.cpp" line="653"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="655"/>
<location filename="../src/GUI/optionsdialog.cpp" line="663"/>
<source>Image cache size:</source>
<translation>Bild-Cachegröße:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="656"/>
<location filename="../src/GUI/optionsdialog.cpp" line="664"/>
<source>Connection timeout:</source>
<translation>Verbindungs-Timeout:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="421"/>
<location filename="../src/GUI/optionsdialog.cpp" line="672"/>
<location filename="../src/GUI/optionsdialog.cpp" line="697"/>
<location filename="../src/GUI/optionsdialog.cpp" line="680"/>
<location filename="../src/GUI/optionsdialog.cpp" line="705"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="690"/>
<location filename="../src/GUI/optionsdialog.cpp" line="698"/>
<source>Appearance</source>
<translation>Erscheinungsbild</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="692"/>
<location filename="../src/GUI/optionsdialog.cpp" line="700"/>
<source>Maps</source>
<translation>Karten</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="693"/>
<location filename="../src/GUI/optionsdialog.cpp" line="701"/>
<source>Data</source>
<translation>Daten</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="695"/>
<location filename="../src/GUI/optionsdialog.cpp" line="703"/>
<source>Print &amp; Export</source>
<translation>Druck / Export</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="724"/>
<location filename="../src/GUI/optionsdialog.cpp" line="732"/>
<source>Options</source>
<translation>Einstellungen</translation>
</message>

View File

@ -1,4 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="en_US">
<context>
<name>GUI</name>
<message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1392"/>
<source>%n files</source>
<translation>
<numerusform>%n file</numerusform>
<numerusform>%n files</numerusform>
</translation>
</message>
</context>
</TS>

View File

@ -494,16 +494,16 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="372"/>
<location filename="../src/GUI/gui.cpp" line="1080"/>
<location filename="../src/GUI/gui.cpp" line="1147"/>
<location filename="../src/GUI/gui.cpp" line="1081"/>
<location filename="../src/GUI/gui.cpp" line="1148"/>
<source>Distance</source>
<translation>Distancia</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="379"/>
<location filename="../src/GUI/gui.cpp" line="555"/>
<location filename="../src/GUI/gui.cpp" line="1083"/>
<location filename="../src/GUI/gui.cpp" line="1149"/>
<location filename="../src/GUI/gui.cpp" line="1084"/>
<location filename="../src/GUI/gui.cpp" line="1150"/>
<source>Time</source>
<translation>Tiempo</translation>
</message>
@ -534,8 +534,8 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="416"/>
<location filename="../src/GUI/gui.cpp" line="1085"/>
<location filename="../src/GUI/gui.cpp" line="1151"/>
<location filename="../src/GUI/gui.cpp" line="1086"/>
<location filename="../src/GUI/gui.cpp" line="1152"/>
<source>Moving time</source>
<translation>Tiempo en movimiento</translation>
</message>
@ -801,66 +801,66 @@
<translation>Error al cargar el archivo de POI:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1054"/>
<location filename="../src/GUI/gui.cpp" line="1125"/>
<location filename="../src/GUI/gui.cpp" line="1055"/>
<location filename="../src/GUI/gui.cpp" line="1126"/>
<source>Tracks</source>
<translation>Tracks</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1057"/>
<location filename="../src/GUI/gui.cpp" line="1127"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<location filename="../src/GUI/gui.cpp" line="1128"/>
<source>Routes</source>
<translation>Rutas</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1060"/>
<location filename="../src/GUI/gui.cpp" line="1129"/>
<location filename="../src/GUI/gui.cpp" line="1061"/>
<location filename="../src/GUI/gui.cpp" line="1130"/>
<source>Waypoints</source>
<translation>Puntos de referencia</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1063"/>
<location filename="../src/GUI/gui.cpp" line="1131"/>
<location filename="../src/GUI/gui.cpp" line="1064"/>
<location filename="../src/GUI/gui.cpp" line="1132"/>
<source>Areas</source>
<translation>Áreas</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1069"/>
<location filename="../src/GUI/gui.cpp" line="1073"/>
<location filename="../src/GUI/gui.cpp" line="1137"/>
<location filename="../src/GUI/gui.cpp" line="1140"/>
<location filename="../src/GUI/gui.cpp" line="1070"/>
<location filename="../src/GUI/gui.cpp" line="1074"/>
<location filename="../src/GUI/gui.cpp" line="1138"/>
<location filename="../src/GUI/gui.cpp" line="1141"/>
<source>Date</source>
<translation>Fecha</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1106"/>
<location filename="../src/GUI/gui.cpp" line="1107"/>
<location filename="../src/GUI/gui.cpp" line="1108"/>
<source>Statistics</source>
<translation>Estadísticas</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1121"/>
<location filename="../src/GUI/gui.cpp" line="1122"/>
<source>Name</source>
<translation>Nombre</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1339"/>
<location filename="../src/GUI/gui.cpp" line="1340"/>
<source>Open map file</source>
<translation>Abrir archivo de mapa</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1359"/>
<location filename="../src/GUI/gui.cpp" line="1390"/>
<location filename="../src/GUI/gui.cpp" line="1360"/>
<location filename="../src/GUI/gui.cpp" line="1391"/>
<source>Error loading map:</source>
<translation>Error al cargar el archivo de mapa:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1400"/>
<location filename="../src/GUI/gui.cpp" line="1401"/>
<source>No files loaded</source>
<translation>Sin archivos cargados</translation>
</message>
<message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1404"/>
<location filename="../src/GUI/gui.cpp" line="1405"/>
<source>%n files</source>
<translation>
<numerusform>%n archivo</numerusform>
@ -1257,7 +1257,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="293"/>
<location filename="../src/GUI/optionsdialog.cpp" line="628"/>
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
<source>Graphs</source>
<translation>Gráficas</translation>
</message>
@ -1273,13 +1273,13 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="320"/>
<location filename="../src/GUI/optionsdialog.cpp" line="476"/>
<location filename="../src/GUI/optionsdialog.cpp" line="479"/>
<source>Elevation:</source>
<translation>Altitud:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="321"/>
<location filename="../src/GUI/optionsdialog.cpp" line="475"/>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<source>Speed:</source>
<translation>Velocidad:</translation>
</message>
@ -1335,7 +1335,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="374"/>
<location filename="../src/GUI/optionsdialog.cpp" line="651"/>
<location filename="../src/GUI/optionsdialog.cpp" line="659"/>
<source>s</source>
<translation>s</translation>
</message>
@ -1385,42 +1385,47 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
<source>Use segments</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="481"/>
<source>Time zone:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="500"/>
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
<source>Elevation</source>
<translation>Altitud</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
<source>Time zone</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="524"/>
<location filename="../src/GUI/optionsdialog.cpp" line="532"/>
<source>Filtering</source>
<translation>Filtrado</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="525"/>
<location filename="../src/GUI/optionsdialog.cpp" line="533"/>
<source>Sources</source>
<translation>Fuentes</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="526"/>
<location filename="../src/GUI/optionsdialog.cpp" line="534"/>
<source>Pause detection</source>
<translation>Detectar paradas</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
<location filename="../src/GUI/optionsdialog.cpp" line="556"/>
<source>Radius:</source>
<translation>Radio:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="493"/>
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
<source>Speed</source>
<translation>Velocidad</translation>
</message>
@ -1431,145 +1436,145 @@
<translation>Personalizada</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
<location filename="../src/GUI/optionsdialog.cpp" line="549"/>
<source>nmi</source>
<translation>nmi</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
<location filename="../src/GUI/optionsdialog.cpp" line="552"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="554"/>
<location filename="../src/GUI/optionsdialog.cpp" line="694"/>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="702"/>
<source>POI</source>
<translation>POI</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="561"/>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<source>WYSIWYG</source>
<translation>WYSIWYG</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
<source>High-Resolution</source>
<translation>Resolución alta</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="567"/>
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
<translation>El área que se imprime es aproximadamente la que muestra la pantalla. La escala del mapa no cambiará.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<location filename="../src/GUI/optionsdialog.cpp" line="577"/>
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
<translation>La escala del mapa se cambia para que el área impresa se ajuste a todos los elementos (pistas, puntos de referencia...) y la resolución sea lo mas próxima posible a la de impresión.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="591"/>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<source>Name</source>
<translation>Nombre</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="593"/>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<source>Date</source>
<translation>Fecha</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
<source>Distance</source>
<translation>Distancia</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="597"/>
<location filename="../src/GUI/optionsdialog.cpp" line="605"/>
<source>Time</source>
<translation>Hora</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<location filename="../src/GUI/optionsdialog.cpp" line="607"/>
<source>Moving time</source>
<translation>Tiempo en movimiento</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<location filename="../src/GUI/optionsdialog.cpp" line="609"/>
<source>Item count (&gt;1)</source>
<translation>Recuento de elementos (&gt;1)</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
<location filename="../src/GUI/optionsdialog.cpp" line="624"/>
<source>Separate graph page</source>
<translation>Pagina de gráficas separada</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="626"/>
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
<source>Print mode</source>
<translation>Modo de impresión</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="627"/>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<source>Header</source>
<translation>Titulo</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<location filename="../src/GUI/optionsdialog.cpp" line="643"/>
<source>Use OpenGL</source>
<translation>Usar OpenGL</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
<location filename="../src/GUI/optionsdialog.cpp" line="646"/>
<source>Enable HTTP/2</source>
<translation>Activar HTTP/2</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="645"/>
<location filename="../src/GUI/optionsdialog.cpp" line="653"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="655"/>
<location filename="../src/GUI/optionsdialog.cpp" line="663"/>
<source>Image cache size:</source>
<translation>Tamaño de antememoria de imágenes:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="656"/>
<location filename="../src/GUI/optionsdialog.cpp" line="664"/>
<source>Connection timeout:</source>
<translation>Caducidad de la conexión:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="421"/>
<location filename="../src/GUI/optionsdialog.cpp" line="672"/>
<location filename="../src/GUI/optionsdialog.cpp" line="697"/>
<location filename="../src/GUI/optionsdialog.cpp" line="680"/>
<location filename="../src/GUI/optionsdialog.cpp" line="705"/>
<source>System</source>
<translation>Sistema</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="690"/>
<location filename="../src/GUI/optionsdialog.cpp" line="698"/>
<source>Appearance</source>
<translation>Apariencia</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="692"/>
<location filename="../src/GUI/optionsdialog.cpp" line="700"/>
<source>Maps</source>
<translation>Mapas</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="693"/>
<location filename="../src/GUI/optionsdialog.cpp" line="701"/>
<source>Data</source>
<translation>Fecha</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="695"/>
<location filename="../src/GUI/optionsdialog.cpp" line="703"/>
<source>Print &amp; Export</source>
<translation>Imprimir y exportar</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="724"/>
<location filename="../src/GUI/optionsdialog.cpp" line="732"/>
<source>Options</source>
<translation>Opciones</translation>
</message>

View File

@ -518,8 +518,8 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="416"/>
<location filename="../src/GUI/gui.cpp" line="1085"/>
<location filename="../src/GUI/gui.cpp" line="1151"/>
<location filename="../src/GUI/gui.cpp" line="1086"/>
<location filename="../src/GUI/gui.cpp" line="1152"/>
<source>Moving time</source>
<translation>Liikkumisaika</translation>
</message>
@ -674,32 +674,32 @@
<translation>Tyylitiedostoiden hakemisto:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1063"/>
<location filename="../src/GUI/gui.cpp" line="1131"/>
<location filename="../src/GUI/gui.cpp" line="1064"/>
<location filename="../src/GUI/gui.cpp" line="1132"/>
<source>Areas</source>
<translation>Alueet</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1106"/>
<location filename="../src/GUI/gui.cpp" line="1107"/>
<location filename="../src/GUI/gui.cpp" line="1108"/>
<source>Statistics</source>
<translation>Tilasto</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1339"/>
<location filename="../src/GUI/gui.cpp" line="1340"/>
<source>Open map file</source>
<translation>Avaa karttatiedosto</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1400"/>
<location filename="../src/GUI/gui.cpp" line="1401"/>
<source>No files loaded</source>
<translation>Yhtään tiedostoa ei ladattu</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1069"/>
<location filename="../src/GUI/gui.cpp" line="1073"/>
<location filename="../src/GUI/gui.cpp" line="1137"/>
<location filename="../src/GUI/gui.cpp" line="1140"/>
<location filename="../src/GUI/gui.cpp" line="1070"/>
<location filename="../src/GUI/gui.cpp" line="1074"/>
<location filename="../src/GUI/gui.cpp" line="1138"/>
<location filename="../src/GUI/gui.cpp" line="1141"/>
<source>Date</source>
<translation>Päivämäärä</translation>
</message>
@ -754,19 +754,19 @@
<translation>Välimuistin hakemisto:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1057"/>
<location filename="../src/GUI/gui.cpp" line="1127"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<location filename="../src/GUI/gui.cpp" line="1128"/>
<source>Routes</source>
<translation>Reitit</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1359"/>
<location filename="../src/GUI/gui.cpp" line="1390"/>
<location filename="../src/GUI/gui.cpp" line="1360"/>
<location filename="../src/GUI/gui.cpp" line="1391"/>
<source>Error loading map:</source>
<translation>Virhe ladattaessa karttaa:</translation>
</message>
<message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1404"/>
<location filename="../src/GUI/gui.cpp" line="1405"/>
<source>%n files</source>
<translation>
<numerusform>%n tiedosto</numerusform>
@ -789,8 +789,8 @@
<translation>Vie PDF:ksi...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1060"/>
<location filename="../src/GUI/gui.cpp" line="1129"/>
<location filename="../src/GUI/gui.cpp" line="1061"/>
<location filename="../src/GUI/gui.cpp" line="1130"/>
<source>Waypoints</source>
<translation>Reittipisteet</translation>
</message>
@ -831,13 +831,13 @@
<translation>Virhe ladattaessa POI-tiedostoa:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1121"/>
<location filename="../src/GUI/gui.cpp" line="1122"/>
<source>Name</source>
<translation>Nimi</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1054"/>
<location filename="../src/GUI/gui.cpp" line="1125"/>
<location filename="../src/GUI/gui.cpp" line="1055"/>
<location filename="../src/GUI/gui.cpp" line="1126"/>
<source>Tracks</source>
<translation>Jäljet</translation>
</message>
@ -854,16 +854,16 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="372"/>
<location filename="../src/GUI/gui.cpp" line="1080"/>
<location filename="../src/GUI/gui.cpp" line="1147"/>
<location filename="../src/GUI/gui.cpp" line="1081"/>
<location filename="../src/GUI/gui.cpp" line="1148"/>
<source>Distance</source>
<translation>Etäisyys</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="379"/>
<location filename="../src/GUI/gui.cpp" line="555"/>
<location filename="../src/GUI/gui.cpp" line="1083"/>
<location filename="../src/GUI/gui.cpp" line="1149"/>
<location filename="../src/GUI/gui.cpp" line="1084"/>
<location filename="../src/GUI/gui.cpp" line="1150"/>
<source>Time</source>
<translation>Aika</translation>
</message>
@ -1136,7 +1136,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="293"/>
<location filename="../src/GUI/optionsdialog.cpp" line="628"/>
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
<source>Graphs</source>
<translation>Kaaviokuvat</translation>
</message>
@ -1238,13 +1238,13 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="320"/>
<location filename="../src/GUI/optionsdialog.cpp" line="476"/>
<location filename="../src/GUI/optionsdialog.cpp" line="479"/>
<source>Elevation:</source>
<translation>Korkeus:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="321"/>
<location filename="../src/GUI/optionsdialog.cpp" line="475"/>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<source>Speed:</source>
<translation>Vauhti:</translation>
</message>
@ -1300,7 +1300,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="374"/>
<location filename="../src/GUI/optionsdialog.cpp" line="651"/>
<location filename="../src/GUI/optionsdialog.cpp" line="659"/>
<source>s</source>
<translation>s</translation>
</message>
@ -1350,42 +1350,47 @@
<translation>UTC</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
<source>Use segments</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="481"/>
<source>Time zone:</source>
<translation>Aikavyöhyke:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="500"/>
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
<source>Elevation</source>
<translation>Korkeus</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
<source>Time zone</source>
<translation>Aikavyöhyke</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="524"/>
<location filename="../src/GUI/optionsdialog.cpp" line="532"/>
<source>Filtering</source>
<translation>Suodatus</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="525"/>
<location filename="../src/GUI/optionsdialog.cpp" line="533"/>
<source>Sources</source>
<translation>Lähteet</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="526"/>
<location filename="../src/GUI/optionsdialog.cpp" line="534"/>
<source>Pause detection</source>
<translation>Pysähdysten havaitseminen</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
<location filename="../src/GUI/optionsdialog.cpp" line="556"/>
<source>Radius:</source>
<translation>Säde:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="493"/>
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
<source>Speed</source>
<translation>Vauhti</translation>
</message>
@ -1431,145 +1436,145 @@
<translation>Käyttäjän määrittämä</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
<location filename="../src/GUI/optionsdialog.cpp" line="549"/>
<source>nmi</source>
<translation>mpk</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
<location filename="../src/GUI/optionsdialog.cpp" line="552"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="554"/>
<location filename="../src/GUI/optionsdialog.cpp" line="694"/>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="702"/>
<source>POI</source>
<translation>POI</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="561"/>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<source>WYSIWYG</source>
<translation>WYSIWYG</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
<source>High-Resolution</source>
<translation>Korkea resoluutio</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="567"/>
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
<translation>Painettu alue on suunnilleen näyttöalue. Kartan zoomaustaso ei muutu.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<location filename="../src/GUI/optionsdialog.cpp" line="577"/>
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
<translation>Zoomaustasoa muutetaan niin, että koko sisältö (jäljet/reittipisteet) sopii painettuun alueeseen ja kartan resoluutio on mahdollisimman lähellä tulostusresoluutiota.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="591"/>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<source>Name</source>
<translation>Nimi</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="593"/>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<source>Date</source>
<translation>Päivämäärä</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
<source>Distance</source>
<translation>Etäisyys</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="597"/>
<location filename="../src/GUI/optionsdialog.cpp" line="605"/>
<source>Time</source>
<translation>Aika</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<location filename="../src/GUI/optionsdialog.cpp" line="607"/>
<source>Moving time</source>
<translation>Liikkumisaika</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<location filename="../src/GUI/optionsdialog.cpp" line="609"/>
<source>Item count (&gt;1)</source>
<translation>Kohteiden määrä (&gt;1)</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
<location filename="../src/GUI/optionsdialog.cpp" line="624"/>
<source>Separate graph page</source>
<translation>Erillinen sivu kaaviokuvalle</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="626"/>
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
<source>Print mode</source>
<translation>Tulostustila</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="627"/>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<source>Header</source>
<translation>Otsikko</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<location filename="../src/GUI/optionsdialog.cpp" line="643"/>
<source>Use OpenGL</source>
<translation>Käytä OpenGL:ää</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
<location filename="../src/GUI/optionsdialog.cpp" line="646"/>
<source>Enable HTTP/2</source>
<translation>Ota HTTP/2 käyttöön</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="645"/>
<location filename="../src/GUI/optionsdialog.cpp" line="653"/>
<source>MB</source>
<translation>Mt</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="655"/>
<location filename="../src/GUI/optionsdialog.cpp" line="663"/>
<source>Image cache size:</source>
<translation>Kuvavälimuistin koko:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="656"/>
<location filename="../src/GUI/optionsdialog.cpp" line="664"/>
<source>Connection timeout:</source>
<translation>Yhteyden aikakatkaisu:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="421"/>
<location filename="../src/GUI/optionsdialog.cpp" line="672"/>
<location filename="../src/GUI/optionsdialog.cpp" line="697"/>
<location filename="../src/GUI/optionsdialog.cpp" line="680"/>
<location filename="../src/GUI/optionsdialog.cpp" line="705"/>
<source>System</source>
<translation>Järjestelmä</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="690"/>
<location filename="../src/GUI/optionsdialog.cpp" line="698"/>
<source>Appearance</source>
<translation>Ulkoasu</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="692"/>
<location filename="../src/GUI/optionsdialog.cpp" line="700"/>
<source>Maps</source>
<translation>Kartat</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="693"/>
<location filename="../src/GUI/optionsdialog.cpp" line="701"/>
<source>Data</source>
<translation>Tiedot</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="695"/>
<location filename="../src/GUI/optionsdialog.cpp" line="703"/>
<source>Print &amp; Export</source>
<translation>Tulostus &amp; vienti</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="724"/>
<location filename="../src/GUI/optionsdialog.cpp" line="732"/>
<source>Options</source>
<translation>Valinnat</translation>
</message>

View File

@ -528,8 +528,8 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="416"/>
<location filename="../src/GUI/gui.cpp" line="1085"/>
<location filename="../src/GUI/gui.cpp" line="1151"/>
<location filename="../src/GUI/gui.cpp" line="1086"/>
<location filename="../src/GUI/gui.cpp" line="1152"/>
<source>Moving time</source>
<translation>Durée en déplacement</translation>
</message>
@ -684,35 +684,35 @@
<translation>Dossier de styles :</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1063"/>
<location filename="../src/GUI/gui.cpp" line="1131"/>
<location filename="../src/GUI/gui.cpp" line="1064"/>
<location filename="../src/GUI/gui.cpp" line="1132"/>
<source>Areas</source>
<translation>Zones</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1106"/>
<location filename="../src/GUI/gui.cpp" line="1107"/>
<location filename="../src/GUI/gui.cpp" line="1108"/>
<source>Statistics</source>
<translation>Statistiques</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1339"/>
<location filename="../src/GUI/gui.cpp" line="1340"/>
<source>Open map file</source>
<translation>Ouvrir un fichier de carte</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1359"/>
<location filename="../src/GUI/gui.cpp" line="1390"/>
<location filename="../src/GUI/gui.cpp" line="1360"/>
<location filename="../src/GUI/gui.cpp" line="1391"/>
<source>Error loading map:</source>
<translation>Erreur lors du chargement de la carte :</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1400"/>
<location filename="../src/GUI/gui.cpp" line="1401"/>
<source>No files loaded</source>
<translation>Aucun fichier chargé</translation>
</message>
<message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1404"/>
<location filename="../src/GUI/gui.cpp" line="1405"/>
<source>%n files</source>
<translation>
<numerusform>%n fichier</numerusform>
@ -720,16 +720,16 @@
</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1069"/>
<location filename="../src/GUI/gui.cpp" line="1073"/>
<location filename="../src/GUI/gui.cpp" line="1137"/>
<location filename="../src/GUI/gui.cpp" line="1140"/>
<location filename="../src/GUI/gui.cpp" line="1070"/>
<location filename="../src/GUI/gui.cpp" line="1074"/>
<location filename="../src/GUI/gui.cpp" line="1138"/>
<location filename="../src/GUI/gui.cpp" line="1141"/>
<source>Date</source>
<translation>Date</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1057"/>
<location filename="../src/GUI/gui.cpp" line="1127"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<location filename="../src/GUI/gui.cpp" line="1128"/>
<source>Routes</source>
<translation>Routes</translation>
</message>
@ -749,8 +749,8 @@
<translation>Exporter au format PDF...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1060"/>
<location filename="../src/GUI/gui.cpp" line="1129"/>
<location filename="../src/GUI/gui.cpp" line="1061"/>
<location filename="../src/GUI/gui.cpp" line="1130"/>
<source>Waypoints</source>
<translation>Points de jalonnement</translation>
</message>
@ -831,13 +831,13 @@
<translation>Erreur lors du chargement du fichier POI :</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1121"/>
<location filename="../src/GUI/gui.cpp" line="1122"/>
<source>Name</source>
<translation>Nom</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1054"/>
<location filename="../src/GUI/gui.cpp" line="1125"/>
<location filename="../src/GUI/gui.cpp" line="1055"/>
<location filename="../src/GUI/gui.cpp" line="1126"/>
<source>Tracks</source>
<translation>Traces</translation>
</message>
@ -854,16 +854,16 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="372"/>
<location filename="../src/GUI/gui.cpp" line="1080"/>
<location filename="../src/GUI/gui.cpp" line="1147"/>
<location filename="../src/GUI/gui.cpp" line="1081"/>
<location filename="../src/GUI/gui.cpp" line="1148"/>
<source>Distance</source>
<translation>Distance</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="379"/>
<location filename="../src/GUI/gui.cpp" line="555"/>
<location filename="../src/GUI/gui.cpp" line="1083"/>
<location filename="../src/GUI/gui.cpp" line="1149"/>
<location filename="../src/GUI/gui.cpp" line="1084"/>
<location filename="../src/GUI/gui.cpp" line="1150"/>
<source>Time</source>
<translation>Temps</translation>
</message>
@ -1136,7 +1136,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="293"/>
<location filename="../src/GUI/optionsdialog.cpp" line="628"/>
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
<source>Graphs</source>
<translation>Graphe</translation>
</message>
@ -1238,13 +1238,13 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="320"/>
<location filename="../src/GUI/optionsdialog.cpp" line="476"/>
<location filename="../src/GUI/optionsdialog.cpp" line="479"/>
<source>Elevation:</source>
<translation>Altitude :</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="321"/>
<location filename="../src/GUI/optionsdialog.cpp" line="475"/>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<source>Speed:</source>
<translation>Vitesse :</translation>
</message>
@ -1300,7 +1300,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="374"/>
<location filename="../src/GUI/optionsdialog.cpp" line="651"/>
<location filename="../src/GUI/optionsdialog.cpp" line="659"/>
<source>s</source>
<translation>s</translation>
</message>
@ -1350,42 +1350,47 @@
<translation>UTC</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
<source>Use segments</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="481"/>
<source>Time zone:</source>
<translation>Fuseau horaire :</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="500"/>
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
<source>Elevation</source>
<translation>Altitude</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
<source>Time zone</source>
<translation>Fuseau horaire</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="524"/>
<location filename="../src/GUI/optionsdialog.cpp" line="532"/>
<source>Filtering</source>
<translation>Filtrage</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="525"/>
<location filename="../src/GUI/optionsdialog.cpp" line="533"/>
<source>Sources</source>
<translation>Sources</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="526"/>
<location filename="../src/GUI/optionsdialog.cpp" line="534"/>
<source>Pause detection</source>
<translation>Détection des arrêts</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
<location filename="../src/GUI/optionsdialog.cpp" line="556"/>
<source>Radius:</source>
<translation>Rayon :</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="493"/>
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
<source>Speed</source>
<translation>Vitesse</translation>
</message>
@ -1431,145 +1436,145 @@
<translation>Personnalisé</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
<location filename="../src/GUI/optionsdialog.cpp" line="549"/>
<source>nmi</source>
<translation>nmi</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
<location filename="../src/GUI/optionsdialog.cpp" line="552"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="554"/>
<location filename="../src/GUI/optionsdialog.cpp" line="694"/>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="702"/>
<source>POI</source>
<translation>POI</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="561"/>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<source>WYSIWYG</source>
<translation>WYSIWYG</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
<source>High-Resolution</source>
<translation>Résolution élevée</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="567"/>
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
<translation>La zone d&apos;impression est presque celle affichée. L&apos;échelle reste la même.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<location filename="../src/GUI/optionsdialog.cpp" line="577"/>
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
<translation>L&apos;échelle est ajustée pour que tout le contenu (traces et points de jalonnement) rentre dans la zone d&apos;impression tout en gardant proches les résolutions d&apos;impression et de carte.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="591"/>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<source>Name</source>
<translation>Nom</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="593"/>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<source>Date</source>
<translation>Date</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
<source>Distance</source>
<translation>Distance</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="597"/>
<location filename="../src/GUI/optionsdialog.cpp" line="605"/>
<source>Time</source>
<translation>Durée</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<location filename="../src/GUI/optionsdialog.cpp" line="607"/>
<source>Moving time</source>
<translation>Durée en déplacement</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<location filename="../src/GUI/optionsdialog.cpp" line="609"/>
<source>Item count (&gt;1)</source>
<translation>Nombre d&apos;éléments (&gt;1)</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
<location filename="../src/GUI/optionsdialog.cpp" line="624"/>
<source>Separate graph page</source>
<translation>Sauter une page pour les graphes</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="626"/>
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
<source>Print mode</source>
<translation>Mode d&apos;impression</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="627"/>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<source>Header</source>
<translation>Entête</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<location filename="../src/GUI/optionsdialog.cpp" line="643"/>
<source>Use OpenGL</source>
<translation>Utiliser OpenGL</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
<location filename="../src/GUI/optionsdialog.cpp" line="646"/>
<source>Enable HTTP/2</source>
<translation>Activer l&apos;HTTP/2</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="645"/>
<location filename="../src/GUI/optionsdialog.cpp" line="653"/>
<source>MB</source>
<translation>Mo</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="655"/>
<location filename="../src/GUI/optionsdialog.cpp" line="663"/>
<source>Image cache size:</source>
<translation>Volume du cache à images :</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="656"/>
<location filename="../src/GUI/optionsdialog.cpp" line="664"/>
<source>Connection timeout:</source>
<translation>Délai d&apos;attente de connexion :</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="421"/>
<location filename="../src/GUI/optionsdialog.cpp" line="672"/>
<location filename="../src/GUI/optionsdialog.cpp" line="697"/>
<location filename="../src/GUI/optionsdialog.cpp" line="680"/>
<location filename="../src/GUI/optionsdialog.cpp" line="705"/>
<source>System</source>
<translation>Système</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="690"/>
<location filename="../src/GUI/optionsdialog.cpp" line="698"/>
<source>Appearance</source>
<translation>Apparence</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="692"/>
<location filename="../src/GUI/optionsdialog.cpp" line="700"/>
<source>Maps</source>
<translation>Cartes</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="693"/>
<location filename="../src/GUI/optionsdialog.cpp" line="701"/>
<source>Data</source>
<translation>Données</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="695"/>
<location filename="../src/GUI/optionsdialog.cpp" line="703"/>
<source>Print &amp; Export</source>
<translation>Imprimer et exporter</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="724"/>
<location filename="../src/GUI/optionsdialog.cpp" line="732"/>
<source>Options</source>
<translation>Options</translation>
</message>

View File

@ -494,16 +494,16 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="372"/>
<location filename="../src/GUI/gui.cpp" line="1080"/>
<location filename="../src/GUI/gui.cpp" line="1147"/>
<location filename="../src/GUI/gui.cpp" line="1081"/>
<location filename="../src/GUI/gui.cpp" line="1148"/>
<source>Distance</source>
<translation>Távolság</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="379"/>
<location filename="../src/GUI/gui.cpp" line="555"/>
<location filename="../src/GUI/gui.cpp" line="1083"/>
<location filename="../src/GUI/gui.cpp" line="1149"/>
<location filename="../src/GUI/gui.cpp" line="1084"/>
<location filename="../src/GUI/gui.cpp" line="1150"/>
<source>Time</source>
<translation>Idő</translation>
</message>
@ -534,8 +534,8 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="416"/>
<location filename="../src/GUI/gui.cpp" line="1085"/>
<location filename="../src/GUI/gui.cpp" line="1151"/>
<location filename="../src/GUI/gui.cpp" line="1086"/>
<location filename="../src/GUI/gui.cpp" line="1152"/>
<source>Moving time</source>
<translation>Mozgásban töltött idő</translation>
</message>
@ -801,70 +801,69 @@
<translation>Hiba a POI fájl betöltése során:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1054"/>
<location filename="../src/GUI/gui.cpp" line="1125"/>
<location filename="../src/GUI/gui.cpp" line="1055"/>
<location filename="../src/GUI/gui.cpp" line="1126"/>
<source>Tracks</source>
<translation>Nyomvonalak</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1057"/>
<location filename="../src/GUI/gui.cpp" line="1127"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<location filename="../src/GUI/gui.cpp" line="1128"/>
<source>Routes</source>
<translation>Útvonalak</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1060"/>
<location filename="../src/GUI/gui.cpp" line="1129"/>
<location filename="../src/GUI/gui.cpp" line="1061"/>
<location filename="../src/GUI/gui.cpp" line="1130"/>
<source>Waypoints</source>
<translation>Köztespontok</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1063"/>
<location filename="../src/GUI/gui.cpp" line="1131"/>
<location filename="../src/GUI/gui.cpp" line="1064"/>
<location filename="../src/GUI/gui.cpp" line="1132"/>
<source>Areas</source>
<translation>Területek</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1069"/>
<location filename="../src/GUI/gui.cpp" line="1073"/>
<location filename="../src/GUI/gui.cpp" line="1137"/>
<location filename="../src/GUI/gui.cpp" line="1140"/>
<location filename="../src/GUI/gui.cpp" line="1070"/>
<location filename="../src/GUI/gui.cpp" line="1074"/>
<location filename="../src/GUI/gui.cpp" line="1138"/>
<location filename="../src/GUI/gui.cpp" line="1141"/>
<source>Date</source>
<translation>Dátum</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1106"/>
<location filename="../src/GUI/gui.cpp" line="1107"/>
<location filename="../src/GUI/gui.cpp" line="1108"/>
<source>Statistics</source>
<translation>Összesítés</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1121"/>
<location filename="../src/GUI/gui.cpp" line="1122"/>
<source>Name</source>
<translation>Név</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1339"/>
<location filename="../src/GUI/gui.cpp" line="1340"/>
<source>Open map file</source>
<translation>Térképfájl megnyitása</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1359"/>
<location filename="../src/GUI/gui.cpp" line="1390"/>
<location filename="../src/GUI/gui.cpp" line="1360"/>
<location filename="../src/GUI/gui.cpp" line="1391"/>
<source>Error loading map:</source>
<translation>Térképbetöltési hiba:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1400"/>
<location filename="../src/GUI/gui.cpp" line="1401"/>
<source>No files loaded</source>
<translation>Nincs betöltött fájl</translation>
</message>
<message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1404"/>
<location filename="../src/GUI/gui.cpp" line="1405"/>
<source>%n files</source>
<translation>
<numerusform>%n fájl</numerusform>
<numerusform>%n fájl</numerusform>
</translation>
</message>
</context>
@ -1257,7 +1256,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="293"/>
<location filename="../src/GUI/optionsdialog.cpp" line="628"/>
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
<source>Graphs</source>
<translation>Grafikonok</translation>
</message>
@ -1273,13 +1272,13 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="320"/>
<location filename="../src/GUI/optionsdialog.cpp" line="476"/>
<location filename="../src/GUI/optionsdialog.cpp" line="479"/>
<source>Elevation:</source>
<translation>Magasság:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="321"/>
<location filename="../src/GUI/optionsdialog.cpp" line="475"/>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<source>Speed:</source>
<translation>Sebesség:</translation>
</message>
@ -1341,7 +1340,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="374"/>
<location filename="../src/GUI/optionsdialog.cpp" line="651"/>
<location filename="../src/GUI/optionsdialog.cpp" line="659"/>
<source>s</source>
<translation>mp</translation>
</message>
@ -1391,185 +1390,190 @@
<translation>UTC</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
<source>Use segments</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="481"/>
<source>Time zone:</source>
<translation>Időzóna:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="493"/>
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
<source>Speed</source>
<translation>Sebesség</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="500"/>
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
<source>Elevation</source>
<translation>Magasság</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
<source>Time zone</source>
<translation>Időzóna</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="524"/>
<location filename="../src/GUI/optionsdialog.cpp" line="532"/>
<source>Filtering</source>
<translation>Részletesség</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="525"/>
<location filename="../src/GUI/optionsdialog.cpp" line="533"/>
<source>Sources</source>
<translation>Adatforrások</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="526"/>
<location filename="../src/GUI/optionsdialog.cpp" line="534"/>
<source>Pause detection</source>
<translation>Megállás érzékelés</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
<source>mi</source>
<translation>mérföld</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
<location filename="../src/GUI/optionsdialog.cpp" line="549"/>
<source>nmi</source>
<translation>tengeri mérföld</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
<location filename="../src/GUI/optionsdialog.cpp" line="552"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
<location filename="../src/GUI/optionsdialog.cpp" line="556"/>
<source>Radius:</source>
<translation>Láthatóság sugara:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="554"/>
<location filename="../src/GUI/optionsdialog.cpp" line="694"/>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="702"/>
<source>POI</source>
<translation>POI</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="561"/>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<source>WYSIWYG</source>
<translation>Alakhű</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
<source>High-Resolution</source>
<translation>Nagy felbontás</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="567"/>
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
<translation>A nyomtatott terület megközelítőleg a megjelenítési terület. A térképnagyítás mértéke nem változik.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<location filename="../src/GUI/optionsdialog.cpp" line="577"/>
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
<translation>A nagyítás mértéke megváltozik, hogy a teljes tartalom (nyomvonal / köztespontok) illeszkedjen a nyomtatott területhez, és a térkép felbontása a lehető legközelebb legyen a nyomtatási felbontáshoz.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="591"/>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<source>Name</source>
<translation>Név</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="593"/>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<source>Date</source>
<translation>Dátum</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
<source>Distance</source>
<translation>Távolság</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="597"/>
<location filename="../src/GUI/optionsdialog.cpp" line="605"/>
<source>Time</source>
<translation>Idő</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<location filename="../src/GUI/optionsdialog.cpp" line="607"/>
<source>Moving time</source>
<translation>Mozgásban töltött idő</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<location filename="../src/GUI/optionsdialog.cpp" line="609"/>
<source>Item count (&gt;1)</source>
<translation>nyomvonalak száma (ha&gt;1)</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
<location filename="../src/GUI/optionsdialog.cpp" line="624"/>
<source>Separate graph page</source>
<translation>A grafikon külön oldalra</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="626"/>
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
<source>Print mode</source>
<translation>Nyomtatási mód</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="627"/>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<source>Header</source>
<translation>Fejléc</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<location filename="../src/GUI/optionsdialog.cpp" line="643"/>
<source>Use OpenGL</source>
<translation>OpenGL használata</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
<location filename="../src/GUI/optionsdialog.cpp" line="646"/>
<source>Enable HTTP/2</source>
<translation>HTTP/2 engedélyezése</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="645"/>
<location filename="../src/GUI/optionsdialog.cpp" line="653"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="655"/>
<location filename="../src/GUI/optionsdialog.cpp" line="663"/>
<source>Image cache size:</source>
<translation>Kép gyorsítótár mérete:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="656"/>
<location filename="../src/GUI/optionsdialog.cpp" line="664"/>
<source>Connection timeout:</source>
<translation>Kapcsolat időtúllépés:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="421"/>
<location filename="../src/GUI/optionsdialog.cpp" line="672"/>
<location filename="../src/GUI/optionsdialog.cpp" line="697"/>
<location filename="../src/GUI/optionsdialog.cpp" line="680"/>
<location filename="../src/GUI/optionsdialog.cpp" line="705"/>
<source>System</source>
<translation>Rendszer</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="690"/>
<location filename="../src/GUI/optionsdialog.cpp" line="698"/>
<source>Appearance</source>
<translation>Megjelenés</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="692"/>
<location filename="../src/GUI/optionsdialog.cpp" line="700"/>
<source>Maps</source>
<translation>Térképek</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="693"/>
<location filename="../src/GUI/optionsdialog.cpp" line="701"/>
<source>Data</source>
<translation>Adatok</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="695"/>
<location filename="../src/GUI/optionsdialog.cpp" line="703"/>
<source>Print &amp; Export</source>
<translation>Kimenet</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="724"/>
<location filename="../src/GUI/optionsdialog.cpp" line="732"/>
<source>Options</source>
<translation>Beállítások</translation>
</message>

File diff suppressed because it is too large Load Diff

View File

@ -494,16 +494,16 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="372"/>
<location filename="../src/GUI/gui.cpp" line="1080"/>
<location filename="../src/GUI/gui.cpp" line="1147"/>
<location filename="../src/GUI/gui.cpp" line="1081"/>
<location filename="../src/GUI/gui.cpp" line="1148"/>
<source>Distance</source>
<translation>Avstand</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="379"/>
<location filename="../src/GUI/gui.cpp" line="555"/>
<location filename="../src/GUI/gui.cpp" line="1083"/>
<location filename="../src/GUI/gui.cpp" line="1149"/>
<location filename="../src/GUI/gui.cpp" line="1084"/>
<location filename="../src/GUI/gui.cpp" line="1150"/>
<source>Time</source>
<translation>Tid</translation>
</message>
@ -534,8 +534,8 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="416"/>
<location filename="../src/GUI/gui.cpp" line="1085"/>
<location filename="../src/GUI/gui.cpp" line="1151"/>
<location filename="../src/GUI/gui.cpp" line="1086"/>
<location filename="../src/GUI/gui.cpp" line="1152"/>
<source>Moving time</source>
<translation>Tid i bevegelse</translation>
</message>
@ -801,66 +801,66 @@
<translation>Kunne ikke laste inn POI-fil:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1054"/>
<location filename="../src/GUI/gui.cpp" line="1125"/>
<location filename="../src/GUI/gui.cpp" line="1055"/>
<location filename="../src/GUI/gui.cpp" line="1126"/>
<source>Tracks</source>
<translation>Spor</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1057"/>
<location filename="../src/GUI/gui.cpp" line="1127"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<location filename="../src/GUI/gui.cpp" line="1128"/>
<source>Routes</source>
<translation>Ruter</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1060"/>
<location filename="../src/GUI/gui.cpp" line="1129"/>
<location filename="../src/GUI/gui.cpp" line="1061"/>
<location filename="../src/GUI/gui.cpp" line="1130"/>
<source>Waypoints</source>
<translation>Veipunkter</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1063"/>
<location filename="../src/GUI/gui.cpp" line="1131"/>
<location filename="../src/GUI/gui.cpp" line="1064"/>
<location filename="../src/GUI/gui.cpp" line="1132"/>
<source>Areas</source>
<translation>Områder</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1069"/>
<location filename="../src/GUI/gui.cpp" line="1073"/>
<location filename="../src/GUI/gui.cpp" line="1137"/>
<location filename="../src/GUI/gui.cpp" line="1140"/>
<location filename="../src/GUI/gui.cpp" line="1070"/>
<location filename="../src/GUI/gui.cpp" line="1074"/>
<location filename="../src/GUI/gui.cpp" line="1138"/>
<location filename="../src/GUI/gui.cpp" line="1141"/>
<source>Date</source>
<translation>Dato</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1106"/>
<location filename="../src/GUI/gui.cpp" line="1107"/>
<location filename="../src/GUI/gui.cpp" line="1108"/>
<source>Statistics</source>
<translation>Statistikk</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1121"/>
<location filename="../src/GUI/gui.cpp" line="1122"/>
<source>Name</source>
<translation>Navn</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1339"/>
<location filename="../src/GUI/gui.cpp" line="1340"/>
<source>Open map file</source>
<translation>Åpne kartfil</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1359"/>
<location filename="../src/GUI/gui.cpp" line="1390"/>
<location filename="../src/GUI/gui.cpp" line="1360"/>
<location filename="../src/GUI/gui.cpp" line="1391"/>
<source>Error loading map:</source>
<translation>Feil ved innlasting av kart:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1400"/>
<location filename="../src/GUI/gui.cpp" line="1401"/>
<source>No files loaded</source>
<translation>Ingen filer lastet opp</translation>
</message>
<message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1404"/>
<location filename="../src/GUI/gui.cpp" line="1405"/>
<source>%n files</source>
<translation>
<numerusform>%n fil</numerusform>
@ -1257,7 +1257,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="293"/>
<location filename="../src/GUI/optionsdialog.cpp" line="628"/>
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
<source>Graphs</source>
<translation>Diagrammer</translation>
</message>
@ -1273,13 +1273,13 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="320"/>
<location filename="../src/GUI/optionsdialog.cpp" line="476"/>
<location filename="../src/GUI/optionsdialog.cpp" line="479"/>
<source>Elevation:</source>
<translation>Høyde:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="321"/>
<location filename="../src/GUI/optionsdialog.cpp" line="475"/>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<source>Speed:</source>
<translation>Hastighet:</translation>
</message>
@ -1335,7 +1335,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="374"/>
<location filename="../src/GUI/optionsdialog.cpp" line="651"/>
<location filename="../src/GUI/optionsdialog.cpp" line="659"/>
<source>s</source>
<translation>s</translation>
</message>
@ -1385,42 +1385,47 @@
<translation>UTC</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
<source>Use segments</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="481"/>
<source>Time zone:</source>
<translation>Tidssone:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="500"/>
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
<source>Elevation</source>
<translation>Høyde</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
<source>Time zone</source>
<translation>Tidssone</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="524"/>
<location filename="../src/GUI/optionsdialog.cpp" line="532"/>
<source>Filtering</source>
<translation>Filtrering</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="525"/>
<location filename="../src/GUI/optionsdialog.cpp" line="533"/>
<source>Sources</source>
<translation>Kilder</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="526"/>
<location filename="../src/GUI/optionsdialog.cpp" line="534"/>
<source>Pause detection</source>
<translation>Sett oppdagelse pause</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
<location filename="../src/GUI/optionsdialog.cpp" line="556"/>
<source>Radius:</source>
<translation>Radius:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="493"/>
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
<source>Speed</source>
<translation>Hastighet</translation>
</message>
@ -1431,145 +1436,145 @@
<translation>Egendefinert</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
<location filename="../src/GUI/optionsdialog.cpp" line="549"/>
<source>nmi</source>
<translation>nmi</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
<location filename="../src/GUI/optionsdialog.cpp" line="552"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="554"/>
<location filename="../src/GUI/optionsdialog.cpp" line="694"/>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="702"/>
<source>POI</source>
<translation>POI</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="561"/>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<source>WYSIWYG</source>
<translation>WYSIWYG</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
<source>High-Resolution</source>
<translation>Høyoppløsning</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="567"/>
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
<translation>Det utskrevne området er omentrent det samme som visningsområdet. Kartforstørrelsesnivået endrer seg ikke.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<location filename="../src/GUI/optionsdialog.cpp" line="577"/>
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
<translation>Forstørrelsesnivået vil endres slik at hele innholdet (spor/veipunkter) passer med utskrevet område, og kartoppløsningen er lik utskriftsoppløsningen som mulig.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="591"/>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<source>Name</source>
<translation>Navn</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="593"/>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<source>Date</source>
<translation>Dato</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
<source>Distance</source>
<translation>Avstand</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="597"/>
<location filename="../src/GUI/optionsdialog.cpp" line="605"/>
<source>Time</source>
<translation>Tid</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<location filename="../src/GUI/optionsdialog.cpp" line="607"/>
<source>Moving time</source>
<translation>Tid i bevegelse</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<location filename="../src/GUI/optionsdialog.cpp" line="609"/>
<source>Item count (&gt;1)</source>
<translation>Elementantall (&gt;1)</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
<location filename="../src/GUI/optionsdialog.cpp" line="624"/>
<source>Separate graph page</source>
<translation>Separat diagramside</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="626"/>
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
<source>Print mode</source>
<translation>Utskriftsmodus</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="627"/>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<source>Header</source>
<translation>Topptekst</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<location filename="../src/GUI/optionsdialog.cpp" line="643"/>
<source>Use OpenGL</source>
<translation>Bruk OpenGL</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
<location filename="../src/GUI/optionsdialog.cpp" line="646"/>
<source>Enable HTTP/2</source>
<translation>Skru HTTP/2</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="645"/>
<location filename="../src/GUI/optionsdialog.cpp" line="653"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="655"/>
<location filename="../src/GUI/optionsdialog.cpp" line="663"/>
<source>Image cache size:</source>
<translation>Bildehurtiglagringstørrelse:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="656"/>
<location filename="../src/GUI/optionsdialog.cpp" line="664"/>
<source>Connection timeout:</source>
<translation>Tilkoblingstidsavbrudd:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="421"/>
<location filename="../src/GUI/optionsdialog.cpp" line="672"/>
<location filename="../src/GUI/optionsdialog.cpp" line="697"/>
<location filename="../src/GUI/optionsdialog.cpp" line="680"/>
<location filename="../src/GUI/optionsdialog.cpp" line="705"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="690"/>
<location filename="../src/GUI/optionsdialog.cpp" line="698"/>
<source>Appearance</source>
<translation>Utseende</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="692"/>
<location filename="../src/GUI/optionsdialog.cpp" line="700"/>
<source>Maps</source>
<translation>Kart</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="693"/>
<location filename="../src/GUI/optionsdialog.cpp" line="701"/>
<source>Data</source>
<translation>Data</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="695"/>
<location filename="../src/GUI/optionsdialog.cpp" line="703"/>
<source>Print &amp; Export</source>
<translation>Utskrift og ekport</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="724"/>
<location filename="../src/GUI/optionsdialog.cpp" line="732"/>
<source>Options</source>
<translation>Valg</translation>
</message>

View File

@ -518,8 +518,8 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="416"/>
<location filename="../src/GUI/gui.cpp" line="1085"/>
<location filename="../src/GUI/gui.cpp" line="1151"/>
<location filename="../src/GUI/gui.cpp" line="1086"/>
<location filename="../src/GUI/gui.cpp" line="1152"/>
<source>Moving time</source>
<translation>Czas ruchu</translation>
</message>
@ -674,32 +674,32 @@
<translation>Katalog ze stylami:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1063"/>
<location filename="../src/GUI/gui.cpp" line="1131"/>
<location filename="../src/GUI/gui.cpp" line="1064"/>
<location filename="../src/GUI/gui.cpp" line="1132"/>
<source>Areas</source>
<translation>Obszary</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1106"/>
<location filename="../src/GUI/gui.cpp" line="1107"/>
<location filename="../src/GUI/gui.cpp" line="1108"/>
<source>Statistics</source>
<translation>Statystyka</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1339"/>
<location filename="../src/GUI/gui.cpp" line="1340"/>
<source>Open map file</source>
<translation>Otwórz plik mapy</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1400"/>
<location filename="../src/GUI/gui.cpp" line="1401"/>
<source>No files loaded</source>
<translation>Nie załadowano żadnych plików</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1069"/>
<location filename="../src/GUI/gui.cpp" line="1073"/>
<location filename="../src/GUI/gui.cpp" line="1137"/>
<location filename="../src/GUI/gui.cpp" line="1140"/>
<location filename="../src/GUI/gui.cpp" line="1070"/>
<location filename="../src/GUI/gui.cpp" line="1074"/>
<location filename="../src/GUI/gui.cpp" line="1138"/>
<location filename="../src/GUI/gui.cpp" line="1141"/>
<source>Date</source>
<translation>Data</translation>
</message>
@ -754,19 +754,19 @@
<translation>Katalog pamięci podręcznej kafelków:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1057"/>
<location filename="../src/GUI/gui.cpp" line="1127"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<location filename="../src/GUI/gui.cpp" line="1128"/>
<source>Routes</source>
<translation>Trasy</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1359"/>
<location filename="../src/GUI/gui.cpp" line="1390"/>
<location filename="../src/GUI/gui.cpp" line="1360"/>
<location filename="../src/GUI/gui.cpp" line="1391"/>
<source>Error loading map:</source>
<translation>Wystąpił błąd podczas ładowania mapy:</translation>
</message>
<message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1404"/>
<location filename="../src/GUI/gui.cpp" line="1405"/>
<source>%n files</source>
<translation>
<numerusform>%n plik</numerusform>
@ -790,8 +790,8 @@
<translation>Eksportuj do PDF...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1060"/>
<location filename="../src/GUI/gui.cpp" line="1129"/>
<location filename="../src/GUI/gui.cpp" line="1061"/>
<location filename="../src/GUI/gui.cpp" line="1130"/>
<source>Waypoints</source>
<translation>Punkty nawigacyjne</translation>
</message>
@ -832,13 +832,13 @@
<translation>Błąd podczas ładowania pliku POI:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1121"/>
<location filename="../src/GUI/gui.cpp" line="1122"/>
<source>Name</source>
<translation>Nazwa</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1054"/>
<location filename="../src/GUI/gui.cpp" line="1125"/>
<location filename="../src/GUI/gui.cpp" line="1055"/>
<location filename="../src/GUI/gui.cpp" line="1126"/>
<source>Tracks</source>
<translation>Ślady</translation>
</message>
@ -855,16 +855,16 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="372"/>
<location filename="../src/GUI/gui.cpp" line="1080"/>
<location filename="../src/GUI/gui.cpp" line="1147"/>
<location filename="../src/GUI/gui.cpp" line="1081"/>
<location filename="../src/GUI/gui.cpp" line="1148"/>
<source>Distance</source>
<translation>Dystans</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="379"/>
<location filename="../src/GUI/gui.cpp" line="555"/>
<location filename="../src/GUI/gui.cpp" line="1083"/>
<location filename="../src/GUI/gui.cpp" line="1149"/>
<location filename="../src/GUI/gui.cpp" line="1084"/>
<location filename="../src/GUI/gui.cpp" line="1150"/>
<source>Time</source>
<translation>Czas</translation>
</message>
@ -1137,7 +1137,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="293"/>
<location filename="../src/GUI/optionsdialog.cpp" line="628"/>
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
<source>Graphs</source>
<translation>Wykresy</translation>
</message>
@ -1239,13 +1239,13 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="320"/>
<location filename="../src/GUI/optionsdialog.cpp" line="476"/>
<location filename="../src/GUI/optionsdialog.cpp" line="479"/>
<source>Elevation:</source>
<translation>Wysokość:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="321"/>
<location filename="../src/GUI/optionsdialog.cpp" line="475"/>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<source>Speed:</source>
<translation>Prędkość:</translation>
</message>
@ -1282,7 +1282,7 @@
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="350"/>
<source>Automatic</source>
<translation type="unfinished"></translation>
<translation>Automatycznie</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="364"/>
@ -1301,7 +1301,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="374"/>
<location filename="../src/GUI/optionsdialog.cpp" line="651"/>
<location filename="../src/GUI/optionsdialog.cpp" line="659"/>
<source>s</source>
<translation>s</translation>
</message>
@ -1328,7 +1328,7 @@
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="407"/>
<source>Show secondary speed</source>
<translation type="unfinished"></translation>
<translation>Pokaż średnią prędkość</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="410"/>
@ -1343,50 +1343,55 @@
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="416"/>
<source>Show secondary elevation</source>
<translation type="unfinished"></translation>
<translation>Pokaż średnią wysokość</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="420"/>
<source>UTC</source>
<translation>UTC</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
<source>Use segments</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<location filename="../src/GUI/optionsdialog.cpp" line="481"/>
<source>Time zone:</source>
<translation type="unfinished"></translation>
<translation>Strefa czasowa:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="500"/>
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
<source>Elevation</source>
<translation>Wysokość</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
<source>Time zone</source>
<translation type="unfinished"></translation>
<translation>Strefa czasowa</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="524"/>
<location filename="../src/GUI/optionsdialog.cpp" line="532"/>
<source>Filtering</source>
<translation>Filtrowanie</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="525"/>
<location filename="../src/GUI/optionsdialog.cpp" line="533"/>
<source>Sources</source>
<translation>Źródła</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="526"/>
<location filename="../src/GUI/optionsdialog.cpp" line="534"/>
<source>Pause detection</source>
<translation>Wykrywanie postoju</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
<location filename="../src/GUI/optionsdialog.cpp" line="556"/>
<source>Radius:</source>
<translation>Promień:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="493"/>
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
<source>Speed</source>
<translation>Prędkość</translation>
</message>
@ -1429,148 +1434,148 @@
<location filename="../src/GUI/optionsdialog.cpp" line="351"/>
<location filename="../src/GUI/optionsdialog.cpp" line="422"/>
<source>Custom</source>
<translation type="unfinished"></translation>
<translation>Niestandardowe</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
<location filename="../src/GUI/optionsdialog.cpp" line="549"/>
<source>nmi</source>
<translation>nmi</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
<location filename="../src/GUI/optionsdialog.cpp" line="552"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="554"/>
<location filename="../src/GUI/optionsdialog.cpp" line="694"/>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="702"/>
<source>POI</source>
<translation>POI</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="561"/>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<source>WYSIWYG</source>
<translation>WYSIWYG</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
<source>High-Resolution</source>
<translation>Wysoka rozdzielczość</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="567"/>
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
<translation>Wydrukowany obszar jest w przybliżeniu obszarem wyświetlania. Poziom powiększenia mapy nie zmienia się.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<location filename="../src/GUI/optionsdialog.cpp" line="577"/>
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
<translation>Poziom powiększenia mapy zostanie dostosowany w taki sposób, aby cała zawartość (ścieżki/punkty) wchodziła do drukowanego obszaru, a rozdzielczość mapy była jak najbliższa rozdzielczości wydruku.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="591"/>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<source>Name</source>
<translation>Nazwa</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="593"/>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<source>Date</source>
<translation>Data</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
<source>Distance</source>
<translation>Dystans</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="597"/>
<location filename="../src/GUI/optionsdialog.cpp" line="605"/>
<source>Time</source>
<translation>Czas</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<location filename="../src/GUI/optionsdialog.cpp" line="607"/>
<source>Moving time</source>
<translation>Czas ruchu</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<location filename="../src/GUI/optionsdialog.cpp" line="609"/>
<source>Item count (&gt;1)</source>
<translation>Liczba elementów (&gt;1)</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
<location filename="../src/GUI/optionsdialog.cpp" line="624"/>
<source>Separate graph page</source>
<translation>Oddzielna strona wykresu</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="626"/>
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
<source>Print mode</source>
<translation>Tryb wydruku</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="627"/>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<source>Header</source>
<translation>Nagłówek</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<location filename="../src/GUI/optionsdialog.cpp" line="643"/>
<source>Use OpenGL</source>
<translation>Używaj OpenGL</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
<location filename="../src/GUI/optionsdialog.cpp" line="646"/>
<source>Enable HTTP/2</source>
<translation>Włącz HTTP/2</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="645"/>
<location filename="../src/GUI/optionsdialog.cpp" line="653"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="655"/>
<location filename="../src/GUI/optionsdialog.cpp" line="663"/>
<source>Image cache size:</source>
<translation>Rozmiar pamięci podręcznej obrazu:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="656"/>
<location filename="../src/GUI/optionsdialog.cpp" line="664"/>
<source>Connection timeout:</source>
<translation>Limit czasu połączenia:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="421"/>
<location filename="../src/GUI/optionsdialog.cpp" line="672"/>
<location filename="../src/GUI/optionsdialog.cpp" line="697"/>
<location filename="../src/GUI/optionsdialog.cpp" line="680"/>
<location filename="../src/GUI/optionsdialog.cpp" line="705"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="690"/>
<location filename="../src/GUI/optionsdialog.cpp" line="698"/>
<source>Appearance</source>
<translation>Wygląd</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="692"/>
<location filename="../src/GUI/optionsdialog.cpp" line="700"/>
<source>Maps</source>
<translation>Mapy</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="693"/>
<location filename="../src/GUI/optionsdialog.cpp" line="701"/>
<source>Data</source>
<translation>Dane</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="695"/>
<location filename="../src/GUI/optionsdialog.cpp" line="703"/>
<source>Print &amp; Export</source>
<translation>Drukowanie i eksport</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="724"/>
<location filename="../src/GUI/optionsdialog.cpp" line="732"/>
<source>Options</source>
<translation>Opcje</translation>
</message>
@ -1646,7 +1651,7 @@
<message>
<location filename="../src/GUI/routeitem.cpp" line="19"/>
<source>Comment</source>
<translation type="unfinished"></translation>
<translation>Komentarz</translation>
</message>
<message>
<location filename="../src/GUI/routeitem.cpp" line="20"/>
@ -1656,7 +1661,7 @@
<message>
<location filename="../src/GUI/routeitem.cpp" line="31"/>
<source>Links</source>
<translation type="unfinished"></translation>
<translation>Linki</translation>
</message>
</context>
<context>
@ -1867,7 +1872,7 @@
<message>
<location filename="../src/GUI/trackitem.cpp" line="17"/>
<source>Comment</source>
<translation type="unfinished"></translation>
<translation>Komentarz</translation>
</message>
<message>
<location filename="../src/GUI/trackitem.cpp" line="18"/>
@ -1892,7 +1897,7 @@
<message>
<location filename="../src/GUI/trackitem.cpp" line="41"/>
<source>Links</source>
<translation type="unfinished"></translation>
<translation>Odnośniki do stron</translation>
</message>
</context>
<context>
@ -1925,7 +1930,7 @@
<message>
<location filename="../src/GUI/waypointitem.cpp" line="51"/>
<source>Comment</source>
<translation type="unfinished"></translation>
<translation>Komentarz</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="64"/>
@ -1935,7 +1940,7 @@
<message>
<location filename="../src/GUI/waypointitem.cpp" line="75"/>
<source>Links</source>
<translation type="unfinished"></translation>
<translation>Linki</translation>
</message>
</context>
</TS>

View File

@ -494,16 +494,16 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="372"/>
<location filename="../src/GUI/gui.cpp" line="1080"/>
<location filename="../src/GUI/gui.cpp" line="1147"/>
<location filename="../src/GUI/gui.cpp" line="1081"/>
<location filename="../src/GUI/gui.cpp" line="1148"/>
<source>Distance</source>
<translation>Distância</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="379"/>
<location filename="../src/GUI/gui.cpp" line="555"/>
<location filename="../src/GUI/gui.cpp" line="1083"/>
<location filename="../src/GUI/gui.cpp" line="1149"/>
<location filename="../src/GUI/gui.cpp" line="1084"/>
<location filename="../src/GUI/gui.cpp" line="1150"/>
<source>Time</source>
<translation>Tempo</translation>
</message>
@ -534,8 +534,8 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="416"/>
<location filename="../src/GUI/gui.cpp" line="1085"/>
<location filename="../src/GUI/gui.cpp" line="1151"/>
<location filename="../src/GUI/gui.cpp" line="1086"/>
<location filename="../src/GUI/gui.cpp" line="1152"/>
<source>Moving time</source>
<translation>Tempo em movimento</translation>
</message>
@ -801,66 +801,66 @@
<translation>Erro ao carregar arquivo POI:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1054"/>
<location filename="../src/GUI/gui.cpp" line="1125"/>
<location filename="../src/GUI/gui.cpp" line="1055"/>
<location filename="../src/GUI/gui.cpp" line="1126"/>
<source>Tracks</source>
<translation>Trilhas</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1057"/>
<location filename="../src/GUI/gui.cpp" line="1127"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<location filename="../src/GUI/gui.cpp" line="1128"/>
<source>Routes</source>
<translation>Rotas</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1060"/>
<location filename="../src/GUI/gui.cpp" line="1129"/>
<location filename="../src/GUI/gui.cpp" line="1061"/>
<location filename="../src/GUI/gui.cpp" line="1130"/>
<source>Waypoints</source>
<translation>Waypoints</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1063"/>
<location filename="../src/GUI/gui.cpp" line="1131"/>
<location filename="../src/GUI/gui.cpp" line="1064"/>
<location filename="../src/GUI/gui.cpp" line="1132"/>
<source>Areas</source>
<translation>Áreas</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1069"/>
<location filename="../src/GUI/gui.cpp" line="1073"/>
<location filename="../src/GUI/gui.cpp" line="1137"/>
<location filename="../src/GUI/gui.cpp" line="1140"/>
<location filename="../src/GUI/gui.cpp" line="1070"/>
<location filename="../src/GUI/gui.cpp" line="1074"/>
<location filename="../src/GUI/gui.cpp" line="1138"/>
<location filename="../src/GUI/gui.cpp" line="1141"/>
<source>Date</source>
<translation>Data</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1106"/>
<location filename="../src/GUI/gui.cpp" line="1107"/>
<location filename="../src/GUI/gui.cpp" line="1108"/>
<source>Statistics</source>
<translation>Estatísticas</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1121"/>
<location filename="../src/GUI/gui.cpp" line="1122"/>
<source>Name</source>
<translation>Nome</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1339"/>
<location filename="../src/GUI/gui.cpp" line="1340"/>
<source>Open map file</source>
<translation>Abrir arquivo de mapa</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1359"/>
<location filename="../src/GUI/gui.cpp" line="1390"/>
<location filename="../src/GUI/gui.cpp" line="1360"/>
<location filename="../src/GUI/gui.cpp" line="1391"/>
<source>Error loading map:</source>
<translation>Erro ao carregar o mapa:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1400"/>
<location filename="../src/GUI/gui.cpp" line="1401"/>
<source>No files loaded</source>
<translation>Nenhum arquivo carregado</translation>
</message>
<message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1404"/>
<location filename="../src/GUI/gui.cpp" line="1405"/>
<source>%n files</source>
<translation>
<numerusform>%n arquivo</numerusform>
@ -1257,7 +1257,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="293"/>
<location filename="../src/GUI/optionsdialog.cpp" line="628"/>
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
<source>Graphs</source>
<translation>Gráficos</translation>
</message>
@ -1273,13 +1273,13 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="320"/>
<location filename="../src/GUI/optionsdialog.cpp" line="476"/>
<location filename="../src/GUI/optionsdialog.cpp" line="479"/>
<source>Elevation:</source>
<translation>Altitude:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="321"/>
<location filename="../src/GUI/optionsdialog.cpp" line="475"/>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<source>Speed:</source>
<translation>Velocidade:</translation>
</message>
@ -1341,7 +1341,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="374"/>
<location filename="../src/GUI/optionsdialog.cpp" line="651"/>
<location filename="../src/GUI/optionsdialog.cpp" line="659"/>
<source>s</source>
<translation>s</translation>
</message>
@ -1391,185 +1391,190 @@
<translation>UTC</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
<source>Use segments</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="481"/>
<source>Time zone:</source>
<translation>Fuso horário:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="493"/>
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
<source>Speed</source>
<translation>Velocidade</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="500"/>
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
<source>Elevation</source>
<translation>Altitude</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
<source>Time zone</source>
<translation>Fuso horário</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="524"/>
<location filename="../src/GUI/optionsdialog.cpp" line="532"/>
<source>Filtering</source>
<translation>Filtragem</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="525"/>
<location filename="../src/GUI/optionsdialog.cpp" line="533"/>
<source>Sources</source>
<translation>Fontes</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="526"/>
<location filename="../src/GUI/optionsdialog.cpp" line="534"/>
<source>Pause detection</source>
<translation>Detecção de pausa</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
<location filename="../src/GUI/optionsdialog.cpp" line="549"/>
<source>nmi</source>
<translation>nmi</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
<location filename="../src/GUI/optionsdialog.cpp" line="552"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
<location filename="../src/GUI/optionsdialog.cpp" line="556"/>
<source>Radius:</source>
<translation>Raio:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="554"/>
<location filename="../src/GUI/optionsdialog.cpp" line="694"/>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="702"/>
<source>POI</source>
<translation>POI</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="561"/>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<source>WYSIWYG</source>
<translation>WYSIWYG</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
<source>High-Resolution</source>
<translation>Alta resolução</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="567"/>
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
<translation>A área de impressão é aproximadamente a área de tela. O nível de zoom do mapa não é alterado.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<location filename="../src/GUI/optionsdialog.cpp" line="577"/>
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
<translation>O nível de zoom será alterado de modo que todo o conteúdo (trilhas/waypoints) caiba na área de impressão e a resolução seja tão próxima quanto possível da resolução de impressão.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="591"/>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<source>Name</source>
<translation>Nome</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="593"/>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<source>Date</source>
<translation>Data</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
<source>Distance</source>
<translation>Distância</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="597"/>
<location filename="../src/GUI/optionsdialog.cpp" line="605"/>
<source>Time</source>
<translation>Tempo</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<location filename="../src/GUI/optionsdialog.cpp" line="607"/>
<source>Moving time</source>
<translation>Tempo em movimento</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<location filename="../src/GUI/optionsdialog.cpp" line="609"/>
<source>Item count (&gt;1)</source>
<translation>Número de itens (&gt;1)</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
<location filename="../src/GUI/optionsdialog.cpp" line="624"/>
<source>Separate graph page</source>
<translation>Separar página de gráficos</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="626"/>
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
<source>Print mode</source>
<translation>Modo de impressão</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="627"/>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<source>Header</source>
<translation>Cabeçalho</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<location filename="../src/GUI/optionsdialog.cpp" line="643"/>
<source>Use OpenGL</source>
<translation>Usar OpenGL</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
<location filename="../src/GUI/optionsdialog.cpp" line="646"/>
<source>Enable HTTP/2</source>
<translation>Habilitar HTTP/2</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="645"/>
<location filename="../src/GUI/optionsdialog.cpp" line="653"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="655"/>
<location filename="../src/GUI/optionsdialog.cpp" line="663"/>
<source>Image cache size:</source>
<translation>Tamanho do cache de imagens:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="656"/>
<location filename="../src/GUI/optionsdialog.cpp" line="664"/>
<source>Connection timeout:</source>
<translation>Tempo de espera de conexão:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="421"/>
<location filename="../src/GUI/optionsdialog.cpp" line="672"/>
<location filename="../src/GUI/optionsdialog.cpp" line="697"/>
<location filename="../src/GUI/optionsdialog.cpp" line="680"/>
<location filename="../src/GUI/optionsdialog.cpp" line="705"/>
<source>System</source>
<translation>Sistema</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="690"/>
<location filename="../src/GUI/optionsdialog.cpp" line="698"/>
<source>Appearance</source>
<translation>Aparência</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="692"/>
<location filename="../src/GUI/optionsdialog.cpp" line="700"/>
<source>Maps</source>
<translation>Mapas</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="693"/>
<location filename="../src/GUI/optionsdialog.cpp" line="701"/>
<source>Data</source>
<translation>Dados</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="695"/>
<location filename="../src/GUI/optionsdialog.cpp" line="703"/>
<source>Print &amp; Export</source>
<translation>Imprimir e Exportar</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="724"/>
<location filename="../src/GUI/optionsdialog.cpp" line="732"/>
<source>Options</source>
<translation>Preferências</translation>
</message>

View File

@ -518,8 +518,8 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="416"/>
<location filename="../src/GUI/gui.cpp" line="1085"/>
<location filename="../src/GUI/gui.cpp" line="1151"/>
<location filename="../src/GUI/gui.cpp" line="1086"/>
<location filename="../src/GUI/gui.cpp" line="1152"/>
<source>Moving time</source>
<translation>Время движения</translation>
</message>
@ -674,32 +674,32 @@
<translation>Каталог со стилями:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1063"/>
<location filename="../src/GUI/gui.cpp" line="1131"/>
<location filename="../src/GUI/gui.cpp" line="1064"/>
<location filename="../src/GUI/gui.cpp" line="1132"/>
<source>Areas</source>
<translation>Области</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1106"/>
<location filename="../src/GUI/gui.cpp" line="1107"/>
<location filename="../src/GUI/gui.cpp" line="1108"/>
<source>Statistics</source>
<translation>Статистика</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1339"/>
<location filename="../src/GUI/gui.cpp" line="1340"/>
<source>Open map file</source>
<translation>Открыть файл карты</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1400"/>
<location filename="../src/GUI/gui.cpp" line="1401"/>
<source>No files loaded</source>
<translation>Нет загруженных файлов</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1069"/>
<location filename="../src/GUI/gui.cpp" line="1073"/>
<location filename="../src/GUI/gui.cpp" line="1137"/>
<location filename="../src/GUI/gui.cpp" line="1140"/>
<location filename="../src/GUI/gui.cpp" line="1070"/>
<location filename="../src/GUI/gui.cpp" line="1074"/>
<location filename="../src/GUI/gui.cpp" line="1138"/>
<location filename="../src/GUI/gui.cpp" line="1141"/>
<source>Date</source>
<translation>Дата</translation>
</message>
@ -754,19 +754,19 @@
<translation>Каталог кеша тайлов:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1057"/>
<location filename="../src/GUI/gui.cpp" line="1127"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<location filename="../src/GUI/gui.cpp" line="1128"/>
<source>Routes</source>
<translation>Маршруты</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1359"/>
<location filename="../src/GUI/gui.cpp" line="1390"/>
<location filename="../src/GUI/gui.cpp" line="1360"/>
<location filename="../src/GUI/gui.cpp" line="1391"/>
<source>Error loading map:</source>
<translation>Ошибка загрузки карты:</translation>
</message>
<message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1404"/>
<location filename="../src/GUI/gui.cpp" line="1405"/>
<source>%n files</source>
<translation>
<numerusform>%n файл</numerusform>
@ -790,8 +790,8 @@
<translation>Экспорт в PDF</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1060"/>
<location filename="../src/GUI/gui.cpp" line="1129"/>
<location filename="../src/GUI/gui.cpp" line="1061"/>
<location filename="../src/GUI/gui.cpp" line="1130"/>
<source>Waypoints</source>
<translation>Точки</translation>
</message>
@ -832,13 +832,13 @@
<translation>Ошибка загрузки файла с точками POI:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1121"/>
<location filename="../src/GUI/gui.cpp" line="1122"/>
<source>Name</source>
<translation>Имя</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1054"/>
<location filename="../src/GUI/gui.cpp" line="1125"/>
<location filename="../src/GUI/gui.cpp" line="1055"/>
<location filename="../src/GUI/gui.cpp" line="1126"/>
<source>Tracks</source>
<translation>Треки</translation>
</message>
@ -855,16 +855,16 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="372"/>
<location filename="../src/GUI/gui.cpp" line="1080"/>
<location filename="../src/GUI/gui.cpp" line="1147"/>
<location filename="../src/GUI/gui.cpp" line="1081"/>
<location filename="../src/GUI/gui.cpp" line="1148"/>
<source>Distance</source>
<translation>Расстояние</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="379"/>
<location filename="../src/GUI/gui.cpp" line="555"/>
<location filename="../src/GUI/gui.cpp" line="1083"/>
<location filename="../src/GUI/gui.cpp" line="1149"/>
<location filename="../src/GUI/gui.cpp" line="1084"/>
<location filename="../src/GUI/gui.cpp" line="1150"/>
<source>Time</source>
<translation>Время</translation>
</message>
@ -1137,7 +1137,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="293"/>
<location filename="../src/GUI/optionsdialog.cpp" line="628"/>
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
<source>Graphs</source>
<translation>Графики</translation>
</message>
@ -1239,13 +1239,13 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="320"/>
<location filename="../src/GUI/optionsdialog.cpp" line="476"/>
<location filename="../src/GUI/optionsdialog.cpp" line="479"/>
<source>Elevation:</source>
<translation>Высота:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="321"/>
<location filename="../src/GUI/optionsdialog.cpp" line="475"/>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<source>Speed:</source>
<translation>Скорость:</translation>
</message>
@ -1301,7 +1301,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="374"/>
<location filename="../src/GUI/optionsdialog.cpp" line="651"/>
<location filename="../src/GUI/optionsdialog.cpp" line="659"/>
<source>s</source>
<translation>с</translation>
</message>
@ -1351,42 +1351,47 @@
<translation>UTC</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
<source>Use segments</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="481"/>
<source>Time zone:</source>
<translation>Часовой пояс:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="500"/>
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
<source>Elevation</source>
<translation>Высота</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
<source>Time zone</source>
<translation>Часовой пояс</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="524"/>
<location filename="../src/GUI/optionsdialog.cpp" line="532"/>
<source>Filtering</source>
<translation>Фильтрация</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="525"/>
<location filename="../src/GUI/optionsdialog.cpp" line="533"/>
<source>Sources</source>
<translation>Источники</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="526"/>
<location filename="../src/GUI/optionsdialog.cpp" line="534"/>
<source>Pause detection</source>
<translation>Обнаружение остановок</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
<location filename="../src/GUI/optionsdialog.cpp" line="556"/>
<source>Radius:</source>
<translation>Радиус:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="493"/>
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
<source>Speed</source>
<translation>Скорость</translation>
</message>
@ -1432,145 +1437,145 @@
<translation>Пользовательскoe</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
<source>mi</source>
<translation>мл</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
<location filename="../src/GUI/optionsdialog.cpp" line="549"/>
<source>nmi</source>
<translation>мор. мл</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
<location filename="../src/GUI/optionsdialog.cpp" line="552"/>
<source>km</source>
<translation>км</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="554"/>
<location filename="../src/GUI/optionsdialog.cpp" line="694"/>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="702"/>
<source>POI</source>
<translation>Точки POI</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="561"/>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<source>WYSIWYG</source>
<translation>WYSIWYG</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
<source>High-Resolution</source>
<translation>Высокое разрешение</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="567"/>
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
<translation>Печатная область примерно совпадает с областью отображения. Уровень приближения карты не изменяется.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<location filename="../src/GUI/optionsdialog.cpp" line="577"/>
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
<translation>Уровень приближения будет изменен так, чтобы всё содержимое (треки/точки) уместились в печатную область и разрешение карты было бы как можно ближе к разрешению печати.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="591"/>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<source>Name</source>
<translation>Имя</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="593"/>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<source>Date</source>
<translation>Дата</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
<source>Distance</source>
<translation>Расстояние</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="597"/>
<location filename="../src/GUI/optionsdialog.cpp" line="605"/>
<source>Time</source>
<translation>Время</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<location filename="../src/GUI/optionsdialog.cpp" line="607"/>
<source>Moving time</source>
<translation>Время движения</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<location filename="../src/GUI/optionsdialog.cpp" line="609"/>
<source>Item count (&gt;1)</source>
<translation>Количество объектов (&gt;1)</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
<location filename="../src/GUI/optionsdialog.cpp" line="624"/>
<source>Separate graph page</source>
<translation>Отдельная страница с графиком</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="626"/>
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
<source>Print mode</source>
<translation>Режим печати</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="627"/>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<source>Header</source>
<translation>Заголовок</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<location filename="../src/GUI/optionsdialog.cpp" line="643"/>
<source>Use OpenGL</source>
<translation>Использовать OpenGL</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
<location filename="../src/GUI/optionsdialog.cpp" line="646"/>
<source>Enable HTTP/2</source>
<translation>Включить HTTP/2</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="645"/>
<location filename="../src/GUI/optionsdialog.cpp" line="653"/>
<source>MB</source>
<translation>МБ</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="655"/>
<location filename="../src/GUI/optionsdialog.cpp" line="663"/>
<source>Image cache size:</source>
<translation>Размер кэша изображений:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="656"/>
<location filename="../src/GUI/optionsdialog.cpp" line="664"/>
<source>Connection timeout:</source>
<translation>Таймаут соединения:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="421"/>
<location filename="../src/GUI/optionsdialog.cpp" line="672"/>
<location filename="../src/GUI/optionsdialog.cpp" line="697"/>
<location filename="../src/GUI/optionsdialog.cpp" line="680"/>
<location filename="../src/GUI/optionsdialog.cpp" line="705"/>
<source>System</source>
<translation>Система</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="690"/>
<location filename="../src/GUI/optionsdialog.cpp" line="698"/>
<source>Appearance</source>
<translation>Внешний вид</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="692"/>
<location filename="../src/GUI/optionsdialog.cpp" line="700"/>
<source>Maps</source>
<translation>Карты</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="693"/>
<location filename="../src/GUI/optionsdialog.cpp" line="701"/>
<source>Data</source>
<translation>Данные</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="695"/>
<location filename="../src/GUI/optionsdialog.cpp" line="703"/>
<source>Print &amp; Export</source>
<translation>Печать и экспорт</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="724"/>
<location filename="../src/GUI/optionsdialog.cpp" line="732"/>
<source>Options</source>
<translation>Параметры</translation>
</message>

View File

@ -528,8 +528,8 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="416"/>
<location filename="../src/GUI/gui.cpp" line="1085"/>
<location filename="../src/GUI/gui.cpp" line="1151"/>
<location filename="../src/GUI/gui.cpp" line="1086"/>
<location filename="../src/GUI/gui.cpp" line="1152"/>
<source>Moving time</source>
<translation>Förflyttningstid</translation>
</message>
@ -684,35 +684,35 @@
<translation>Mapp för stilar:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1063"/>
<location filename="../src/GUI/gui.cpp" line="1131"/>
<location filename="../src/GUI/gui.cpp" line="1064"/>
<location filename="../src/GUI/gui.cpp" line="1132"/>
<source>Areas</source>
<translation>Områden</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1106"/>
<location filename="../src/GUI/gui.cpp" line="1107"/>
<location filename="../src/GUI/gui.cpp" line="1108"/>
<source>Statistics</source>
<translation>Statistik</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1339"/>
<location filename="../src/GUI/gui.cpp" line="1340"/>
<source>Open map file</source>
<translation>Öppna kartfil</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1359"/>
<location filename="../src/GUI/gui.cpp" line="1390"/>
<location filename="../src/GUI/gui.cpp" line="1360"/>
<location filename="../src/GUI/gui.cpp" line="1391"/>
<source>Error loading map:</source>
<translation>Fel vid inläsning av karta:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1400"/>
<location filename="../src/GUI/gui.cpp" line="1401"/>
<source>No files loaded</source>
<translation>Inga filer inlästa</translation>
</message>
<message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1404"/>
<location filename="../src/GUI/gui.cpp" line="1405"/>
<source>%n files</source>
<translation>
<numerusform>%n fil</numerusform>
@ -720,16 +720,16 @@
</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1069"/>
<location filename="../src/GUI/gui.cpp" line="1073"/>
<location filename="../src/GUI/gui.cpp" line="1137"/>
<location filename="../src/GUI/gui.cpp" line="1140"/>
<location filename="../src/GUI/gui.cpp" line="1070"/>
<location filename="../src/GUI/gui.cpp" line="1074"/>
<location filename="../src/GUI/gui.cpp" line="1138"/>
<location filename="../src/GUI/gui.cpp" line="1141"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1057"/>
<location filename="../src/GUI/gui.cpp" line="1127"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<location filename="../src/GUI/gui.cpp" line="1128"/>
<source>Routes</source>
<translation>Rutter</translation>
</message>
@ -749,8 +749,8 @@
<translation>Exportera till PDF...</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1060"/>
<location filename="../src/GUI/gui.cpp" line="1129"/>
<location filename="../src/GUI/gui.cpp" line="1061"/>
<location filename="../src/GUI/gui.cpp" line="1130"/>
<source>Waypoints</source>
<translation>Vägpunkter</translation>
</message>
@ -831,13 +831,13 @@
<translation>Fel vid inläsning av POI-fil:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1121"/>
<location filename="../src/GUI/gui.cpp" line="1122"/>
<source>Name</source>
<translation>Namn</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1054"/>
<location filename="../src/GUI/gui.cpp" line="1125"/>
<location filename="../src/GUI/gui.cpp" line="1055"/>
<location filename="../src/GUI/gui.cpp" line="1126"/>
<source>Tracks</source>
<translation>Spår</translation>
</message>
@ -854,16 +854,16 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="372"/>
<location filename="../src/GUI/gui.cpp" line="1080"/>
<location filename="../src/GUI/gui.cpp" line="1147"/>
<location filename="../src/GUI/gui.cpp" line="1081"/>
<location filename="../src/GUI/gui.cpp" line="1148"/>
<source>Distance</source>
<translation>Avstånd</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="379"/>
<location filename="../src/GUI/gui.cpp" line="555"/>
<location filename="../src/GUI/gui.cpp" line="1083"/>
<location filename="../src/GUI/gui.cpp" line="1149"/>
<location filename="../src/GUI/gui.cpp" line="1084"/>
<location filename="../src/GUI/gui.cpp" line="1150"/>
<source>Time</source>
<translation>Tid</translation>
</message>
@ -1136,7 +1136,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="293"/>
<location filename="../src/GUI/optionsdialog.cpp" line="628"/>
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
<source>Graphs</source>
<translation>Diagram</translation>
</message>
@ -1238,13 +1238,13 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="320"/>
<location filename="../src/GUI/optionsdialog.cpp" line="476"/>
<location filename="../src/GUI/optionsdialog.cpp" line="479"/>
<source>Elevation:</source>
<translation>Höjd:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="321"/>
<location filename="../src/GUI/optionsdialog.cpp" line="475"/>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<source>Speed:</source>
<translation>Hastighet:</translation>
</message>
@ -1300,7 +1300,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="374"/>
<location filename="../src/GUI/optionsdialog.cpp" line="651"/>
<location filename="../src/GUI/optionsdialog.cpp" line="659"/>
<source>s</source>
<translation>sek</translation>
</message>
@ -1350,42 +1350,47 @@
<translation>Utc</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
<source>Use segments</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="481"/>
<source>Time zone:</source>
<translation>Tidszon:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="500"/>
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
<source>Elevation</source>
<translation>Stigning</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
<source>Time zone</source>
<translation>Tidszon</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="524"/>
<location filename="../src/GUI/optionsdialog.cpp" line="532"/>
<source>Filtering</source>
<translation>Filtrering</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="525"/>
<location filename="../src/GUI/optionsdialog.cpp" line="533"/>
<source>Sources</source>
<translation>Källor</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="526"/>
<location filename="../src/GUI/optionsdialog.cpp" line="534"/>
<source>Pause detection</source>
<translation>Pausa identifiering</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
<location filename="../src/GUI/optionsdialog.cpp" line="556"/>
<source>Radius:</source>
<translation>Radie:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="493"/>
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
<source>Speed</source>
<translation>Hastighet</translation>
</message>
@ -1431,145 +1436,145 @@
<translation>Anpassat</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
<location filename="../src/GUI/optionsdialog.cpp" line="549"/>
<source>nmi</source>
<translation>nmi</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
<location filename="../src/GUI/optionsdialog.cpp" line="552"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="554"/>
<location filename="../src/GUI/optionsdialog.cpp" line="694"/>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="702"/>
<source>POI</source>
<translation>POI</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="561"/>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<source>WYSIWYG</source>
<translation>WYSIWYG</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
<source>High-Resolution</source>
<translation>Högupplösning</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="567"/>
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
<translation>Det utskrivna området är ungefär detsamma som synligt område skärmen. Kartans zoomnivå ändras inte.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<location filename="../src/GUI/optionsdialog.cpp" line="577"/>
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
<translation>Zoomnivån kommer att ändras att hela innehållet (spår/vägpunkter) passar utskriftsområdet och kartresolutionen är nära som möjligt till utskriftsupplösningen.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="591"/>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<source>Name</source>
<translation>Namn</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="593"/>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
<source>Distance</source>
<translation>Avstånd</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="597"/>
<location filename="../src/GUI/optionsdialog.cpp" line="605"/>
<source>Time</source>
<translation>Tid</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<location filename="../src/GUI/optionsdialog.cpp" line="607"/>
<source>Moving time</source>
<translation>Förflyttningstid</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<location filename="../src/GUI/optionsdialog.cpp" line="609"/>
<source>Item count (&gt;1)</source>
<translation>Objektantal (&gt;1)</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
<location filename="../src/GUI/optionsdialog.cpp" line="624"/>
<source>Separate graph page</source>
<translation>Separat diagramsida</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="626"/>
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
<source>Print mode</source>
<translation>Utskriftsläge</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="627"/>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<source>Header</source>
<translation>Rubrik</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<location filename="../src/GUI/optionsdialog.cpp" line="643"/>
<source>Use OpenGL</source>
<translation>Använd OpenGL</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
<location filename="../src/GUI/optionsdialog.cpp" line="646"/>
<source>Enable HTTP/2</source>
<translation>Aktivera HTTP/2</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="645"/>
<location filename="../src/GUI/optionsdialog.cpp" line="653"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="655"/>
<location filename="../src/GUI/optionsdialog.cpp" line="663"/>
<source>Image cache size:</source>
<translation>Cashe-storlek för bilder:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="656"/>
<location filename="../src/GUI/optionsdialog.cpp" line="664"/>
<source>Connection timeout:</source>
<translation>Anslutningens tidsgräns:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="421"/>
<location filename="../src/GUI/optionsdialog.cpp" line="672"/>
<location filename="../src/GUI/optionsdialog.cpp" line="697"/>
<location filename="../src/GUI/optionsdialog.cpp" line="680"/>
<location filename="../src/GUI/optionsdialog.cpp" line="705"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="690"/>
<location filename="../src/GUI/optionsdialog.cpp" line="698"/>
<source>Appearance</source>
<translation>Utseende</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="692"/>
<location filename="../src/GUI/optionsdialog.cpp" line="700"/>
<source>Maps</source>
<translation>Kartor</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="693"/>
<location filename="../src/GUI/optionsdialog.cpp" line="701"/>
<source>Data</source>
<translation>Data</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="695"/>
<location filename="../src/GUI/optionsdialog.cpp" line="703"/>
<source>Print &amp; Export</source>
<translation>Utskrift &amp; Export</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="724"/>
<location filename="../src/GUI/optionsdialog.cpp" line="732"/>
<source>Options</source>
<translation>Alternativ</translation>
</message>

View File

@ -494,16 +494,16 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="372"/>
<location filename="../src/GUI/gui.cpp" line="1080"/>
<location filename="../src/GUI/gui.cpp" line="1147"/>
<location filename="../src/GUI/gui.cpp" line="1081"/>
<location filename="../src/GUI/gui.cpp" line="1148"/>
<source>Distance</source>
<translation>Mesafe</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="379"/>
<location filename="../src/GUI/gui.cpp" line="555"/>
<location filename="../src/GUI/gui.cpp" line="1083"/>
<location filename="../src/GUI/gui.cpp" line="1149"/>
<location filename="../src/GUI/gui.cpp" line="1084"/>
<location filename="../src/GUI/gui.cpp" line="1150"/>
<source>Time</source>
<translation>Zaman</translation>
</message>
@ -534,8 +534,8 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="416"/>
<location filename="../src/GUI/gui.cpp" line="1085"/>
<location filename="../src/GUI/gui.cpp" line="1151"/>
<location filename="../src/GUI/gui.cpp" line="1086"/>
<location filename="../src/GUI/gui.cpp" line="1152"/>
<source>Moving time</source>
<translation>Hareket süresi</translation>
</message>
@ -801,66 +801,66 @@
<translation>POI dosyası yükleme hatası:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1054"/>
<location filename="../src/GUI/gui.cpp" line="1125"/>
<location filename="../src/GUI/gui.cpp" line="1055"/>
<location filename="../src/GUI/gui.cpp" line="1126"/>
<source>Tracks</source>
<translation>İzler</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1057"/>
<location filename="../src/GUI/gui.cpp" line="1127"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<location filename="../src/GUI/gui.cpp" line="1128"/>
<source>Routes</source>
<translation>Rotalar</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1060"/>
<location filename="../src/GUI/gui.cpp" line="1129"/>
<location filename="../src/GUI/gui.cpp" line="1061"/>
<location filename="../src/GUI/gui.cpp" line="1130"/>
<source>Waypoints</source>
<translation>Yer işaretleri</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1063"/>
<location filename="../src/GUI/gui.cpp" line="1131"/>
<location filename="../src/GUI/gui.cpp" line="1064"/>
<location filename="../src/GUI/gui.cpp" line="1132"/>
<source>Areas</source>
<translation>Alanlar</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1069"/>
<location filename="../src/GUI/gui.cpp" line="1073"/>
<location filename="../src/GUI/gui.cpp" line="1137"/>
<location filename="../src/GUI/gui.cpp" line="1140"/>
<location filename="../src/GUI/gui.cpp" line="1070"/>
<location filename="../src/GUI/gui.cpp" line="1074"/>
<location filename="../src/GUI/gui.cpp" line="1138"/>
<location filename="../src/GUI/gui.cpp" line="1141"/>
<source>Date</source>
<translation>Tarih</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1106"/>
<location filename="../src/GUI/gui.cpp" line="1107"/>
<location filename="../src/GUI/gui.cpp" line="1108"/>
<source>Statistics</source>
<translation>İstatistikler</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1121"/>
<location filename="../src/GUI/gui.cpp" line="1122"/>
<source>Name</source>
<translation>Adı</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1339"/>
<location filename="../src/GUI/gui.cpp" line="1340"/>
<source>Open map file</source>
<translation>Harita dosyası </translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1359"/>
<location filename="../src/GUI/gui.cpp" line="1390"/>
<location filename="../src/GUI/gui.cpp" line="1360"/>
<location filename="../src/GUI/gui.cpp" line="1391"/>
<source>Error loading map:</source>
<translation>Harita yüklenirken hata oluştu:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1400"/>
<location filename="../src/GUI/gui.cpp" line="1401"/>
<source>No files loaded</source>
<translation>Hiç dosya yüklenmedi</translation>
</message>
<message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1404"/>
<location filename="../src/GUI/gui.cpp" line="1405"/>
<source>%n files</source>
<translation>
<numerusform>%n dosya</numerusform>
@ -1257,7 +1257,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="293"/>
<location filename="../src/GUI/optionsdialog.cpp" line="628"/>
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
<source>Graphs</source>
<translation>Grafikler</translation>
</message>
@ -1273,13 +1273,13 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="320"/>
<location filename="../src/GUI/optionsdialog.cpp" line="476"/>
<location filename="../src/GUI/optionsdialog.cpp" line="479"/>
<source>Elevation:</source>
<translation>Rakım:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="321"/>
<location filename="../src/GUI/optionsdialog.cpp" line="475"/>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<source>Speed:</source>
<translation>Hız:</translation>
</message>
@ -1335,7 +1335,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="374"/>
<location filename="../src/GUI/optionsdialog.cpp" line="651"/>
<location filename="../src/GUI/optionsdialog.cpp" line="659"/>
<source>s</source>
<translation>s</translation>
</message>
@ -1385,42 +1385,47 @@
<translation>UTC</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
<source>Use segments</source>
<translation>Bölümleri kullan</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="481"/>
<source>Time zone:</source>
<translation>Saat dilimi:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="500"/>
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
<source>Elevation</source>
<translation>Rakım</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
<source>Time zone</source>
<translation>Saat dilimi</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="524"/>
<location filename="../src/GUI/optionsdialog.cpp" line="532"/>
<source>Filtering</source>
<translation>Filtreleme</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="525"/>
<location filename="../src/GUI/optionsdialog.cpp" line="533"/>
<source>Sources</source>
<translation>Kaynaklar</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="526"/>
<location filename="../src/GUI/optionsdialog.cpp" line="534"/>
<source>Pause detection</source>
<translation>Duraklama algılama</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
<location filename="../src/GUI/optionsdialog.cpp" line="556"/>
<source>Radius:</source>
<translation>Yarıçap:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="493"/>
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
<source>Speed</source>
<translation>Hız</translation>
</message>
@ -1431,145 +1436,145 @@
<translation>Özel</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
<location filename="../src/GUI/optionsdialog.cpp" line="549"/>
<source>nmi</source>
<translation>nmi</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
<location filename="../src/GUI/optionsdialog.cpp" line="552"/>
<source>km</source>
<translation>Km</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="554"/>
<location filename="../src/GUI/optionsdialog.cpp" line="694"/>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="702"/>
<source>POI</source>
<translation>POI</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="561"/>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<source>WYSIWYG</source>
<translation>WYSIWYG</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
<source>High-Resolution</source>
<translation>Yüksek çözünürlük</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="567"/>
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
<translation>Yazdırılan alan yaklaşık olarak görüntü alanıdır. Harita zum seviyesi değişmez.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<location filename="../src/GUI/optionsdialog.cpp" line="577"/>
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
<translation>Yakınlaştırma seviyesi, tüm içeriğin (izler/yer işaretleri) yazdırılan alana sığması ve harita çözünürlüğünün baskı çözünürlüğüne olabildiğince yakın olacak şekilde değiştirilecektir.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="591"/>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<source>Name</source>
<translation>Adı</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="593"/>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<source>Date</source>
<translation>Tarih</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
<source>Distance</source>
<translation>Mesafe</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="597"/>
<location filename="../src/GUI/optionsdialog.cpp" line="605"/>
<source>Time</source>
<translation>Zaman</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<location filename="../src/GUI/optionsdialog.cpp" line="607"/>
<source>Moving time</source>
<translation>Hareket süresi</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<location filename="../src/GUI/optionsdialog.cpp" line="609"/>
<source>Item count (&gt;1)</source>
<translation>Öğe sayısı (&gt;1)</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
<location filename="../src/GUI/optionsdialog.cpp" line="624"/>
<source>Separate graph page</source>
<translation>Ayrı grafik sayfası</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="626"/>
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
<source>Print mode</source>
<translation>Yazdırma modu</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="627"/>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<source>Header</source>
<translation>Başlık</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<location filename="../src/GUI/optionsdialog.cpp" line="643"/>
<source>Use OpenGL</source>
<translation>OpenGL Kullan</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
<location filename="../src/GUI/optionsdialog.cpp" line="646"/>
<source>Enable HTTP/2</source>
<translation>HTTP/2 etkinleştir</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="645"/>
<location filename="../src/GUI/optionsdialog.cpp" line="653"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="655"/>
<location filename="../src/GUI/optionsdialog.cpp" line="663"/>
<source>Image cache size:</source>
<translation>Görüntü önbellek boyutu:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="656"/>
<location filename="../src/GUI/optionsdialog.cpp" line="664"/>
<source>Connection timeout:</source>
<translation>Bağlantı zaman ımı:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="421"/>
<location filename="../src/GUI/optionsdialog.cpp" line="672"/>
<location filename="../src/GUI/optionsdialog.cpp" line="697"/>
<location filename="../src/GUI/optionsdialog.cpp" line="680"/>
<location filename="../src/GUI/optionsdialog.cpp" line="705"/>
<source>System</source>
<translation>Sistem</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="690"/>
<location filename="../src/GUI/optionsdialog.cpp" line="698"/>
<source>Appearance</source>
<translation>Görünüm</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="692"/>
<location filename="../src/GUI/optionsdialog.cpp" line="700"/>
<source>Maps</source>
<translation>Haritalar</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="693"/>
<location filename="../src/GUI/optionsdialog.cpp" line="701"/>
<source>Data</source>
<translation>Veri</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="695"/>
<location filename="../src/GUI/optionsdialog.cpp" line="703"/>
<source>Print &amp; Export</source>
<translation>Yazdır &amp; Dışa ver</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="724"/>
<location filename="../src/GUI/optionsdialog.cpp" line="732"/>
<source>Options</source>
<translation>Seçenekler</translation>
</message>

View File

@ -494,16 +494,16 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="372"/>
<location filename="../src/GUI/gui.cpp" line="1080"/>
<location filename="../src/GUI/gui.cpp" line="1147"/>
<location filename="../src/GUI/gui.cpp" line="1081"/>
<location filename="../src/GUI/gui.cpp" line="1148"/>
<source>Distance</source>
<translation>Відстань</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="379"/>
<location filename="../src/GUI/gui.cpp" line="555"/>
<location filename="../src/GUI/gui.cpp" line="1083"/>
<location filename="../src/GUI/gui.cpp" line="1149"/>
<location filename="../src/GUI/gui.cpp" line="1084"/>
<location filename="../src/GUI/gui.cpp" line="1150"/>
<source>Time</source>
<translation>Час</translation>
</message>
@ -534,8 +534,8 @@
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="416"/>
<location filename="../src/GUI/gui.cpp" line="1085"/>
<location filename="../src/GUI/gui.cpp" line="1151"/>
<location filename="../src/GUI/gui.cpp" line="1086"/>
<location filename="../src/GUI/gui.cpp" line="1152"/>
<source>Moving time</source>
<translation>Час руху</translation>
</message>
@ -801,66 +801,66 @@
<translation>Помилка під час завантаження файлу POI:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1054"/>
<location filename="../src/GUI/gui.cpp" line="1125"/>
<location filename="../src/GUI/gui.cpp" line="1055"/>
<location filename="../src/GUI/gui.cpp" line="1126"/>
<source>Tracks</source>
<translation>Треки</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1057"/>
<location filename="../src/GUI/gui.cpp" line="1127"/>
<location filename="../src/GUI/gui.cpp" line="1058"/>
<location filename="../src/GUI/gui.cpp" line="1128"/>
<source>Routes</source>
<translation>Маршрути</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1060"/>
<location filename="../src/GUI/gui.cpp" line="1129"/>
<location filename="../src/GUI/gui.cpp" line="1061"/>
<location filename="../src/GUI/gui.cpp" line="1130"/>
<source>Waypoints</source>
<translation>Маршрутні точки</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1063"/>
<location filename="../src/GUI/gui.cpp" line="1131"/>
<location filename="../src/GUI/gui.cpp" line="1064"/>
<location filename="../src/GUI/gui.cpp" line="1132"/>
<source>Areas</source>
<translation>Області</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1069"/>
<location filename="../src/GUI/gui.cpp" line="1073"/>
<location filename="../src/GUI/gui.cpp" line="1137"/>
<location filename="../src/GUI/gui.cpp" line="1140"/>
<location filename="../src/GUI/gui.cpp" line="1070"/>
<location filename="../src/GUI/gui.cpp" line="1074"/>
<location filename="../src/GUI/gui.cpp" line="1138"/>
<location filename="../src/GUI/gui.cpp" line="1141"/>
<source>Date</source>
<translation>Дата</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1106"/>
<location filename="../src/GUI/gui.cpp" line="1107"/>
<location filename="../src/GUI/gui.cpp" line="1108"/>
<source>Statistics</source>
<translation>Статистика</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1121"/>
<location filename="../src/GUI/gui.cpp" line="1122"/>
<source>Name</source>
<translation>Імя</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1339"/>
<location filename="../src/GUI/gui.cpp" line="1340"/>
<source>Open map file</source>
<translation>Відкрити файл мапи</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1359"/>
<location filename="../src/GUI/gui.cpp" line="1390"/>
<location filename="../src/GUI/gui.cpp" line="1360"/>
<location filename="../src/GUI/gui.cpp" line="1391"/>
<source>Error loading map:</source>
<translation>Помилка завантаження мапи:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="1400"/>
<location filename="../src/GUI/gui.cpp" line="1401"/>
<source>No files loaded</source>
<translation>Файли не завантажені</translation>
</message>
<message numerus="yes">
<location filename="../src/GUI/gui.cpp" line="1404"/>
<location filename="../src/GUI/gui.cpp" line="1405"/>
<source>%n files</source>
<translation>
<numerusform>%n файл</numerusform>
@ -1258,7 +1258,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="293"/>
<location filename="../src/GUI/optionsdialog.cpp" line="628"/>
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
<source>Graphs</source>
<translation>Графіки</translation>
</message>
@ -1274,13 +1274,13 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="320"/>
<location filename="../src/GUI/optionsdialog.cpp" line="476"/>
<location filename="../src/GUI/optionsdialog.cpp" line="479"/>
<source>Elevation:</source>
<translation>Висота:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="321"/>
<location filename="../src/GUI/optionsdialog.cpp" line="475"/>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<source>Speed:</source>
<translation>Швидкість:</translation>
</message>
@ -1342,7 +1342,7 @@
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="374"/>
<location filename="../src/GUI/optionsdialog.cpp" line="651"/>
<location filename="../src/GUI/optionsdialog.cpp" line="659"/>
<source>s</source>
<translation>с</translation>
</message>
@ -1392,185 +1392,190 @@
<translation>UTC</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="478"/>
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
<source>Use segments</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="481"/>
<source>Time zone:</source>
<translation>Часовий пояс:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="493"/>
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
<source>Speed</source>
<translation>Швидкість</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="500"/>
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
<source>Elevation</source>
<translation>Висота</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
<source>Time zone</source>
<translation>Часовий пояс</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="524"/>
<location filename="../src/GUI/optionsdialog.cpp" line="532"/>
<source>Filtering</source>
<translation>Фільтрування</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="525"/>
<location filename="../src/GUI/optionsdialog.cpp" line="533"/>
<source>Sources</source>
<translation>Джерела</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="526"/>
<location filename="../src/GUI/optionsdialog.cpp" line="534"/>
<source>Pause detection</source>
<translation>Виявлення пауз</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
<source>mi</source>
<translation>миля</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
<location filename="../src/GUI/optionsdialog.cpp" line="549"/>
<source>nmi</source>
<translation>мор.миля</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
<location filename="../src/GUI/optionsdialog.cpp" line="552"/>
<source>km</source>
<translation>км</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
<location filename="../src/GUI/optionsdialog.cpp" line="556"/>
<source>Radius:</source>
<translation>Радіус:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="554"/>
<location filename="../src/GUI/optionsdialog.cpp" line="694"/>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="702"/>
<source>POI</source>
<translation>Точки POI</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="561"/>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<source>WYSIWYG</source>
<translation>WYSIWYG (Візуальний редактор)</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="562"/>
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
<source>High-Resolution</source>
<translation>Висока роздільна здатність</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="567"/>
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
<translation>Область друку є приблизною областю відображення. Рівень масштабування мапи не змінюється.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="569"/>
<location filename="../src/GUI/optionsdialog.cpp" line="577"/>
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
<translation>Масштаб буде змінено так, щоби весь зміст (треки/маршрутні точки) вмістився на друковану область, а роздільна здатність мапи була якомога наближеною до роздільної здатності друку.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="591"/>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<source>Name</source>
<translation>Імя</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="593"/>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<source>Date</source>
<translation>Дата</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
<source>Distance</source>
<translation>Відстань</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="597"/>
<location filename="../src/GUI/optionsdialog.cpp" line="605"/>
<source>Time</source>
<translation>Час</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
<location filename="../src/GUI/optionsdialog.cpp" line="607"/>
<source>Moving time</source>
<translation>Час руху</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="601"/>
<location filename="../src/GUI/optionsdialog.cpp" line="609"/>
<source>Item count (&gt;1)</source>
<translation>Кількість обєктів (&gt;1)</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
<location filename="../src/GUI/optionsdialog.cpp" line="624"/>
<source>Separate graph page</source>
<translation>Окрема сторінка із графіком</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="626"/>
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
<source>Print mode</source>
<translation>Режим друку</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="627"/>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<source>Header</source>
<translation>Заголовок</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="635"/>
<location filename="../src/GUI/optionsdialog.cpp" line="643"/>
<source>Use OpenGL</source>
<translation>Використовувати OpenGL</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
<location filename="../src/GUI/optionsdialog.cpp" line="646"/>
<source>Enable HTTP/2</source>
<translation>Дозволити HTTP/2</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="645"/>
<location filename="../src/GUI/optionsdialog.cpp" line="653"/>
<source>MB</source>
<translation>МБ</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="655"/>
<location filename="../src/GUI/optionsdialog.cpp" line="663"/>
<source>Image cache size:</source>
<translation>Розмір кешу зображень:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="656"/>
<location filename="../src/GUI/optionsdialog.cpp" line="664"/>
<source>Connection timeout:</source>
<translation>Час зєднання вичерпаний:</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="421"/>
<location filename="../src/GUI/optionsdialog.cpp" line="672"/>
<location filename="../src/GUI/optionsdialog.cpp" line="697"/>
<location filename="../src/GUI/optionsdialog.cpp" line="680"/>
<location filename="../src/GUI/optionsdialog.cpp" line="705"/>
<source>System</source>
<translation>Система</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="690"/>
<location filename="../src/GUI/optionsdialog.cpp" line="698"/>
<source>Appearance</source>
<translation>Зовнішній вигляд</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="692"/>
<location filename="../src/GUI/optionsdialog.cpp" line="700"/>
<source>Maps</source>
<translation>Мапи</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="693"/>
<location filename="../src/GUI/optionsdialog.cpp" line="701"/>
<source>Data</source>
<translation>Дані</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="695"/>
<location filename="../src/GUI/optionsdialog.cpp" line="703"/>
<source>Print &amp; Export</source>
<translation>Друк та експорт</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="724"/>
<location filename="../src/GUI/optionsdialog.cpp" line="732"/>
<source>Options</source>
<translation>Налаштування</translation>
</message>

View File

@ -7,7 +7,7 @@
; The name of the installer
Name "GPXSee"
; Program version
!define VERSION "7.30"
!define VERSION "7.32"
; The file to write
OutFile "GPXSee-${VERSION}.exe"
@ -177,6 +177,7 @@ SectionGroup "Localization" SEC_LOCALIZATION
!insertmacro LOCALIZATION "French" "fr"
!insertmacro LOCALIZATION "German" "de"
!insertmacro LOCALIZATION "Hungarian" "hu"
!insertmacro LOCALIZATION "Italian" "it"
!insertmacro LOCALIZATION "Norwegian" "nb"
!insertmacro LOCALIZATION "Polish" "pl"
!insertmacro LOCALIZATION "Portuguese (Brazil)" "pt_BR"

View File

@ -7,7 +7,7 @@
; The name of the installer
Name "GPXSee"
; Program version
!define VERSION "7.30"
!define VERSION "7.32"
; The file to write
OutFile "GPXSee-${VERSION}_x64.exe"
@ -184,6 +184,7 @@ SectionGroup "Localization" SEC_LOCALIZATION
!insertmacro LOCALIZATION "French" "fr"
!insertmacro LOCALIZATION "German" "de"
!insertmacro LOCALIZATION "Hungarian" "hu"
!insertmacro LOCALIZATION "Italian" "it"
!insertmacro LOCALIZATION "Norwegian" "nb"
!insertmacro LOCALIZATION "Polish" "pl"
!insertmacro LOCALIZATION "Portuguese (Brazil)" "pt_BR"

View File

@ -970,6 +970,7 @@ void GUI::openOptions()
SET_TRACK_OPTION(dataUseDEM, useDEM);
SET_TRACK_OPTION(showSecondaryElevation, showSecondaryElevation);
SET_TRACK_OPTION(showSecondarySpeed, showSecondarySpeed);
SET_TRACK_OPTION(useSegments, useSegments);
SET_ROUTE_OPTION(dataUseDEM, useDEM);
SET_ROUTE_OPTION(showSecondaryElevation, showSecondaryElevation);
@ -1884,6 +1885,8 @@ void GUI::writeSettings()
settings.setValue(TIME_ZONE_SETTING, QVariant::fromValue(
_options.timeZone));
#endif // ENABLE_TIMEZONES
if (_options.useSegments != USE_SEGMENTS_DEFAULT)
settings.setValue(USE_SEGMENTS_SETTING, _options.useSegments);
if (_options.poiRadius != POI_RADIUS_DEFAULT)
settings.setValue(POI_RADIUS_SETTING, _options.poiRadius);
if (_options.useOpenGL != USE_OPENGL_DEFAULT)
@ -2159,6 +2162,8 @@ void GUI::readSettings()
#ifdef ENABLE_TIMEZONES
_options.timeZone = settings.value(TIME_ZONE_SETTING).value<TimeZoneInfo>();
#endif // ENABLE_TIMEZONES
_options.useSegments = settings.value(USE_SEGMENTS_SETTING,
USE_SEGMENTS_DEFAULT).toBool();
_options.automaticPause = settings.value(AUTOMATIC_PAUSE_SETTING,
AUTOMATIC_PAUSE_DEFAULT).toBool();
_options.pauseInterval = settings.value(PAUSE_INTERVAL_SETTING,
@ -2250,6 +2255,7 @@ void GUI::readSettings()
Track::useDEM(_options.dataUseDEM);
Track::showSecondaryElevation(_options.showSecondaryElevation);
Track::showSecondarySpeed(_options.showSecondarySpeed);
Track::useSegments(_options.useSegments);
Route::useDEM(_options.dataUseDEM);
Route::showSecondaryElevation(_options.showSecondaryElevation);
Waypoint::useDEM(_options.dataUseDEM);

View File

@ -439,6 +439,9 @@ QWidget *OptionsDialog::createDataPage()
customZoneLayout->addWidget(_timeZone);
#endif // ENABLE_TIMEZONES
_useSegments = new QCheckBox(tr("Use segments"));
_useSegments->setChecked(_options->useSegments);
QWidget *sourceTab = new QWidget();
QVBoxLayout *sourceTabLayout = new QVBoxLayout();
@ -477,6 +480,7 @@ QWidget *OptionsDialog::createDataPage()
#ifdef ENABLE_TIMEZONES
formLayout->addRow(tr("Time zone:"), zoneOptions);
#endif // ENABLE_TIMEZONES
formLayout->addRow(_useSegments);
sourceTabLayout->addLayout(formLayout);
#else // Q_OS_MAC
@ -485,6 +489,7 @@ QWidget *OptionsDialog::createDataPage()
#ifdef ENABLE_TIMEZONES
QFormLayout *timeZoneLayout = new QFormLayout();
#endif // ENABLE_TIMEZONES
QFormLayout *segmentsLayout = new QFormLayout();
speedLayout->addWidget(_computedSpeed);
speedLayout->addWidget(_reportedSpeed);
@ -510,11 +515,14 @@ QWidget *OptionsDialog::createDataPage()
timeZoneBox->setLayout(timeZoneLayout);
#endif // ENABLE_TIMEZONES
segmentsLayout->addWidget(_useSegments);
sourceTabLayout->addWidget(speedBox);
sourceTabLayout->addWidget(elevationBox);
#ifdef ENABLE_TIMEZONES
sourceTabLayout->addWidget(timeZoneBox);
#endif // ENABLE_TIMEZONES
sourceTabLayout->addLayout(segmentsLayout);
#endif // Q_OS_MAC
sourceTabLayout->addStretch();
sourceTab->setLayout(sourceTabLayout);
@ -780,6 +788,7 @@ void OptionsDialog::accept()
_options->timeZone.setCustomZone(QTimeZone(_timeZone->currentText()
.toLatin1()));
#endif // ENABLE_TIMEZONES
_options->useSegments = _useSegments->isChecked();
qreal poiRadius = (_options->units == Imperial)
? _poiRadius->value() * MIINM : (_options->units == Nautical)

View File

@ -63,6 +63,7 @@ struct Options {
#ifdef ENABLE_TIMEZONES
TimeZoneInfo timeZone;
#endif // ENABLE_TIMEZONES
bool useSegments;
// POI
int poiRadius;
// System
@ -157,6 +158,7 @@ private:
QRadioButton *_customZone;
QComboBox *_timeZone;
#endif // ENABLE_TIMEZONES
QCheckBox *_useSegments;
// POI
QDoubleSpinBox *_poiRadius;
// System

View File

@ -150,6 +150,8 @@
#define SHOW_SECONDARY_SPEED_SETTING "showSecondarySpeed"
#define SHOW_SECONDARY_SPEED_DEFAULT false
#define TIME_ZONE_SETTING "timeZone"
#define USE_SEGMENTS_SETTING "useSegments"
#define USE_SEGMENTS_DEFAULT true
#define POI_RADIUS_SETTING "poiRadius"
#define POI_RADIUS_DEFAULT (int)(IMPERIAL_UNITS() ? MIINM : KMINM)
#define USE_OPENGL_SETTING "useOpenGL"

View File

@ -18,8 +18,8 @@
#define ENABLE_GEOJSON
#endif // QT >= 5.0
#if QT_VERSION >= QT_VERSION_CHECK(5, 2, 0)
#if QT_VERSION >= QT_VERSION_CHECK(5, 5, 0)
#define ENABLE_TIMEZONES
#endif // QT >= 5.2
#endif // QT >= 5.5
#endif /* CONFIG_H */

View File

@ -66,13 +66,25 @@ void TCXParser::heartRateBpm(Trackpoint &trackpoint)
}
}
void TCXParser::extensions(Trackpoint &trackpoint)
void TCXParser::TPX(Trackpoint &trackpoint)
{
while (_reader.readNextStartElement()) {
if (_reader.name() == QLatin1String("RunCadence"))
trackpoint.setCadence(number());
else if (_reader.name() == QLatin1String("Watts"))
trackpoint.setPower(number());
else if (_reader.name() == QLatin1String("Speed"))
trackpoint.setSpeed(number());
else
_reader.skipCurrentElement();
}
}
void TCXParser::extensions(Trackpoint &trackpoint)
{
while (_reader.readNextStartElement()) {
if (_reader.name() == QLatin1String("TPX"))
TPX(trackpoint);
else
_reader.skipCurrentElement();
}

View File

@ -26,6 +26,7 @@ private:
void trackpointData(Trackpoint &trackpoint);
void waypointData(Waypoint &waypoint);
void extensions(Trackpoint &trackpoint);
void TPX(Trackpoint &trackpoint);
void heartRateBpm(Trackpoint &trackpoint);
Coordinates position();
qreal number();

View File

@ -17,7 +17,7 @@ bool Track::_useReportedSpeed = false;
bool Track::_useDEM = false;
bool Track::_show2ndElevation = false;
bool Track::_show2ndSpeed = false;
bool Track::_useSegments = true;
static qreal avg(const QVector<qreal> &v)
{
@ -88,10 +88,18 @@ static GraphSegment filter(const GraphSegment &g, int window)
}
Track::Track(const TrackData &data) : _data(data), _pause(0)
Track::Track(const TrackData &data) : _pause(0)
{
qreal ds, dt;
if (_useSegments)
_data = data;
else {
_data.append(SegmentData());
for (int i = 0; i < data.size(); i++)
_data[0] << data.at(i);
}
for (int i = 0; i < _data.size(); i++) {
const SegmentData &sd = _data.at(i);
_segments.append(Segment());

View File

@ -49,10 +49,9 @@ public:
{_outlierEliminate = eliminate;}
static void useReportedSpeed(bool use) {_useReportedSpeed = use;}
static void useDEM(bool use) {_useDEM = use;}
static void showSecondaryElevation(bool show)
{_show2ndElevation = show;}
static void showSecondarySpeed(bool show)
{_show2ndSpeed = show;}
static void showSecondaryElevation(bool show) {_show2ndElevation = show;}
static void showSecondarySpeed(bool show) {_show2ndSpeed = show;}
static void useSegments(bool use) {_useSegments = use;}
private:
struct Segment {
@ -87,6 +86,7 @@ private:
static bool _useDEM;
static bool _show2ndElevation;
static bool _show2ndSpeed;
static bool _useSegments;
};
#endif // TRACK_H

View File

@ -1,38 +1,9 @@
#include "bitstream.h"
bool BitStream1::read(int bits, quint32 &val)
{
val = 0;
for (int pos = 0; pos < bits; ) {
if (!_remaining) {
if (!_length || !_file.readUInt8(_hdl, _data))
return false;
_remaining = 8;
_length--;
}
quint32 get = bits - pos;
if (get >= _remaining) {
val |= _data << pos;
pos += _remaining;
_remaining = 0;
} else {
quint32 mask = (1<<get) - 1;
val |= (_data & mask)<<pos;
_data >>= get;
_remaining -= get;
break;
}
}
return true;
}
bool BitStream1::flush()
{
if (_length && !_file.seek(_hdl, _hdl.pos() + _length))
if (_length && !_file.seek(_hdl, _file.pos(_hdl) + _length))
return false;
_length = 0;
@ -41,8 +12,19 @@ bool BitStream1::flush()
return true;
}
bool BitStream4F::flush()
{
if (_length && !_file.seek(_hdl, _file.pos(_hdl) + _length))
return false;
bool BitStream4::read(int bits, quint32 &val)
_length = 0;
_used = 32;
_unused = 0;
return true;
}
bool BitStream4F::read(int bits, quint32 &val)
{
if (bits <= 32 - (int)(_used + _unused)) {
val = bits ? (_data << _used) >> (32 - bits) : 0;
@ -50,6 +32,8 @@ bool BitStream4::read(int bits, quint32 &val)
return true;
}
if (_unused)
return false;
quint32 old = (_used < 32) ? (_data << _used) >> (32 - bits) : 0;
quint32 bytes = qMin(_length, 4U);
@ -66,14 +50,149 @@ bool BitStream4::read(int bits, quint32 &val)
return true;
}
bool BitStream4::flush()
BitStream4R::BitStream4R(const SubFile &file, SubFile::Handle &hdl,
quint32 length) : BitStream4(file, hdl, length)
{
if (_length && !_file.seek(_hdl, _hdl.pos() + _length))
return false;
_file.seek(_hdl, _file.pos(_hdl) - 4);
}
_length = 0;
_used = 32;
_unused = 0;
bool BitStream4R::readBytes(int bytes, quint32 &val)
{
quint32 bits = _used % 8;
quint32 b;
if (bits) {
if (!read(8 - bits, b))
return false;
Q_ASSERT(!b);
}
val = 0;
for (int i = 0; i < bytes; i++) {
if (!read(8, b))
return false;
val |= (b << (i * 8));
}
return true;
}
bool BitStream4R::readVUInt32(quint32 &val)
{
quint32 b;
quint8 bytes, shift;
if (!readBytes(1, b))
return false;
if ((b & 1) == 0) {
if ((b & 2) == 0) {
bytes = ((b >> 2) & 1) ^ 3;
shift = 5;
} else {
shift = 6;
bytes = 1;
}
} else {
shift = 7;
bytes = 0;
}
val = b >> (8 - shift);
if (bytes) {
if (!readBytes(bytes, b))
return false;
val = val | (b << shift);
}
return true;
}
bool BitStream4R::readVuint32SM(quint32 &val1, quint32 &val2, quint32 &val2Bits)
{
quint32 b, eb;
if (!readBytes(1, b))
return false;
if (!(b & 1)) {
val1 = b >> 3;
val2 = b >> 1 & 3;
val2Bits = 2;
} else {
eb = b & 2;
val2 = b >> 2 & 0x3f;
val2Bits = eb * 2 + 6;
if (!readBytes((eb >> 1 | 2) - 1, b))
return false;
if (eb) {
val2 = val2 | (b & 0xf) << 6;
b = b >> 4 & 0xfff;
}
val1 = b;
}
return true;
}
bool BitStream4R::skip(quint32 bytes)
{
if (bytes * 8 > bitsAvailable())
return false;
quint32 ab = (32 - (_used + _unused))/8;
if (bytes <= ab)
_used += bytes * 8;
else {
quint32 seek = ((bytes - ab)/4)*4;
quint32 read = (bytes - ab)%4;
if (seek && !_file.seek(_hdl, _file.pos(_hdl) - seek))
return false;
_length -= seek;
if (read) {
quint32 rb = qMin(_length, 4U);
if (!_file.readUInt32(_hdl, _data))
return false;
if (!_file.seek(_hdl, _file.pos(_hdl) - 8))
return false;
_length -= rb;
_unused = (4 - rb) * 8;
_used = read * 8;
} else
_used = 32;
}
return true;
}
void BitStream4R::resize(quint32 bytes)
{
quint32 ab = (32 - (_used + _unused) + 7)/8;
if (ab <= bytes)
_length = bytes - ab;
else {
_length = 0;
_unused += (ab - bytes) * 8;
}
}
void BitStream4R::save(State &state)
{
state.pos = _file.pos(_hdl);
state.length = _length;
state.used = _used;
state.unused = _unused;
state.data = _data;
}
bool BitStream4R::restore(const State &state)
{
_length = state.length;
_used = state.used;
_unused = state.unused;
_data = state.data;
return _file.seek(_hdl, state.pos);
}

View File

@ -8,9 +8,9 @@ public:
BitStream1(const SubFile &file, SubFile::Handle &hdl, quint32 length)
: _file(file), _hdl(hdl), _length(length), _remaining(0) {}
bool read(int bits, quint32 &val);
template<typename T> bool read(int bits, T &val);
bool flush();
quint32 bitsAvailable() const {return _length * 8 + _remaining;}
quint64 bitsAvailable() const {return (quint64)_length * 8 + _remaining;}
private:
const SubFile &_file;
@ -25,15 +25,105 @@ public:
: _file(file), _hdl(hdl), _length(length), _used(32), _unused(0),
_data(0) {}
bool read(int bits, quint32 &val);
bool flush();
quint32 bitsAvailable() const {return _length * 8 + (32 - _used) - _unused;}
quint64 bitsAvailable() const
{return (quint64)_length * 8 + (32 - _used) - _unused;}
private:
protected:
const SubFile &_file;
SubFile::Handle &_hdl;
quint32 _length, _used, _unused;
quint32 _data;
};
class BitStream4F : public BitStream4 {
public:
BitStream4F(const SubFile &file, SubFile::Handle &hdl, quint32 length)
: BitStream4(file, hdl, length) {}
bool read(int bits, quint32 &val);
bool flush();
};
class BitStream4R : public BitStream4 {
public:
struct State {
quint32 pos;
quint32 length;
quint32 used;
quint32 unused;
quint32 data;
};
BitStream4R(const SubFile &file, SubFile::Handle &hdl, quint32 length);
template<typename T> bool read(int bits, T &val);
bool readBytes(int bytes, quint32 &val);
bool readVUInt32(quint32 &val);
bool readVuint32SM(quint32 &val1, quint32 &val2, quint32 &val2Bits);
bool skip(quint32 bytes);
void resize(quint32 bytes);
void save(State &state);
bool restore(const State &state);
};
template<typename T>
bool BitStream1::read(int bits, T &val)
{
val = 0;
for (int pos = 0; pos < bits; ) {
if (!_remaining) {
if (!_length || !_file.readUInt8(_hdl, _data))
return false;
_remaining = 8;
_length--;
}
quint32 get = bits - pos;
if (get >= _remaining) {
val |= _data << pos;
pos += _remaining;
_remaining = 0;
} else {
quint32 mask = (1<<get) - 1;
val |= (_data & mask)<<pos;
_data >>= get;
_remaining -= get;
break;
}
}
return true;
}
template<typename T>
bool BitStream4R::read(int bits, T &val)
{
if (bits <= 32 - (int)(_used + _unused)) {
val = bits ? (_data << _used) >> (32 - bits) : 0;
_used += bits;
return true;
}
if (_unused)
return false;
quint32 old = (_used < 32) ? (_data << _used) >> (32 - bits) : 0;
quint32 bytes = qMin(_length, 4U);
if (!_file.readUInt32(_hdl, _data))
return false;
if (!_file.seek(_hdl, _file.pos(_hdl) - 8))
return false;
_length -= bytes;
_used -= 32 - bits;
_unused = (4 - bytes) * 8;
val = _data >> (32 - _used) | old;
return true;
}
#endif // BITSTREAM_H

View File

@ -1,74 +1,41 @@
#include "huffmanstream.h"
HuffmanStream::HuffmanStream(const SubFile &file, SubFile::Handle &hdl,
quint32 length, const HuffmanTable &table, bool line)
: BitStream4(file, hdl, length), _table(table), _symbolDataSize(0),
_symbolData(0)
bool HuffmanStreamF::init(bool line)
{
if (line) {
if (!(sign(_lonSign) && sign(_latSign)))
return;
return false;
} else {
_lonSign = 0;
_latSign = 0;
}
quint32 eb;
if (!read(1, eb))
return;
if (!_bs.read(1, eb))
return false;
if (eb) {
qWarning("Extended polygon/lines not supported");
flush();
}
}
bool HuffmanStream::sign(int &val)
{
quint32 bit;
val = 0;
if (!read(1, bit))
qWarning() << "Extended lines/polygons not supported";
return false;
if (bit) {
if (!read(1, bit))
return false;
val = bit ? -1 : 1;
}
return true;
}
bool HuffmanStream::readDelta(int sign, qint32 &symbol)
bool HuffmanStreamR::init()
{
quint8 size;
quint32 next;
quint8 nextSize = qMin((quint32)(32 - _symbolDataSize), bitsAvailable());
if (!read(nextSize, next))
if (!(sign(_lonSign) && sign(_latSign)))
return false;
_symbolData = (_symbolData << nextSize) | next;
_symbolDataSize += nextSize;
symbol = _table.symbol(_symbolData << (32 - _symbolDataSize), size);
if (size <= _symbolDataSize)
_symbolDataSize -= size;
else
return false;
if (symbol && !sign) {
if (!_symbolDataSize)
return false;
else {
sign = ((1U << (_symbolDataSize - 1)) & _symbolData) ? -1 : 1;
_symbolDataSize--;
}
}
symbol = sign * symbol;
return true;
}
bool HuffmanStreamR::init(int lonSign, int latSign, quint32 data,
quint32 dataSize)
{
_lonSign = lonSign;
_latSign = latSign;
_symbolData = data;
_symbolDataSize = dataSize;
return true;
}

View File

@ -4,11 +4,15 @@
#include "bitstream.h"
#include "huffmantable.h"
class HuffmanStream : public BitStream4 {
template <class BitStream>
class HuffmanStream {
public:
HuffmanStream(const SubFile &file, SubFile::Handle &hdl, quint32 length,
const HuffmanTable &table, bool line);
HuffmanStream(BitStream &bitstream, const HuffmanTable &table)
: _bs(bitstream), _table(table), _symbolDataSize(0), _symbolData(0),
_lonSign(0), _latSign(0) {}
bool read(int bits, quint32 &val);
bool readSymbol(quint32 &symbol);
bool readNext(qint32 &lonDelta, qint32 &latDelta)
{
if (!(readDelta(_lonSign, lonDelta) && readDelta(_latSign, latDelta)))
@ -17,19 +21,121 @@ public:
return (lonDelta || latDelta);
}
bool readOffset(qint32 &lonDelta, qint32 &latDelta)
{return (readDelta(1, lonDelta) && readDelta(1, latDelta));}
bool atEnd() const
{return _symbolDataSize + bitsAvailable() < _table.maxSymbolSize();}
{return _symbolDataSize + _bs.bitsAvailable() < _table.maxSymbolSize();}
bool flush() {return _bs.flush();}
private:
protected:
bool sign(int &val);
bool readDelta(int sign, qint32 &delta);
BitStream &_bs;
const HuffmanTable &_table;
quint32 _symbolDataSize;
quint32 _symbolData;
int _lonSign, _latSign;
};
template <class BitStream>
bool HuffmanStream<BitStream>::sign(int &val)
{
quint32 bit;
val = 0;
if (!_bs.read(1, bit))
return false;
if (bit) {
if (!_bs.read(1, bit))
return false;
val = bit ? -1 : 1;
}
return true;
}
template <class BitStream>
bool HuffmanStream<BitStream>::read(int bits, quint32 &val)
{
if (_symbolDataSize < (quint32)bits) {
quint32 next;
quint8 nextSize = qMin((quint64)(32 - _symbolDataSize),
_bs.bitsAvailable());
if (!_bs.read(nextSize, next))
return false;
_symbolData = (_symbolData << nextSize) | next;
_symbolDataSize += nextSize;
}
if (_symbolDataSize < (quint32)bits)
return false;
val = (_symbolData << (32-_symbolDataSize)) >> (32 - bits);
_symbolDataSize -= bits;
return true;
}
template <class BitStream>
bool HuffmanStream<BitStream>::readSymbol(quint32 &symbol)
{
quint8 size;
quint32 next;
quint8 nextSize = qMin((quint64)(32 - _symbolDataSize), _bs.bitsAvailable());
if (!_bs.read(nextSize, next))
return false;
_symbolData = (_symbolData << nextSize) | next;
_symbolDataSize += nextSize;
symbol = _table.symbol(_symbolData << (32 - _symbolDataSize), size);
if (size > _symbolDataSize)
return false;
_symbolDataSize -= size;
return true;
}
template <class BitStream>
bool HuffmanStream<BitStream>::readDelta(int sign, qint32 &delta)
{
quint32 symbol;
if (!readSymbol(symbol))
return false;
if (symbol && !sign) {
if (!_symbolDataSize)
return false;
else {
sign = ((1U << (_symbolDataSize - 1)) & _symbolData) ? -1 : 1;
_symbolDataSize--;
}
}
delta = sign * symbol;
return true;
}
class HuffmanStreamF : public HuffmanStream<BitStream4F> {
public:
HuffmanStreamF(BitStream4F &bitstream, const HuffmanTable &table)
: HuffmanStream(bitstream, table) {}
bool init(bool line);
bool readOffset(qint32 &lonDelta, qint32 &latDelta)
{return (readDelta(1, lonDelta) && readDelta(1, latDelta));}
};
class HuffmanStreamR : public HuffmanStream<BitStream4R> {
public:
HuffmanStreamR(BitStream4R &bitstream, const HuffmanTable &table)
: HuffmanStream(bitstream, table) {}
bool init();
bool init(int lonSign, int latSign, quint32 data, quint32 dataSize);
};
#endif // HUFFMANSTREAM_H

View File

@ -42,6 +42,8 @@ bool HuffmanTable::load(const SubFile &file, SubFile::Handle &hdl,
_s10 = _s14 + _s1c * _s1d;
_s18 = _s10 + (_s1 << _s0);
_id = id;
return true;
}
@ -55,7 +57,7 @@ bool HuffmanTable::getBuffer(const SubFile &file, SubFile::Handle &hdl,
return false;
if (!file.readVUInt32(hdl, recordSize))
return false;
recordOffset = hdl.pos() + recordSize;
recordOffset = file.pos(hdl) + recordSize;
if (recordOffset > offset + size)
return false;
};

View File

@ -13,6 +13,8 @@ public:
quint8 maxSymbolSize() const {return _s2;}
quint32 symbol(quint32 data, quint8 &size) const;
quint8 id() const {return _id;}
private:
bool getBuffer(const SubFile &file, SubFile::Handle &hdl, quint32 offset,
quint32 size, quint8 id);
@ -22,6 +24,8 @@ private:
quint8 *_s10, *_s14, *_s18;
quint8 _s1c, _s1d, _s1e, _s1f, _s20;
quint16 _s22;
quint8 _id;
};
#endif // HUFFMANTABLE_H

View File

@ -59,7 +59,7 @@ IMG::IMG(const QString &fileName) : _file(fileName)
QByteArray nba(QByteArray(d1, sizeof(d1)) + QByteArray(d2, sizeof(d2)));
_name = QString::fromLatin1(nba.constData(), nba.size()-1).trimmed();
_blockSize = 1 << (e1 + e2);
_blockBits = e1 + e2;
// Read the FAT table
quint8 flag;
@ -132,7 +132,6 @@ IMG::IMG(const QString &fileName) : _file(fileName)
}
// Create tile tree
int minMapZoom = 24;
for (TileMap::const_iterator it = tileMap.constBegin();
it != tileMap.constEnd(); ++it) {
@ -159,14 +158,19 @@ IMG::IMG(const QString &fileName) : _file(fileName)
minMapZoom = tile->zooms().min();
}
for (TileMap::const_iterator it = tileMap.constBegin();
it != tileMap.constEnd(); ++it) {
VectorTile *tile = it.value();
// Detect and mark basemap
TileTree::Iterator it;
for (_tileTree.GetFirst(it); !_tileTree.IsNull(it); _tileTree.GetNext(it)) {
VectorTile *tile = _tileTree.GetAt(it);
if (tile->zooms().min() > minMapZoom)
_baseMap = true;
if (tile->zooms().min() == minMapZoom)
tile->markAsBasemap();
}
// Allow some extra zoom out on maps without basemaps, but not too much as
// this would kill the rendering performance
if (!_baseMap)
_zooms.setMin(_zooms.min() - 2);
if (!_tileTree.Count())
_errorString = "No usable map tile found";
@ -197,9 +201,9 @@ template<class T> bool IMG::readValue(T &val)
bool IMG::readBlock(int blockNum, char *data)
{
if (!_file.seek((qint64)blockNum * (qint64)_blockSize))
if (!_file.seek((quint64)blockNum << _blockBits))
return false;
if (read(data, _blockSize) < _blockSize)
if (read(data, 1U<<_blockBits) < 1U<<_blockBits)
return false;
return true;

View File

@ -14,14 +14,14 @@ public:
private:
friend class SubFile;
int blockSize() const {return _blockSize;}
unsigned blockBits() const {return _blockBits;}
bool readBlock(int blockNum, char *data);
qint64 read(char *data, qint64 maxSize);
template<class T> bool readValue(T &val);
QFile _file;
quint8 _key;
int _blockSize;
unsigned _blockBits;
};
#endif // IMG_H

View File

@ -54,7 +54,7 @@ inline bool pointCb(VectorTile *tile, void *context)
}
MapData::MapData() : _typ(0), _style(0), _zooms(15, 28), _baseMap(false),
MapData::MapData() : _typ(0), _style(0), _zooms(24, 28), _baseMap(false),
_valid(false)
{
_polyCache.setMaxCost(CACHED_SUBDIVS_COUNT);

View File

@ -1,26 +1,508 @@
#include "bitstream.h"
#include "huffmanstream.h"
#include "subdiv.h"
#include "nodfile.h"
#include "lblfile.h"
#include "netfile.h"
static bool readAdjCounts(BitStream4R &bs, QVector<quint16> &cnts, quint16 &mask)
{
quint32 val, cnt, bits;
if (!bs.read(4, val))
return false;
cnt = ((val >> 2) & 3) + 2;
bits = ((val * 2) & 6) + 4;
mask = 1<<(3 + ((val * 2) & 6));
if (cnt == 5) {
if (!bs.read(8, cnt))
return false;
}
if (cnt < 2)
return false;
cnts.resize(cnt - 1);
for (int i = 0; i < cnts.size(); i++)
if (!bs.read(bits, cnts[i]))
return false;
return true;
}
static bool skipShape(BitStream4R &bs)
{
quint32 v1, v2, v2b;
if (!bs.readVuint32SM(v1, v2, v2b))
return false;
return bs.skip(v1);
}
static bool skipAdjShapes(BitStream4R &bs, const QVector<quint16> &cnts,
quint16 mask, bool firstIsShape)
{
if (firstIsShape && !skipShape(bs))
return false;
for (int i = 0; i < cnts.size(); i++) {
if (cnts.at(i) & mask) {
if (!skipShape(bs))
return false;
}
}
return true;
}
static bool seekToLevel(BitStream4R &bs, quint8 level)
{
quint32 v1, v2, v2b;
for (quint8 i = 1; i < level; ) {
if (!bs.readVuint32SM(v1, v2, v2b))
return false;
if (!bs.skip(v1))
return false;
if (v2 & 2)
return false;
if (v2 & 1)
i++;
};
return true;
}
static bool seekToLine(BitStream4R &bs, quint8 line)
{
quint32 v1, v2, v2b;
for (quint8 i = 0; i < line; i++) {
if (!bs.readVuint32SM(v1, v2, v2b))
return false;
if (!bs.skip(v1))
return false;
if (v2 & 2)
return false;
}
return true;
}
static bool readLine(BitStream4R &bs, const SubDiv *subdiv,
const HuffmanTable &table, IMG::Poly &poly)
{
quint32 v1, v2, v2b;
if (!bs.readVuint32SM(v1, v2, v2b))
return false;
bs.resize(v1);
quint32 lon, lat;
if (!(bs.read(0x12 - v2b, lon) && bs.read(16, lat)))
return false;
if (2 < v2b)
lon |= (v2 >> 2) << (0x12U - v2b);
QPoint pos = QPoint(LS(subdiv->lon(), 8) + LS((qint16)lon, 32-subdiv->bits()),
LS(subdiv->lat(), 8) + LS((qint16)lat, 32-subdiv->bits()));
Coordinates c(toWGS32(pos.x()), toWGS32(pos.y()));
poly.boundingRect = RectC(c, c);
poly.points.append(QPointF(c.lon(), c.lat()));
HuffmanStreamR stream(bs, table);
if (!stream.init())
return false;
qint32 lonDelta, latDelta;
while (stream.readNext(lonDelta, latDelta)) {
pos.rx() += LS(lonDelta, 32-subdiv->bits());
if (pos.rx() < 0 && subdiv->lon() >= 0)
pos.rx() = 0x7fffffff;
pos.ry() += LS(latDelta, 32-subdiv->bits());
Coordinates c(toWGS32(pos.x()), toWGS32(pos.y()));
poly.points.append(QPointF(c.lon(), c.lat()));
poly.boundingRect = poly.boundingRect.united(c);
}
return stream.atEnd();
}
static bool readNodeGeometry(NODFile *nod, SubFile::Handle &nodHdl,
NODFile::AdjacencyInfo &adj, IMG::Poly &poly, quint16 cnt = 0xFFFF)
{
for (int i = 0; i <= cnt; i++) {
int ret = nod->nextNode(nodHdl, adj);
if (ret < 0)
return false;
else if (ret > 0)
return (cnt == 0xFFFF);
Coordinates c(toWGS32(adj.nodeInfo.pos.x()),
toWGS32(adj.nodeInfo.pos.y()));
poly.points.append(QPointF(c.lon(), c.lat()));
poly.boundingRect = poly.boundingRect.united(c);
}
return true;
}
static bool skipNodes(NODFile *nod, SubFile::Handle &nodHdl,
NODFile::AdjacencyInfo &adj, int cnt)
{
for (int i = 0; i < cnt; i++)
if (nod->nextNode(nodHdl, adj))
return false;
return true;
}
static bool readShape(NODFile *nod, SubFile::Handle &nodHdl,
NODFile::AdjacencyInfo &adj, BitStream4R &bs, const HuffmanTable &table,
const SubDiv *subdiv, quint32 shift, IMG::Poly &poly, quint16 cnt = 0xFFFF,
bool check = false)
{
quint32 v1, v2, v2b;
if (!bs.readVuint32SM(v1, v2, v2b))
return false;
BitStream4R::State state;
bs.save(state);
bs.resize(v1);
quint32 flags;
if (!bs.read(8, flags))
return false;
flags |= (v2 << 8);
bool hasCoordinatesAdjustBit = flags & (1 << (v2b + 7));
bool useEosBit = flags & (1 << (v2b + 5));
bool startWithStream = flags & (1 << (v2b + 6));
quint32 extraBits;
int lonSign, latSign;
if ((flags >> (v2b + 4) & 1) == 0) {
extraBits = v2b + 4;
lonSign = 0;
} else {
extraBits = v2b + 3;
lonSign = 1;
if ((flags >> (v2b + 3) & 1) != 0) {
lonSign = -1;
}
}
extraBits -= 1;
if ((flags >> extraBits & 1) == 0) {
latSign = 0;
} else {
extraBits -= 1;
latSign = -1;
if ((flags >> extraBits & 1) == 0) {
latSign = 1;
}
}
if (nod->nextNode(nodHdl, adj))
return false;
QPoint pos(adj.nodeInfo.pos);
quint16 nodes = 0;
if (!startWithStream) {
Coordinates c(toWGS32(adj.nodeInfo.pos.x()),
toWGS32(adj.nodeInfo.pos.y()));
poly.points.append(QPointF(c.lon(), c.lat()));
poly.boundingRect = poly.boundingRect.united(c);
while (!(adj.flags & 1)) {
int ret = nod->nextNode(nodHdl, adj);
if (ret < 0)
return false;
else if (ret > 0)
break;
nodes++;
c = Coordinates(toWGS32(adj.nodeInfo.pos.x()),
toWGS32(adj.nodeInfo.pos.y()));
poly.points.append(QPointF(c.lon(), c.lat()));
poly.boundingRect = poly.boundingRect.united(c);
pos = adj.nodeInfo.pos;
}
}
HuffmanStreamR stream(bs, table);
if (!stream.init(lonSign, latSign, flags, extraBits))
return false;
qint32 lonDelta, latDelta;
QVector<QPoint> deltas;
quint32 adjustBit = 0;
quint32 stepsCnt = 0;
quint32 steps = 0;
quint32 eos = 0;
while (true) {
if ((stepsCnt == steps) && !useEosBit) {
if (!stream.readSymbol(steps))
break;
if (!steps)
break;
}
if (!stream.readNext(lonDelta, latDelta))
break;
if (hasCoordinatesAdjustBit && !stream.read(1, adjustBit))
return false;
stepsCnt++;
if (useEosBit) {
if (!stream.read(1, eos))
return false;
} else {
if (steps == stepsCnt)
eos = 1;
}
if (!startWithStream) {
pos.rx() += LS(lonDelta, 32-subdiv->bits()-shift);
pos.ry() += LS(latDelta, 32-subdiv->bits()-shift);
Coordinates c(toWGS32(pos.x()), toWGS32(pos.y()));
poly.points.append(QPointF(c.lon(), c.lat()));
poly.boundingRect = poly.boundingRect.united(c);
} else {
deltas.append(QPoint(lonDelta, latDelta));
poly.points.append(QPointF());
}
if (startWithStream && eos) {
for (int i = deltas.size() - 1, j = 0; i >= 0; i--, j++) {
pos.rx() -= LS(deltas.at(i).x(), 32-subdiv->bits()-shift);
pos.ry() -= LS(deltas.at(i).y(), 32-subdiv->bits()-shift);
Coordinates c(toWGS32(pos.x()), toWGS32(pos.y()));
poly.points[poly.points.size() - 1 - j] = QPointF(c.lon(), c.lat());
poly.boundingRect = poly.boundingRect.united(c);
}
pos = adj.nodeInfo.pos;
Coordinates c(toWGS32(pos.x()), toWGS32(pos.y()));
poly.points.append(QPointF(c.lon(), c.lat()));
poly.boundingRect = poly.boundingRect.united(c);
stepsCnt = 0;
steps = 0;
startWithStream = false;
if (adj.flags & 1)
eos = 0;
}
if (eos) {
if (nodes >= cnt)
break;
do {
int ret = nod->nextNode(nodHdl, adj);
if (ret < 0)
return false;
else if (ret > 0)
break;
nodes++;
if (check && nodes == cnt) {
if (!(bs.restore(state) && bs.skip(v1)
&& bs.readVuint32SM(v1, v2, v2b)))
return false;
if (5 < v2b)
v2 >>= v2b - 2;
if (v2 & 1)
break;
}
Coordinates c(toWGS32(adj.nodeInfo.pos.x()),
toWGS32(adj.nodeInfo.pos.y()));
poly.points.append(QPointF(c.lon(), c.lat()));
poly.boundingRect = poly.boundingRect.united(c);
pos = adj.nodeInfo.pos;
} while (!(adj.flags & 1) && nodes < cnt);
if (nodes == cnt)
break;
steps = 0;
stepsCnt = 0;
eos = 0;
}
}
return true;
}
bool NETFile::linkLabel(Handle &hdl, quint32 offset, quint32 size, LBLFile *lbl,
Handle &lblHdl, Label &label)
{
if (!seek(hdl, offset))
return false;
BitStream1 bs(*this, hdl, size);
quint32 flags, b, labelPtr = 0;
if (!bs.read(8, flags))
return false;
for (int i = 0; i < 3; i++) {
if (!bs.read(8, b))
return false;
labelPtr |= (b << (i * 8));
}
if (lbl && (labelPtr & 0x3FFFFF)) {
if (labelPtr & 0x400000) {
quint32 lblOff;
if (lblOffset(hdl, labelPtr & 0x3FFFFF, lblOff) && lblOff)
label = lbl->label(lblHdl, lblOff);
} else
label = lbl->label(lblHdl, labelPtr & 0x3FFFFF);
}
return true;
}
bool NETFile::init(Handle &hdl)
{
quint8 multiplier;
quint16 hdrLen;
if (!(seek(hdl, _gmpOffset) && readUInt16(hdl, hdrLen)
&& seek(hdl, _gmpOffset + 0x15) && readUInt32(hdl, _offset)
&& readUInt32(hdl, _size) && readUInt8(hdl, multiplier)))
&& readUInt32(hdl, _size) && readUInt8(hdl, _shift)))
return false;
_multiplier = 1<<multiplier;
if (hdrLen >= 0x47) {
quint32 info;
if (!(seek(hdl, _gmpOffset + 0x37) && readUInt32(hdl, info)))
return false;
_tableId = ((info >> 2) & 0xF);
if (!(seek(hdl, _gmpOffset + 0x43) && readUInt32(hdl, _linksOffset)
&& readUInt32(hdl, _linksSize) && readUInt8(hdl, _linksShift)))
return false;
}
_init = true;
return true;
}
bool NETFile::link(const SubDiv *subdiv, quint32 shift, Handle &hdl,
NODFile *nod, Handle &nodHdl, LBLFile *lbl, Handle &lblHdl,
const NODFile::BlockInfo blockInfo, quint8 linkId, quint8 lineId,
const HuffmanTable &table, QList<IMG::Poly> *lines)
{
if (!_init && !init(hdl))
return false;
Q_ASSERT(_tableId == table.id());
if (_tableId != table.id())
return false;
IMG::Poly poly;
if (!nod->linkType(nodHdl, blockInfo, linkId, poly.type))
return false;
NODFile::LinkInfo linkInfo;
if (!nod->linkInfo(nodHdl, blockInfo, linkId, linkInfo))
return false;
quint32 linkOffset = _linksOffset + (linkInfo.linkOffset << _linksShift);
if (linkOffset > _linksOffset + _linksSize)
return false;
if (!seek(hdl, linkOffset))
return false;
BitStream4R bs(*this, hdl, linkOffset - _linksOffset);
QVector<quint16> ca;
quint16 mask = 0;
quint32 size;
quint8 s68 = (linkInfo.flags >> 0x12) & 1;
quint8 s69 = (linkInfo.flags >> 0x11) & 1;
quint8 s6a = (linkInfo.flags >> 0x13) & 1;
if (s69 == 0 || s6a == 1) {
if (!bs.readVUInt32(size))
return false;
}
if (s69 == 0) {
if (!readAdjCounts(bs, ca, mask))
return false;
}
if (!subdiv->level()) {
NODFile::AdjacencyInfo adj(nod, blockInfo, linkId, linkInfo);
if (s69 == 1) {
if (s68 == 1) {
if (!readShape(nod, nodHdl, adj, bs, table, subdiv, shift, poly))
return false;
} else {
if (!readNodeGeometry(nod, nodHdl, adj, poly))
return false;
}
} else {
quint16 mask2 = mask + 0xffff;
for (int i = 0; i <= ca.size(); i++) {
quint16 step = (i < ca.size()) ? ca.at(i) & mask2 : 0xFFFF;
bool shape = (i > 0) ? ca.at(i-1) & mask : (s68 == 1);
if (i == lineId) {
if (shape) {
bool check = (i < ca.size()) ? (ca.at(i) & mask) : false;
if (!readShape(nod, nodHdl, adj, bs, table, subdiv,
shift, poly, step, check))
return false;
} else {
if (!readNodeGeometry(nod, nodHdl, adj, poly, step))
return false;
}
break;
}
if (shape && !skipShape(bs))
return false;
if (!skipNodes(nod, nodHdl, adj, step))
return false;
}
}
} else {
if (!skipAdjShapes(bs, ca, mask, s68 == 1))
return false;
if (!seekToLevel(bs, subdiv->level()))
return false;
if (!seekToLine(bs, lineId))
return false;
if (!readLine(bs, subdiv, table, poly))
return false;
}
linkLabel(hdl, linkOffset, _linksSize - (linkOffset - _linksOffset), lbl,
lblHdl, poly.label);
lines->append(poly);
return true;
}
bool NETFile::lblOffset(Handle &hdl, quint32 netOffset, quint32 &lblOffset)
{
if (!_multiplier && !init(hdl))
if (!_init && !init(hdl))
return false;
if (!(seek(hdl, _offset + netOffset * _multiplier)
if (!(seek(hdl, _offset + (netOffset << _shift))
&& readUInt24(hdl, lblOffset)))
return false;

View File

@ -1,25 +1,42 @@
#ifndef NETFILE_H
#define NETFILE_H
#include "img.h"
#include "subfile.h"
#include "nodfile.h"
class NODFile;
class LBLFile;
class SubDiv;
class HuffmanTable;
class NETFile : public SubFile
{
public:
NETFile(IMG *img)
: SubFile(img), _offset(0), _size(0), _multiplier(0) {}
NETFile(const QString &path)
: SubFile(path), _offset(0), _size(0), _multiplier(0) {}
NETFile(SubFile *gmp, quint32 offset)
: SubFile(gmp, offset), _offset(0), _size(0), _multiplier(0) {}
NETFile(IMG *img) : SubFile(img), _offset(0), _size(0), _linksOffset(0),
_linksSize(0), _shift(0), _linksShift(0), _init(false) {}
NETFile(const QString &path) : SubFile(path), _offset(0), _size(0),
_linksOffset(0), _linksSize(0), _shift(0), _linksShift(0),
_init(false) {}
NETFile(SubFile *gmp, quint32 offset) : SubFile(gmp, offset),
_offset(0), _size(0), _linksOffset(0), _linksSize(0), _shift(0),
_linksShift(0), _init(false) {}
bool lblOffset(Handle &hdl, quint32 netOffset, quint32 &lblOffset);
bool link(const SubDiv *subdiv, quint32 shift, Handle &hdl, NODFile *nod,
Handle &nodHdl, LBLFile *lbl, Handle &lblHdl,
const NODFile::BlockInfo blockInfo, quint8 linkId, quint8 lineId,
const HuffmanTable &table, QList<IMG::Poly> *lines);
private:
bool init(Handle &hdl);
bool linkLabel(Handle &hdl, quint32 offset, quint32 size, LBLFile *lbl,
Handle &lblHdl, Label &label);
quint32 _offset, _size;
quint8 _multiplier;
quint32 _offset, _size, _linksOffset, _linksSize;
quint8 _shift, _linksShift;
quint8 _tableId;
bool _init;
};
#endif // NETFILE_H

551
src/map/IMG/nodfile.cpp Normal file
View File

@ -0,0 +1,551 @@
#include "bitstream.h"
#include "nodfile.h"
#define ARRAY_SIZE(array) \
(sizeof(array) / sizeof(array[0]))
static const struct {
quint8 lon;
quint8 lat;
} LLBITS[] = {
{0xc, 0xc}, {0x8, 0x10}, {0x10, 0x8}, {0x10, 0x10}, {0xc, 0x14},
{0x14, 0xc}, {0x14, 0x14}
};
union NodeShift {
qint32 offset;
quint8 id;
};
static bool adjDistInfo(BitStream1 &bs, bool extraBit, quint8 &flags)
{
quint32 data, cnt;
if (!bs.read(extraBit | 8, data))
return false;
data <<= !extraBit;
flags |= (quint8)data & 1;
data >>= 1;
for (cnt = 0; (data >> cnt) & 1; cnt++) {
if (cnt == 4)
break;
}
if (!bs.read(cnt * 4, data))
return false;
return true;
}
static bool adjNodeInfo(BitStream1 &bs, bool extraBit, NodeShift &shift,
quint8 &flags)
{
quint32 data;
if (!bs.read(9, data))
return false;
data <<= !extraBit;
if (data & 1)
shift.id = data >> 1;
else {
quint32 bits = (data >> 1) & 7;
quint32 data2;
flags |= 2;
if (!bs.read(bits + extraBit + 1, data2))
return false;
data = data2 << (6 - extraBit) | data >> 4;
bits = 0x19 - bits;
shift.offset = ((qint32)(data << bits) >> bits);
}
return true;
}
static bool skipOptAdjData(BitStream1 &bs)
{
// TODO
Q_UNUSED(bs);
Q_ASSERT(false);
return false;
}
bool NODFile::init(Handle &hdl)
{
quint16 hdrLen;
if (!(seek(hdl, _gmpOffset) && readUInt16(hdl, hdrLen)))
return false;
if (hdrLen >= 0x7b) {
if (!(seek(hdl, _gmpOffset + 0x1d) && readUInt32(hdl, _flags)
&& readUInt8(hdl, _blockShift) && readUInt8(hdl, _nodeShift)))
return false;
if (!(seek(hdl, _gmpOffset + 0x67) && readUInt32(hdl, _blockOffset)
&& readUInt32(hdl, _blockSize) && readUInt16(hdl, _blockRecordSize)
&& readUInt32(hdl, _indexOffset) && readUInt32(hdl, _indexSize)
&& readUInt16(hdl, _indexRecordSize) && readUInt32(hdl, _indexFlags)))
return false;
}
return true;
}
quint32 NODFile::indexIdSize(Handle &hdl)
{
if (!_indexRecordSize && !init(hdl))
return 0;
quint32 indexCount = _indexSize / _indexRecordSize;
if (indexCount <= 0x100)
return 1;
else if (indexCount <= 0x1000)
return 2;
else if (indexCount <= 0x1000000)
return 3;
else
return 0;
}
bool NODFile::readBlock(Handle &hdl, quint32 blockOffset,
BlockInfo &blockInfo) const
{
blockInfo.offset = blockOffset;
if (!(seek(hdl, blockInfo.offset + _blockOffset)
&& readUInt16(hdl, blockInfo.hdr.s0) && readUInt32(hdl, blockInfo.hdr.s2)
&& readUInt32(hdl, blockInfo.hdr.s6) && readUInt32(hdl, blockInfo.hdr.sa)
&& readUInt16(hdl, blockInfo.hdr.se) && readUInt8(hdl, blockInfo.hdr.s10)
&& readUInt8(hdl, blockInfo.hdr.s11) && readUInt8(hdl, blockInfo.hdr.s12)))
return false;
return true;
}
bool NODFile::blockInfo(Handle &hdl, quint32 blockId, BlockInfo &blockInfo) const
{
quint32 blockOffset;
quint32 offset = _indexRecordSize * blockId + _indexOffset;
quint32 offsetSize = (_indexFlags & 3) + 1;
if (offset > _indexOffset + _indexSize)
return false;
if (!(seek(hdl, offset) && readVUInt32(hdl, offsetSize, blockOffset)))
return false;
return readBlock(hdl, blockOffset << _blockShift, blockInfo);
}
bool NODFile::linkInfo(Handle &hdl, const BlockInfo &blockInfo, quint32 linkId,
LinkInfo &linkInfo) const
{
if (linkId >= blockInfo.hdr.s10)
return false;
quint32 infoOffset = ((blockInfo.hdr.se * linkId) >> 3) + 0x13
+ ((blockInfo.hdr.s0 >> 0xb) & 1) + blockInfo.offset + _blockOffset;
quint32 s1 = ((blockInfo.hdr.s0 >> 2) & 0x1f) + 8;
quint32 s2 = (blockInfo.hdr.s0 >> 7) & 0xf;
quint32 skip = (blockInfo.hdr.se * linkId) & 7;
if (infoOffset > _blockOffset + _blockSize || infoOffset < blockInfo.offset)
return false;
if (!seek(hdl, infoOffset))
return false;
quint32 unused, flags;
BitStream1 bs(*this, hdl, _blockOffset + _blockSize - infoOffset);
if (!(bs.read(skip, unused) && bs.read(0xc, flags)))
return false;
linkInfo.flags = ((flags << 8) & 0xf0000) | (flags & 0xff);
if (!(flags << 8 & 0x10000)) {
if (!bs.read(s1, linkInfo.linkOffset))
return false;
} else {
if (!bs.read(s1 - s2, linkInfo.linkOffset))
return false;
linkInfo.linkOffset += blockInfo.hdr.sa;
}
if (!bs.read(s2, linkInfo.nodeOffset))
return false;
linkInfo.nodeOffset = (blockInfo.offset - linkInfo.nodeOffset)
>> _nodeShift;
return true;
}
bool NODFile::nodeInfo(Handle &hdl, const BlockInfo &blockInfo,
quint32 nodeOffset, NodeInfo &nodeInfo) const
{
quint32 infoOffset = (nodeOffset << _nodeShift) + _blockOffset;
if (infoOffset > _blockOffset + _blockSize || infoOffset < blockInfo.offset)
return false;
if (!seek(hdl, infoOffset))
return false;
BitStream1 bs(*this, hdl, _blockOffset + _blockSize - infoOffset);
if (!bs.read(8, nodeInfo.flags))
return false;
if ((nodeInfo.flags & 7) >= ARRAY_SIZE(LLBITS))
return false;
quint8 lonBits = LLBITS[nodeInfo.flags & 7].lon;
quint8 latBits = LLBITS[nodeInfo.flags & 7].lat;
quint8 maxBits = ((_flags >> 10) & 7) | 0x18;
quint32 lon, lat;
if (!(bs.read(lonBits, lon) && bs.read(latBits, lat)))
return false;
quint8 lonShift = 0x20 - lonBits;
quint8 latShift = 0x20 - latBits;
quint8 shift = 0x20 - maxBits;
QPoint pos((((int)(lon << lonShift) >> lonShift) << shift)
+ blockInfo.hdr.s2, (((int)(lat << latShift) >> latShift) << shift)
+ blockInfo.hdr.s6);
nodeInfo.bytes = ((lonBits + latBits) >> 3) + 1;
if ((maxBits < 0x1c) && (nodeInfo.flags & 8)) {
quint8 extraBits = 0x1c - maxBits;
quint32 extraLon, extraLat;
if (!(bs.read(extraBits, extraLon) && bs.read(extraBits, extraLat)))
return false;
pos.setX(pos.x() | extraLon << 4); pos.setY(pos.y() | extraLat << 4);
nodeInfo.bytes++;
}
// TODO?: extra bits
nodeInfo.pos = pos;
nodeInfo.flags &= 0xf8;
return true;
}
bool NODFile::nodeOffset(Handle &hdl, const BlockInfo &blockInfo,
quint8 nodeId, quint32 &nodeOffset) const
{
if (nodeId >= blockInfo.hdr.s11)
return false;
quint32 offset = ((blockInfo.hdr.s10 * blockInfo.hdr.se + 7) >> 3)
+ 0x13 + nodeId * 3 + _blockOffset + blockInfo.offset
+ ((blockInfo.hdr.s0 >> 0xb) & 1);
if (!(seek(hdl, offset) && readUInt24(hdl, nodeOffset)))
return false;
return true;
}
bool NODFile::nodeBlock(Handle &hdl, quint32 nodeOffset,
BlockInfo &blockInfo) const
{
int low = 0;
int high = _indexSize / _indexRecordSize - 1;
quint32 offsetSize = (_indexFlags & 3) + 1;
while (low <= high) {
quint32 m = ((low + high) / 2);
quint32 offset = _indexRecordSize * m + _indexOffset;
quint32 blockOffset, prevBlockOffset;
if (m > 0) {
if (!(seek(hdl, offset - _indexRecordSize)
&& readVUInt32(hdl, offsetSize, prevBlockOffset)
&& readVUInt32(hdl, offsetSize, blockOffset)))
return false;
} else {
if (!(seek(hdl, offset)
&& readVUInt32(hdl, offsetSize, blockOffset)))
return false;
prevBlockOffset = 0;
}
prevBlockOffset <<= _blockShift;
blockOffset <<= _blockShift;
if (blockOffset < nodeOffset)
low = m + 1;
else {
if (prevBlockOffset <= nodeOffset)
return readBlock(hdl, blockOffset, blockInfo);
else
high = m - 1;
}
}
return false;
}
bool NODFile::absAdjInfo(Handle &hdl, AdjacencyInfo &adj) const
{
quint32 infoOffset = (adj.nodeOffset << _nodeShift) + _blockOffset
+ adj.nodeInfo.bytes;
if (!seek(hdl, infoOffset))
return false;
BitStream1 bs(*this, hdl, _blockOffset + _blockSize - infoOffset);
quint8 linkId = adj.blockInfo.hdr.s10;
quint32 m2p = 2;
quint32 skip = 8;
quint32 flags;
quint32 nextOffset;
bool extraBit = (adj.nodeInfo.flags >> 6) & 1;
bool linkIdValid = true;
bool firstLoop = true;
do {
adj.flags = 0;
if (!bs.read(8, flags))
return false;
if (firstLoop) {
skip >>= (flags >> 5) & 1;
flags |= 0x20;
}
firstLoop = false;
quint32 f4 = flags & 0x10;
quint32 f4sn = (f4 >> 4) ^ 1;
quint32 m1 = (flags >> 5) & f4sn;
quint32 m2 = (f4 >> 3) | (f4sn & (flags >> 6));
if (m1) {
if (!bs.read(8, linkId))
return false;
linkIdValid = true;
}
if ((m2 != m2p) || (flags & 0x10) || m1) {
quint32 data;
if (!bs.read(skip, data))
return false;
}
if (!(flags & 0x10)) {
if (!adjDistInfo(bs, (m2 == 1 && linkIdValid), adj.flags))
return false;
NodeShift shift;
if (!adjNodeInfo(bs, extraBit, shift, adj.flags))
return false;
if (adj.flags & 2)
nextOffset = adj.nodeOffset + shift.offset;
else if (!nodeOffset(adj.extHdl, adj.blockInfo, shift.id, nextOffset))
return false;
m2p = m2;
}
if (flags & 0x8) {
quint32 data;
if (!bs.read(8, data))
return false;
if (!(data & 0xe0)) {
if (!bs.read(8, data))
return false;
}
}
if ((_flags & 0x18) && !skipOptAdjData(bs))
return false;
if ((m2 == 1) && linkIdValid) {
LinkInfo li;
if (adj.linkId == 0xFFFFFFFF) {
if (!linkInfo(adj.extHdl, adj.blockInfo, linkId, li))
return false;
} else
li.linkOffset = 0xFFFFFFFF;
if ((adj.linkOffset == li.linkOffset) || (adj.linkId == linkId)) {
adj.nodeOffset = nextOffset;
if (!(adj.flags & 2)) {
adj.linkId = 0xFFFFFFFF;
return nodeBlock(hdl, adj.nodeOffset << _nodeShift,
adj.blockInfo);
} else {
adj.linkId = linkId;
return true;
}
}
linkIdValid = false;
}
} while (!(flags & 0x80));
adj.nodeOffset = 0xFFFFFFFF;
return true;
}
bool NODFile::relAdjInfo(Handle &hdl, AdjacencyInfo &adj) const
{
quint32 infoOffset = (adj.nodeOffset << _nodeShift) + _blockOffset
+ adj.nodeInfo.bytes;
if (!seek(hdl, infoOffset))
return false;
BitStream1 bs(*this, hdl, _blockOffset + _blockSize - infoOffset);
quint32 linkId = adj.blockInfo.hdr.s10;
quint32 skip = 8;
quint32 flagsBits = 8;
quint32 flags;
quint32 nextOffset;
bool extraBit = (adj.nodeInfo.flags >> 6) & 1;
bool linkIdValid = true;
bool firstLoop = true;
do {
adj.flags = 0;
if (!bs.read(flagsBits, flags))
return false;
flags <<= (8U - flagsBits);
if (firstLoop) {
skip >>= (flags >> 5) & 1;
flags = ((flags >> 1) & 0x20) | (flags & 0xffffffdf);
}
firstLoop = false;
flagsBits >>= (flags >> 3) & 1;
quint32 m = (((flags & 0x70) == 0x30) << 1) | ((flags >> 6) & 1);
if (!m) {
adj.nodeOffset = 0xFFFFFFFF;
return true;
}
if ((flags & 0x60) == 0x60) {
if (!bs.read(8, linkId))
return false;
linkIdValid = true;
}
if (((flags & 0x70) == 0x70)) {
quint32 data;
if (!bs.read(skip, data))
return false;
}
if ((flags & 0x50) == 0x50) {
if (!adjDistInfo(bs, false, adj.flags))
return false;
adj.flags |= 1;
}
if ((flags >> 6) & 1) {
NodeShift shift;
if (!adjNodeInfo(bs, extraBit, shift, adj.flags))
return false;
if (adj.flags & 2)
nextOffset = adj.nodeOffset + shift.offset;
else if (!nodeOffset(adj.extHdl, adj.blockInfo, shift.id, nextOffset))
return false;
}
if ((_flags & 0x18) && !skipOptAdjData(bs))
return false;
if (((m == 1) && linkIdValid)) {
LinkInfo li;
if (adj.linkId == 0xFFFFFFFF) {
if (!linkInfo(adj.extHdl, adj.blockInfo, linkId, li))
return false;
} else
li.linkOffset = 0xFFFFFFFF;
if ((adj.linkOffset == li.linkOffset) || (adj.linkId == linkId)) {
adj.nodeOffset = nextOffset;
if (!(adj.flags & 2)) {
adj.linkId = 0xFFFFFFFF;
return nodeBlock(hdl, adj.nodeOffset << _nodeShift,
adj.blockInfo);
} else {
adj.linkId = linkId;
return true;
}
}
linkIdValid = false;
}
} while (!(flags & 0x80));
adj.nodeOffset = 0xFFFFFFFF;
return true;
}
int NODFile::nextNode(Handle &hdl, AdjacencyInfo &adjInfo)
{
if (adjInfo.nodeOffset == 0xFFFFFFFF)
return 1;
if (!nodeInfo(hdl, adjInfo.blockInfo, adjInfo.nodeOffset,
adjInfo.nodeInfo))
return -1;
if (!adjacencyInfo(hdl, adjInfo))
return -1;
return 0;
}
bool NODFile::linkType(Handle &hdl, const BlockInfo &blockInfo, quint8 linkId,
quint32 &type) const
{
quint32 offset = ((blockInfo.hdr.s10 * blockInfo.hdr.se + 7) >> 3) + 0x13
+ blockInfo.offset + _blockOffset + ((blockInfo.hdr.s0 >> 0xb) & 1)
+ blockInfo.hdr.s11 * 3;
quint32 low = 0;
quint32 high = blockInfo.hdr.s12 - 1;
quint32 pos;
quint16 val;
if (high > 1) {
do {
pos = (low + high) / 2;
if (!seek(hdl, offset + _blockRecordSize * pos))
return false;
if (!readUInt16(hdl, val))
return false;
quint32 tmp = pos;
if ((val >> 8) <= linkId) {
low = pos;
tmp = high;
}
high = tmp;
} while (low + 1 < high);
}
if (!seek(hdl, offset + _blockRecordSize * low))
return false;
if (!readUInt16(hdl, val))
return false;
type = val & 0x3f;
if ((low < high) && (pos != high)) {
if (!seek(hdl, offset + _blockRecordSize * high))
return false;
if (!readUInt16(hdl, val))
return false;
if ((val >> 8) <= linkId) {
type = (val & 0x3f);
}
}
type <<= 8;
return true;
}

98
src/map/IMG/nodfile.h Normal file
View File

@ -0,0 +1,98 @@
#ifndef NODFILE_H
#define NODFILE_H
#include "img.h"
#include "subfile.h"
class NODFile : public SubFile
{
public:
struct BlockInfo
{
quint32 offset;
struct
{
quint32 s2; // node lon base
quint32 s6; // node lat base
quint32 sa;
quint16 s0; // flags
quint16 se; // link info bit size
quint8 s10; // links count
quint8 s11; // nodes count
quint8 s12; // link types count
} hdr;
};
struct LinkInfo
{
quint32 linkOffset;
quint32 nodeOffset;
quint32 flags;
};
struct NodeInfo
{
QPoint pos;
quint8 flags;
quint8 bytes;
};
struct AdjacencyInfo
{
AdjacencyInfo(const SubFile *file, const BlockInfo &blockInfo,
quint32 linkId, const LinkInfo &linkInfo) : extHdl(file),
blockInfo(blockInfo), nodeOffset(linkInfo.nodeOffset),
linkOffset(linkInfo.linkOffset), linkId(linkId)
{}
Handle extHdl;
struct BlockInfo blockInfo;
struct NodeInfo nodeInfo;
quint32 nodeOffset;
quint32 linkOffset;
quint32 linkId;
quint8 flags;
};
NODFile(IMG *img) : SubFile(img), _indexOffset(0), _indexSize(0),
_indexFlags(0), _blockOffset(0), _blockSize(0), _indexRecordSize(0),
_blockRecordSize(0), _blockShift(0), _nodeShift(0) {}
NODFile(const QString &path) : SubFile(path), _indexOffset(0), _indexSize(0),
_indexFlags(0), _blockOffset(0), _blockSize(0), _indexRecordSize(0),
_blockRecordSize(0), _blockShift(0), _nodeShift(0) {}
NODFile(SubFile *gmp, quint32 offset) : SubFile(gmp, offset),
_indexOffset(0), _indexSize(0),_indexFlags(0), _blockOffset(0),
_blockSize(0), _indexRecordSize(0), _blockRecordSize(0), _blockShift(0),
_nodeShift(0) {}
quint32 indexIdSize(Handle &hdl);
bool blockInfo(Handle &hdl, quint32 blockId, BlockInfo &blockInfo) const;
bool linkInfo(Handle &hdl, const BlockInfo &blockInfo, quint32 linkId,
LinkInfo &linkInfo) const;
bool linkType(Handle &hdl, const BlockInfo &blockInfo, quint8 linkId,
quint32 &type) const;
int nextNode(Handle &hdl, AdjacencyInfo &adjInfo);
private:
bool init(Handle &hdl);
bool nodeInfo(Handle &hdl, const BlockInfo &blockInfo, quint32 nodeOffset,
NodeInfo &nodeInfo) const;
bool nodeOffset(Handle &hdl, const BlockInfo &blockInfo, quint8 nodeId,
quint32 &nodeOffset) const;
bool absAdjInfo(Handle &hdl, AdjacencyInfo &adj) const;
bool relAdjInfo(Handle &hdl, AdjacencyInfo &adj) const;
bool adjacencyInfo(Handle &hdl, AdjacencyInfo &adj) const
{
return (adj.nodeInfo.flags & 0x20) ? absAdjInfo(hdl, adj)
: relAdjInfo(hdl, adj);
}
bool nodeBlock(Handle &hdl, quint32 nodeOffset, BlockInfo &blockInfo) const;
bool readBlock(Handle &hdl, quint32 blockOffset, BlockInfo &blockInfo) const;
quint32 _indexOffset, _indexSize, _indexFlags, _blockOffset, _blockSize;
quint16 _indexRecordSize, _blockRecordSize;
quint8 _blockShift, _nodeShift;
quint32 _flags;
};
#endif // NETFILE_H

View File

@ -1,13 +1,15 @@
#include <cstring>
#include "common/rectc.h"
#include "common/garmin.h"
#include "deltastream.h"
#include "huffmanstream.h"
#include "lblfile.h"
#include "netfile.h"
#include "nodfile.h"
#include "rgnfile.h"
#define MASK(bits) ((2U << ((bits) - 1U)) - 1U)
static quint64 pointId(const QPoint &pos, quint32 type, quint32 labelPtr)
{
quint64 id;
@ -49,11 +51,10 @@ bool RGNFile::skipClassFields(Handle &hdl) const
break;
}
return seek(hdl, hdl.pos() + rs);
return seek(hdl, pos(hdl) + rs);
}
bool RGNFile::skipLclFields(Handle &hdl, const quint32 flags[3],
SegmentType type) const
bool RGNFile::skipLclFields(Handle &hdl, const quint32 flags[3]) const
{
quint32 bitfield = 0xFFFFFFFF;
@ -61,34 +62,38 @@ bool RGNFile::skipLclFields(Handle &hdl, const quint32 flags[3],
if (!readVBitfield32(hdl, bitfield))
return false;
for (int i = 0; i < 29; i++) {
for (int i = 0, j = 0; i < 29; i++) {
if ((flags[0] >> i) & 1) {
if (bitfield & 1) {
quint32 m = flags[(i >> 4) + 1] >> ((i * 2) & 0x1e) & 3;
switch (i) {
case 5:
if (m == 1 && type == Point) {
quint16 u16;
if (!readUInt16(hdl, u16))
return false;
}
break;
default:
break;
}
quint32 m = flags[(j >> 4) + 1] >> ((j * 2) & 0x1e) & 3;
quint32 skip = 0;
if (m == 3) {
if (!readVUInt32(hdl, skip))
return false;
} else
skip = m + 1;
if (!seek(hdl, pos(hdl) + skip))
return false;
}
bitfield >>= 1;
j++;
}
}
return true;
}
void RGNFile::clearFlags()
bool RGNFile::skipGblFields(Handle &hdl, quint32 flags) const
{
memset(_polygonsFlags, 0, sizeof(_polygonsFlags));
memset(_linesFlags, 0, sizeof(_linesFlags));
memset(_pointsFlags, 0, sizeof(_pointsFlags));
int cnt = 0;
do {
cnt = cnt + (flags & 3);
flags = flags >> 2;
} while (flags != 0);
return seek(hdl, pos(hdl) + cnt);
}
bool RGNFile::init(Handle &hdl)
@ -102,14 +107,20 @@ bool RGNFile::init(Handle &hdl)
if (hdrLen >= 0x68) {
if (!(readUInt32(hdl, _polygonsOffset) && readUInt32(hdl, _polygonsSize)
&& seek(hdl, _gmpOffset + 0x2D) && readUInt32(hdl, _polygonsFlags[0])
&& readUInt32(hdl, _polygonsFlags[1]) && readUInt32(hdl, _polygonsFlags[2])
&& seek(hdl, _gmpOffset + 0x29) && readUInt32(hdl, _polygonsGblFlags)
&& readUInt32(hdl, _polygonsLclFlags[0])
&& readUInt32(hdl, _polygonsLclFlags[1])
&& readUInt32(hdl, _polygonsLclFlags[2])
&& readUInt32(hdl, _linesOffset) && readUInt32(hdl, _linesSize)
&& seek(hdl, _gmpOffset + 0x49) && readUInt32(hdl, _linesFlags[0])
&& readUInt32(hdl, _linesFlags[1]) && readUInt32(hdl, _linesFlags[2])
&& seek(hdl, _gmpOffset + 0x45) && readUInt32(hdl, _linesGblFlags)
&& readUInt32(hdl, _linesLclFlags[0])
&& readUInt32(hdl, _linesLclFlags[1])
&& readUInt32(hdl, _linesLclFlags[2])
&& readUInt32(hdl, _pointsOffset) && readUInt32(hdl, _pointsSize)
&& seek(hdl, _gmpOffset + 0x65) && readUInt32(hdl, _pointsFlags[0])
&& readUInt32(hdl, _pointsFlags[1]) && readUInt32(hdl, _pointsFlags[2])))
&& seek(hdl, _gmpOffset + 0x61) && readUInt32(hdl, _pointsGblFlags)
&& readUInt32(hdl, _pointsLclFlags[0])
&& readUInt32(hdl, _pointsLclFlags[1])
&& readUInt32(hdl, _pointsLclFlags[2])))
return false;
}
@ -147,7 +158,7 @@ bool RGNFile::polyObjects(Handle &hdl, const SubDiv *subdiv,
qint16 lon, lat;
quint16 len;
while (hdl.pos() < (int)segment.end()) {
while (pos(hdl) < segment.end()) {
IMG::Poly poly;
if (!(readUInt8(hdl, type) && readUInt24(hdl, labelPtr)
@ -222,7 +233,7 @@ bool RGNFile::extPolyObjects(Handle &hdl, const SubDiv *subdiv, quint32 shift,
if (!seek(hdl, segment.offset()))
return false;
while (hdl.pos() < (int)segment.end()) {
while (pos(hdl) < segment.end()) {
IMG::Poly poly;
QPoint pos;
@ -230,6 +241,7 @@ bool RGNFile::extPolyObjects(Handle &hdl, const SubDiv *subdiv, quint32 shift,
&& readInt16(hdl, lon) && readInt16(hdl, lat)
&& readVUInt32(hdl, len)))
return false;
Q_ASSERT(SubFile::pos(hdl) + len <= segment.end());
poly.type = 0x10000 | (quint16(type)<<8) | (subtype & 0x1F);
labelPtr = 0;
@ -239,8 +251,10 @@ bool RGNFile::extPolyObjects(Handle &hdl, const SubDiv *subdiv, quint32 shift,
LS(subdiv->lat(), 8) + LS(lat, (32-subdiv->bits())));
qint32 lonDelta, latDelta;
HuffmanStream stream(*this, hdl, len, _huffmanTable,
segmentType == Line);
BitStream4F bs(*this, hdl, len);
HuffmanStreamF stream(bs, _huffmanTable);
if (!stream.init(segmentType == Line))
return false;
if (shift) {
if (!stream.readOffset(lonDelta, latDelta))
@ -298,7 +312,11 @@ bool RGNFile::extPolyObjects(Handle &hdl, const SubDiv *subdiv, quint32 shift,
if (subtype & 0x80 && !skipClassFields(hdl))
return false;
if (subtype & 0x40 && !skipLclFields(hdl, segmentType == Line
? _linesFlags : _polygonsFlags, segmentType))
? _linesLclFlags : _polygonsLclFlags))
return false;
quint32 gblFlags = (segmentType == Line)
? _linesGblFlags : _polygonsGblFlags;
if (gblFlags && !skipGblFields(hdl, gblFlags))
return false;
if (lbl && (labelPtr & 0x3FFFFF))
@ -317,12 +335,13 @@ bool RGNFile::pointObjects(Handle &hdl, const SubDiv *subdiv,
const SubDiv::Segment &segment = (segmentType == IndexedPoint)
? subdiv->idxPoints() : subdiv->points();
if (!segment.isValid())
return true;
if (!seek(hdl, segment.offset()))
return false;
while (hdl.pos() < (int)segment.end()) {
while (pos(hdl) < segment.end()) {
IMG::Point point;
quint8 type, subtype;
qint16 lon, lat;
@ -365,7 +384,7 @@ bool RGNFile::extPointObjects(Handle &hdl, const SubDiv *subdiv, LBLFile *lbl,
if (!seek(hdl, segment.offset()))
return false;
while (hdl.pos() < (int)segment.end()) {
while (pos(hdl) < segment.end()) {
IMG::Point point;
qint16 lon, lat;
quint8 type, subtype;
@ -379,7 +398,9 @@ bool RGNFile::extPointObjects(Handle &hdl, const SubDiv *subdiv, LBLFile *lbl,
return false;
if (subtype & 0x80 && !skipClassFields(hdl))
return false;
if (subtype & 0x40 && !skipLclFields(hdl, _pointsFlags, Point))
if (subtype & 0x40 && !skipLclFields(hdl, _pointsLclFlags))
return false;
if (_pointsGblFlags && !skipGblFields(hdl, _pointsGblFlags))
return false;
QPoint pos(subdiv->lon() + LS(lon, 24-subdiv->bits()),
@ -403,6 +424,87 @@ bool RGNFile::extPointObjects(Handle &hdl, const SubDiv *subdiv, LBLFile *lbl,
return true;
}
bool RGNFile::links(Handle &hdl, const SubDiv *subdiv, quint32 shift,
NETFile *net, Handle &netHdl, NODFile *nod, Handle &nodHdl, LBLFile *lbl,
Handle &lblHdl, QList<IMG::Poly> *lines) const
{
quint32 size, blockIndexIdSize, blockIndexId;
quint8 flags;
const SubDiv::Segment &segment = subdiv->roadReferences();
if (!segment.isValid())
return true;
if (!seek(hdl, segment.offset()))
return false;
if (!net || !nod)
return false;
if (!(blockIndexIdSize = nod->indexIdSize(nodHdl)))
return false;
while (pos(hdl) < segment.end()) {
if (!readVUInt32(hdl, size))
return false;
quint32 entryStart = pos(hdl);
if (!(readUInt8(hdl, flags) && readVUInt32(hdl, blockIndexIdSize,
blockIndexId)))
return false;
quint8 bits[3];
for (int i = 0; i < 3; i++)
bits[i] = 0x4000a08 >> (((flags >> (2*i) & 3) << 3) ^ 0x10);
quint8 byteSize = ((bits[0] + bits[1] + bits[2]) + 7) >> 3;
quint32 counts;
if (!readVUInt32(hdl, byteSize, counts))
return false;
quint16 b8 = bits[0] ? (MASK(bits[0]) & counts) + 1 : 0;
quint16 b10 = bits[1] ? (MASK(bits[1]) & (counts >> bits[0])) + 1 : 0;
quint16 b16 = bits[2] ? (MASK(bits[2]) & (counts >> (bits[0] + bits[1])))
+ 1 : 0;
NODFile::BlockInfo blockInfo;
if (!nod->blockInfo(nodHdl, blockIndexId, blockInfo))
return false;
quint8 linkId, lineId;
for (int i = 0; i < b8 + b10 + b16; i++) {
if (!b8 || b8 <= i) {
quint16 v16;
if (!readUInt16(hdl, v16))
return false;
if (!b16 || b8 + b16 <= i) {
int shift = ((i - (b8 + b16)) * 10) % 8;
linkId = (quint8)(v16 >> shift);
lineId = (((v16 >> shift) >> 8) & 3) + 1;
if (shift < 6 && i < b8 + b10 + b16 - 1)
seek(hdl, pos(hdl) - 1);
} else {
linkId = (quint8)v16;
lineId = v16 >> 8;
Q_ASSERT(lineId > 4);
}
} else {
if (!readUInt8(hdl, linkId))
return false;
lineId = 0;
}
net->link(subdiv, shift, netHdl, nod, nodHdl, lbl, lblHdl,
blockInfo, linkId, lineId, _huffmanTable, lines);
}
Q_ASSERT(entryStart + size == pos(hdl));
}
return true;
}
QMap<RGNFile::SegmentType, SubDiv::Segment> RGNFile::segments(Handle &hdl,
SubDiv *subdiv) const
{

View File

@ -8,6 +8,7 @@
class LBLFile;
class NETFile;
class NODFile;
class RGNFile : public SubFile
{
@ -23,15 +24,14 @@ public:
RGNFile(IMG *img)
: SubFile(img), _offset(0), _size(0), _polygonsOffset(0),
_polygonsSize(0), _linesOffset(0), _linesSize(0), _pointsOffset(0),
_pointsSize(0), _init(false) {clearFlags();}
_pointsSize(0), _init(false) {}
RGNFile(const QString &path)
: SubFile(path), _offset(0), _size(0), _polygonsOffset(0),
_polygonsSize(0), _linesOffset(0), _linesSize(0), _pointsOffset(0),
_pointsSize(0), _init(false) {clearFlags();}
_pointsSize(0), _init(false) {}
RGNFile(SubFile *gmp, quint32 offset) : SubFile(gmp, offset), _offset(0),
_size(0), _polygonsOffset(0), _polygonsSize(0), _linesOffset(0),
_linesSize(0), _pointsOffset(0), _pointsSize(0), _init(false)
{clearFlags();}
_linesSize(0), _pointsOffset(0), _pointsSize(0), _init(false) {}
bool initialized() const {return _init;}
bool init(Handle &hdl);
@ -46,29 +46,35 @@ public:
QList<IMG::Poly> *polys) const;
bool extPointObjects(Handle &hdl, const SubDiv *subdiv, LBLFile *lbl,
Handle &lblHdl, QList<IMG::Point> *points) const;
bool links(Handle &hdl, const SubDiv *subdiv, quint32 shift, NETFile *net,
Handle &netHdl, NODFile *nod, Handle &nodHdl, LBLFile *lbl, Handle &lblHdl,
QList<IMG::Poly> *lines) const;
bool subdivInit(Handle &hdl, SubDiv *subdiv) const;
private:
QMap<SegmentType, SubDiv::Segment> segments(Handle &hdl, SubDiv *subdiv)
const;
void clearFlags();
bool skipClassFields(Handle &hdl) const;
bool skipLclFields(Handle &hdl, const quint32 flags[3], SegmentType type)
bool skipLclFields(Handle &hdl, const quint32 flags[3])
const;
bool skipGblFields(Handle &hdl, quint32 flags) const;
quint32 _offset;
quint32 _size;
quint32 _polygonsOffset;
quint32 _polygonsSize;
quint32 _polygonsFlags[3];
quint32 _polygonsLclFlags[3];
quint32 _polygonsGblFlags;
quint32 _linesOffset;
quint32 _linesSize;
quint32 _linesFlags[3];
quint32 _linesLclFlags[3];
quint32 _linesGblFlags;
quint32 _pointsOffset;
quint32 _pointsSize;
quint32 _pointsFlags[3];
quint32 _pointsLclFlags[3];
quint32 _pointsGblFlags;
HuffmanTable _huffmanTable;

View File

@ -359,7 +359,7 @@ static bool skipLocalization(SubFile *file, SubFile::Handle &hdl)
len = len >> 2;
}
if (!file->seek(hdl, hdl.pos() + len))
if (!file->seek(hdl, file->pos(hdl) + len))
return false;
return true;

View File

@ -21,8 +21,9 @@ public:
quint32 _offset, _end;
};
SubDiv(quint32 offset, qint32 lon, qint32 lat, int bits, quint8 objects)
: _lon(lon), _lat(lat), _bits(bits), _init(false)
SubDiv(quint32 offset, qint32 lon, qint32 lat, quint8 level, quint8 bits,
quint8 objects) : _lon(lon), _lat(lat), _level(level), _bits(bits),
_init(false)
{
_tre.objects = objects;
_tre.offset = offset;
@ -78,6 +79,7 @@ public:
qint32 lon() const {return _lon;}
qint32 lat() const {return _lat;}
quint8 bits() const {return _bits;}
quint8 level() const {return _level;}
// Valid only after initialization
Segment points() const
@ -94,6 +96,8 @@ public:
{return Segment(_rgn.extLinesOffset, _rgn.extLinesEnd);}
Segment extPolygons() const
{return Segment(_rgn.extPolygonsOffset, _rgn.extPolygonsEnd);}
Segment roadReferences() const
{return Segment(_rgn.roadReferencesOffset, _rgn.roadReferencesEnd);}
// Valid only until initialization
quint8 objects() const {return _tre.objects;}
@ -142,6 +146,7 @@ private:
};
qint32 _lon, _lat;
quint8 _level;
quint8 _bits;
bool _init;
union {

View File

@ -3,26 +3,28 @@
#include "subfile.h"
#define mod2n(x, m) ((x) & ((m) - 1));
bool SubFile::seek(Handle &handle, quint32 pos) const
{
if (handle._file) {
int blockNum = pos / BLOCK_SIZE;
int blockNum = pos >> BLOCK_BITS;
if (handle._blockNum != blockNum) {
if (!handle._file->seek((qint64)blockNum * BLOCK_SIZE))
if (!handle._file->seek((quint64)blockNum << BLOCK_BITS))
return false;
if (handle._file->read(handle._data.data(), BLOCK_SIZE) < 0)
if (handle._file->read(handle._data.data(), (1<<BLOCK_BITS)) < 0)
return false;
handle._blockNum = blockNum;
}
handle._blockPos = pos % BLOCK_SIZE;
handle._blockPos = mod2n(pos, 1U<<BLOCK_BITS);
handle._pos = pos;
return true;
} else {
quint32 blockSize = _img->blockSize();
int blockNum = pos / blockSize;
quint32 blockBits = _img->blockBits();
int blockNum = pos >> blockBits;
if (handle._blockNum != blockNum) {
if (blockNum >= _blocks->size())
@ -32,7 +34,7 @@ bool SubFile::seek(Handle &handle, quint32 pos) const
handle._blockNum = blockNum;
}
handle._blockPos = pos % blockSize;
handle._blockPos = mod2n(pos, 1U<<blockBits);
handle._pos = pos;
return true;
@ -70,6 +72,22 @@ bool SubFile::readVUInt32(Handle &hdl, quint32 &val) const
return true;
}
bool SubFile::readVUInt32(Handle &hdl, quint32 bytes, quint32 &val) const
{
switch (bytes) {
case 1:
return readUInt8(hdl, val);
case 2:
return readUInt16(hdl, val);
case 3:
return readUInt24(hdl, val);
case 4:
return readUInt32(hdl, val);
default:
return false;
}
}
bool SubFile::readVBitfield32(Handle &hdl, quint32 &bitfield) const
{
quint8 bits;

View File

@ -6,12 +6,12 @@
#include "img.h"
#define BLOCK_SIZE 4096
#define BLOCK_BITS 12 /* 4096 bytes */
class SubFile
{
public:
enum Type {Unknown, TRE, RGN, LBL, NET, TYP, GMP};
enum Type {Unknown, TRE, RGN, LBL, NET, NOD, TYP, GMP};
class Handle
{
@ -22,14 +22,12 @@ public:
if (subFile && subFile->_path) {
_file = new QFile(*(subFile->_path));
_file->open(QIODevice::ReadOnly);
_data.resize(BLOCK_SIZE);
_data.resize(1U<<BLOCK_BITS);
} else if (subFile)
_data.resize(subFile->_img->blockSize());
_data.resize(1U<<subFile->_img->blockBits());
}
~Handle() {delete _file;}
int pos() const {return _pos;}
private:
friend class SubFile;
@ -57,6 +55,7 @@ public:
void addBlock(quint16 block) {_blocks->append(block);}
bool seek(Handle &handle, quint32 pos) const;
quint32 pos(Handle &handle) const {return handle._pos;}
template<typename T>
bool readUInt8(Handle &handle, T &val) const
@ -132,6 +131,7 @@ public:
}
bool readVUInt32(Handle &hdl, quint32 &val) const;
bool readVUInt32(Handle &hdl, quint32 bytes, quint32 &val) const;
bool readVBitfield32(Handle &hdl, quint32 &bitfield) const;
QString fileName() const {return _path ? *_path : _img->fileName();}
@ -142,7 +142,7 @@ protected:
private:
bool readByte(Handle &handle, quint8 &val) const
{
int blockSize = _img ? _img->blockSize() : BLOCK_SIZE;
int blockSize = _img ? 1U<<_img->blockBits() : 1U<<BLOCK_BITS;
val = handle._data.at(handle._blockPos++);
handle._pos++;
return (handle._blockPos >= blockSize)

View File

@ -70,14 +70,16 @@ bool TREFile::init()
return false;
if (hdrLen > 0x9A) {
// TRE7 info
// TRE7 info + flags
if (!(seek(hdl, _gmpOffset + 0x7C) && readUInt32(hdl, _extended.offset)
&& readUInt32(hdl, _extended.size)
&& readUInt16(hdl, _extended.itemSize)))
return false;
// flags
if (!(seek(hdl, _gmpOffset + 0x86) && readUInt32(hdl, _flags)))
&& readUInt16(hdl, _extended.itemSize) && readUInt32(hdl, _flags)))
return false;
} else {
_extended.offset = 0;
_extended.size = 0;
_extended.itemSize = 0;
_flags = 0;
}
// Tile levels
@ -120,15 +122,43 @@ bool TREFile::init()
return (_firstLevel >= 0);
}
int TREFile::readExtEntry(Handle &hdl, quint32 &polygons, quint32 &lines,
quint32 &points)
{
int rb = 0;
if (_flags & 1) {
if (!readUInt32(hdl, polygons))
return -1;
rb += 4;
} else
polygons = 0;
if (_flags & 2) {
if (!readUInt32(hdl, lines))
return -1;
rb += 4;
} else
lines = 0;
if (_flags & 4) {
if (!readUInt32(hdl, points))
return -1;
rb += 4;
} else
points = 0;
return rb;
}
bool TREFile::load(int idx)
{
Handle hdl(this);
QList<SubDiv*> sl;
SubDiv *s = 0;
SubDivTree *tree = new SubDivTree();
const MapLevel &level = _levels.at(idx);
_subdivs.insert(_levels.at(idx).bits, tree);
_subdivs.insert(level.bits, tree);
quint32 skip = 0;
for (int i = 0; i < idx; i++)
@ -137,7 +167,7 @@ bool TREFile::load(int idx)
if (!seek(hdl, _subdivOffset + skip * 16))
return false;
for (int j = 0; j < _levels.at(idx).subdivs; j++) {
for (int j = 0; j < level.subdivs; j++) {
quint32 oo;
qint32 lon, lat, width, height;
quint16 nextLevel;
@ -156,10 +186,10 @@ bool TREFile::load(int idx)
s->setEnd(offset);
width &= 0x7FFF;
width = LS(width, 24 - _levels.at(idx).bits);
height = LS(height, 24 - _levels.at(idx).bits);
width = LS(width, 24 - level.bits);
height = LS(height, 24 - level.bits);
s = new SubDiv(offset, lon, lat, _levels.at(idx).bits, objects);
s = new SubDiv(offset, lon, lat, level.level, level.bits, objects);
sl.append(s);
double min[2], max[2];
@ -184,36 +214,31 @@ bool TREFile::load(int idx)
// Objects with extended types (TRE7)
if (_extended.size && _extended.itemSize >= 12) {
/* Some maps skip entries for the inherited levels, some don't. Our
decision is based on the difference between the extended subdivs
count and the total subdivs count. */
if (_extended.size && _extended.itemSize) {
quint32 totalSubdivs = 0;
for (int i = 0; i < _levels.size(); i++)
totalSubdivs += _levels.at(i).subdivs;
quint32 extendedSubdivs = _extended.size / _extended.itemSize;
quint32 diff = totalSubdivs - extendedSubdivs + 1;
quint32 polygons, lines, points;
if (!seek(hdl, _extended.offset + (skip - diff) * _extended.itemSize))
goto error;
quint32 polygons, lines, points;
int rb;
for (int i = 0; i < sl.size(); i++) {
if (!(readUInt32(hdl, polygons) && readUInt32(hdl, lines)
&& readUInt32(hdl, points)))
if ((rb = readExtEntry(hdl, polygons, lines, points)) < 0)
goto error;
sl.at(i)->setExtOffsets(polygons, lines, points);
if (i)
sl.at(i-1)->setExtEnds(polygons, lines, points);
if (!seek(hdl, hdl.pos() + _extended.itemSize - 12))
if (!seek(hdl, pos(hdl) + _extended.itemSize - rb))
goto error;
}
if (idx != _levels.size() - 1) {
if (!(readUInt32(hdl, polygons) && readUInt32(hdl, lines)
&& readUInt32(hdl, points)))
if (readExtEntry(hdl, polygons, lines, points) < 0)
goto error;
sl.last()->setExtEnds(polygons, lines, points);
}

View File

@ -46,9 +46,8 @@ private:
bool load(int idx);
int level(int bits, bool baseMap);
bool parsePoly(Handle hdl, quint32 pos, const QMap<int, int> &level2bits,
QMap<quint32, int> &map);
bool parsePoints(Handle hdl, quint32 pos, const QMap<int, int> &level2bits);
int readExtEntry(Handle &hdl, quint32 &polygons, quint32 &lines,
quint32 &points);
friend QDebug operator<<(QDebug dbg, const MapLevel &level);

View File

@ -29,6 +29,8 @@ SubFile *VectorTile::file(SubFile::Type type)
return _lbl;
case SubFile::NET:
return _net;
case SubFile::NOD:
return _nod;
case SubFile::GMP:
return _gmp;
default:
@ -51,6 +53,9 @@ SubFile *VectorTile::addFile(IMG *img, SubFile::Type type)
case SubFile::NET:
_net = new NETFile(img);
return _net;
case SubFile::NOD:
_nod = new NODFile(img);
return _nod;
case SubFile::GMP:
_gmp = new SubFile(img);
return _gmp;
@ -74,6 +79,9 @@ SubFile *VectorTile::addFile(const QString &path, SubFile::Type type)
case SubFile::NET:
_net = new NETFile(path);
return _net;
case SubFile::NOD:
_nod = new NODFile(path);
return _nod;
case SubFile::GMP:
_gmp = new SubFile(path);
return _gmp;
@ -96,17 +104,18 @@ bool VectorTile::init()
bool VectorTile::initGMP()
{
SubFile::Handle hdl(_gmp);
quint32 tre, rgn, lbl, net;
quint32 tre, rgn, lbl, net, nod;
if (!(_gmp->seek(hdl, 0x19) && _gmp->readUInt32(hdl, tre)
&& _gmp->readUInt32(hdl, rgn) && _gmp->readUInt32(hdl, lbl)
&& _gmp->readUInt32(hdl, net)))
&& _gmp->readUInt32(hdl, net) && _gmp->readUInt32(hdl, nod)))
return false;
_tre = tre ? new TREFile(_gmp, tre) : 0;
_rgn = rgn ? new RGNFile(_gmp, rgn) : 0;
_lbl = lbl ? new LBLFile(_gmp, lbl) : 0;
_net = net ? new NETFile(_gmp, net) : 0;
_nod = nod ? new NODFile(_gmp, nod) : 0;
return true;
}
@ -115,7 +124,7 @@ void VectorTile::polys(const RectC &rect, int bits, bool baseMap,
QList<IMG::Poly> *polygons, QList<IMG::Poly> *lines,
QCache<const SubDiv *, IMG::Polys> *polyCache) const
{
SubFile::Handle rgnHdl(_rgn), lblHdl(_lbl), netHdl(_net);
SubFile::Handle rgnHdl(_rgn), lblHdl(_lbl), netHdl(_net), nodHdl(_nod);
if (!_rgn->initialized() && !_rgn->init(rgnHdl))
return;
@ -140,6 +149,8 @@ void VectorTile::polys(const RectC &rect, int bits, bool baseMap,
lblHdl, &p);
_rgn->extPolyObjects(rgnHdl, subdiv, shift, RGNFile::Line, _lbl,
lblHdl, &l);
_rgn->links(rgnHdl, subdiv, shift, _net, netHdl, _nod, nodHdl, _lbl,
lblHdl, &l);
copyPolys(rect, &p, polygons);
copyPolys(rect, &l, lines);

View File

@ -6,13 +6,15 @@
#include "rgnfile.h"
#include "lblfile.h"
#include "netfile.h"
#include "nodfile.h"
class VectorTile {
public:
VectorTile() : _tre(0), _rgn(0), _lbl(0), _net(0), _gmp(0) {}
VectorTile() : _tre(0), _rgn(0), _lbl(0), _net(0), _nod(0), _gmp(0) {}
~VectorTile()
{
delete _tre; delete _rgn; delete _lbl; delete _net; delete _gmp;
delete _tre; delete _rgn; delete _lbl; delete _net; delete _nod;
delete _gmp;
}
bool init();
@ -37,7 +39,7 @@ public:
{
return (type == SubFile::TRE || type == SubFile::LBL
|| type == SubFile::RGN || type == SubFile::NET
|| type == SubFile::GMP);
|| type == SubFile::NOD || type == SubFile::GMP);
}
private:
@ -47,6 +49,7 @@ private:
RGNFile *_rgn;
LBLFile *_lbl;
NETFile *_net;
NODFile *_nod;
SubFile *_gmp;
};

View File

@ -167,11 +167,6 @@ void IMGMap::ll2xy(QList<MapData::Point> &points)
}
}
static void render(RasterTile &tile)
{
tile.render();
}
void IMGMap::draw(QPainter *painter, const QRectF &rect, Flags flags)
{
Q_UNUSED(flags);
@ -224,7 +219,7 @@ void IMGMap::draw(QPainter *painter, const QRectF &rect, Flags flags)
}
}
QFuture<void> future = QtConcurrent::map(tiles, render);
QFuture<void> future = QtConcurrent::map(tiles, &RasterTile::render);
future.waitForFinished();
for (int i = 0; i < tiles.size(); i++) {

View File

@ -49,11 +49,6 @@ private:
#define META_TYPE(type) static_cast<QMetaType::Type>(type)
static void render(MBTile &tile)
{
tile.load();
}
static double index2mercator(int index, int zoom)
{
return rad2deg(-M_PI + 2 * M_PI * ((double)index / (1<<zoom)));
@ -314,7 +309,7 @@ void MBTilesMap::draw(QPainter *painter, const QRectF &rect, Flags flags)
}
}
QFuture<void> future = QtConcurrent::map(tiles, render);
QFuture<void> future = QtConcurrent::map(tiles, &MBTile::load);
future.waitForFinished();
for (int i = 0; i < tiles.size(); i++) {

View File

@ -41,11 +41,6 @@ private:
QImage _image;
};
static void render(TileImage &ti)
{
ti.load();
}
static QString quadKey(const QPoint &xy, int zoom)
{
QString qk;
@ -101,7 +96,7 @@ void TileLoader::loadTilesAsync(QVector<Tile> &list)
if (!dl.empty())
_downloader->get(dl, _authorization);
QFuture<void> future = QtConcurrent::map(imgs, render);
QFuture<void> future = QtConcurrent::map(imgs, &TileImage::load);
future.waitForFinished();
for (int i = 0; i < imgs.size(); i++) {
@ -153,7 +148,7 @@ void TileLoader::loadTilesSync(QVector<Tile> &list)
}
}
QFuture<void> future = QtConcurrent::map(imgs, render);
QFuture<void> future = QtConcurrent::map(imgs, &TileImage::load);
future.waitForFinished();
for (int i = 0; i < imgs.size(); i++)